zonemod autostart
This commit is contained in:
		
							parent
							
								
									891e29a362
								
							
						
					
					
						commit
						dc614483b5
					
				
					 5 changed files with 47 additions and 9 deletions
				
			
		|  | @ -132,11 +132,11 @@ steam mkdir -p /opt/l4d2/overlays/competitive_rework/left4dead2 | ||||||
| test -d /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/cfgogl || \ | test -d /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/cfgogl || \ | ||||||
|     curl -L https://github.com/SirPlease/L4D2-Competitive-Rework/archive/refs/heads/master.tar.gz | steam tar -xz --strip-components=1 -C /opt/l4d2/overlays/competitive_rework/left4dead2 |     curl -L https://github.com/SirPlease/L4D2-Competitive-Rework/archive/refs/heads/master.tar.gz | steam tar -xz --strip-components=1 -C /opt/l4d2/overlays/competitive_rework/left4dead2 | ||||||
| 
 | 
 | ||||||
| if ! test -f /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server_original.cfg | # if ! test -f /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server_original.cfg | ||||||
| then | # then | ||||||
|     steam mv /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server.cfg /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server_original.cfg | #     steam mv /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server.cfg /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server_original.cfg | ||||||
|     steam echo -e "exec server_original.cfg\nsm_forcematch zonemod" > /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server.cfg | #     steam echo -e "exec server_original.cfg\nsm_forcematch zonemod" > /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server.cfg | ||||||
| fi | # fi | ||||||
| 
 | 
 | ||||||
| # -- SERVERS -- # | # -- SERVERS -- # | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -14,7 +14,7 @@ function steam() { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| mountpoint -q "/opt/l4d2/servers/$name/merged" && umount "/opt/l4d2/servers/$name/merged" | mountpoint -q "/opt/l4d2/servers/$name/merged" && umount "/opt/l4d2/servers/$name/merged" | ||||||
| steam rm -rf "/opt/l4d2/servers/$name" | steam rm -rf "/opt/l4d2/servers/$name/work" "/opt/l4d2/servers/$name/upper" "/opt/l4d2/servers/$name/merged" | ||||||
| 
 | 
 | ||||||
| steam mkdir -p \ | steam mkdir -p \ | ||||||
|   "/opt/l4d2/servers/$name" \ |   "/opt/l4d2/servers/$name" \ | ||||||
|  | @ -26,4 +26,10 @@ mount -t overlay overlay \ | ||||||
|   -o "lowerdir=/opt/l4d2/overlays/$overlay:/opt/l4d2/installation,upperdir=/opt/l4d2/servers/$name/upper,workdir=/opt/l4d2/servers/$name/work" \ |   -o "lowerdir=/opt/l4d2/overlays/$overlay:/opt/l4d2/installation,upperdir=/opt/l4d2/servers/$name/upper,workdir=/opt/l4d2/servers/$name/work" \ | ||||||
|   "/opt/l4d2/servers/$name/merged" |   "/opt/l4d2/servers/$name/merged" | ||||||
| 
 | 
 | ||||||
| steam "/opt/l4d2/servers/$name/merged/srcds_run" -norestart -pidfile "/opt/l4d2/servers/$name/pid" -game left4dead2 -ip 0.0.0.0 -port "$port" $params +hostname "Crone_$name" +map c1m1_hotel | # TODO: pass config file paht instead of expecting it here | ||||||
|  | steam mv "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg" "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server_original.cfg" | ||||||
|  | steam touch "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg" | ||||||
|  | echo "exec server_original.cfg" > "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg" | ||||||
|  | cat "/opt/l4d2/servers/$name/server.cfg" >> "/opt/l4d2/servers/$name/merged/left4dead2/cfg/server.cfg" | ||||||
|  | 
 | ||||||
|  | steam "/opt/l4d2/servers/$name/merged/srcds_run" -norestart -pidfile "/opt/l4d2/servers/$name/pid" -game left4dead2 -ip 0.0.0.0 -port "$port" +hostname "Crone_$name" $params +map c1m1_hotel +exec server_wrapper | ||||||
|  | @ -1,3 +1,5 @@ | ||||||
|  | directories = {} | ||||||
|  | 
 | ||||||
| files = { | files = { | ||||||
|     '/opt/l4d2/setup': { |     '/opt/l4d2/setup': { | ||||||
|         'mode': '755', |         'mode': '755', | ||||||
|  | @ -7,6 +9,10 @@ files = { | ||||||
|     }, |     }, | ||||||
|     '/opt/l4d2/start': { |     '/opt/l4d2/start': { | ||||||
|         'mode': '755', |         'mode': '755', | ||||||
|  |         'triggers': { | ||||||
|  |             f'svc_systemd:left4dead2-{server_name}.service:restart' | ||||||
|  |                 for server_name in node.metadata.get('left4dead2').keys() | ||||||
|  |         }, | ||||||
|     }, |     }, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -21,7 +27,27 @@ svc_systemd = { | ||||||
|     }, |     }, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| for server_name in node.metadata.get('left4dead2').keys(): | for server_name, config in node.metadata.get('left4dead2').items(): | ||||||
|  |     directories[f'/opt/l4d2/servers/{server_name}'] = { | ||||||
|  |         'owner': 'steam', | ||||||
|  |         'mode': '755', | ||||||
|  |         'needed_by': { | ||||||
|  |             f'svc_systemd:left4dead2-{server_name}.service', | ||||||
|  |         }, | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     files[f'/opt/l4d2/servers/{server_name}/server.cfg'] = {# | ||||||
|  |         'content': '\n'.join(config.get('config', [])) + '\n', | ||||||
|  |         'owner': 'steam', | ||||||
|  |         'mode': '644', | ||||||
|  |         'needed_by': { | ||||||
|  |             f'svc_systemd:left4dead2-{server_name}.service', | ||||||
|  |         }, | ||||||
|  |         'triggers': { | ||||||
|  |             f'svc_systemd:left4dead2-{server_name}.service:restart', | ||||||
|  |         }, | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     svc_systemd[f'left4dead2-{server_name}.service'] = { |     svc_systemd[f'left4dead2-{server_name}.service'] = { | ||||||
|         'enabled': True, |         'enabled': True, | ||||||
|         'running': True, |         'running': True, | ||||||
|  |  | ||||||
|  | @ -51,7 +51,7 @@ def server_units(metadata): | ||||||
| 
 | 
 | ||||||
|         params = config.get("params", "") |         params = config.get("params", "") | ||||||
|         if config.get("tickrate"): |         if config.get("tickrate"): | ||||||
|             params += f" -tickrate {config['tickrate']}" |             params = f"-tickrate {config['tickrate']} " + params | ||||||
| 
 | 
 | ||||||
|         units[f'left4dead2-{name}.service'] = { |         units[f'left4dead2-{name}.service'] = { | ||||||
|             'Unit': { |             'Unit': { | ||||||
|  |  | ||||||
|  | @ -41,6 +41,12 @@ | ||||||
|                 'overlay': 'competitive_rework', |                 'overlay': 'competitive_rework', | ||||||
|                 'port': 27017, |                 'port': 27017, | ||||||
|                 'tickrate': '100', |                 'tickrate': '100', | ||||||
|  |                 'config': [ | ||||||
|  |                     'sm_forcematch zonemod', | ||||||
|  |                     'hostname server3_comp1_test', | ||||||
|  |                     'motd_enabled 0', | ||||||
|  |                     'rcon_password ' + vault.decrypt('encrypt$gAAAAABpAdZhxwJ47I1AXotuZmBvyZP1ecVTt9IXFkLI28JiVS74LKs9QdgIBz-FC-iXtIHHh_GVGxxKQZprn4UrXZcvZ57kCKxfHBs3cE2JiGnbWE8_mfs=').value, | ||||||
|  |                 ], | ||||||
|             }, |             }, | ||||||
|         }, |         }, | ||||||
|         'bind': { |         'bind': { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue