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 || \ | ||||
|     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 | ||||
| then | ||||
|     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 | ||||
| fi | ||||
| # if ! test -f /opt/l4d2/overlays/competitive_rework/left4dead2/cfg/server_original.cfg | ||||
| # then | ||||
| #     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 | ||||
| # fi | ||||
| 
 | ||||
| # -- SERVERS -- # | ||||
| 
 | ||||
|  |  | |||
|  | @ -14,7 +14,7 @@ function steam() { | |||
| } | ||||
| 
 | ||||
| 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 \ | ||||
|   "/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" \ | ||||
|   "/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 = { | ||||
|     '/opt/l4d2/setup': { | ||||
|         'mode': '755', | ||||
|  | @ -7,6 +9,10 @@ files = { | |||
|     }, | ||||
|     '/opt/l4d2/start': { | ||||
|         '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'] = { | ||||
|         'enabled': True, | ||||
|         'running': True, | ||||
|  |  | |||
|  | @ -51,7 +51,7 @@ def server_units(metadata): | |||
| 
 | ||||
|         params = config.get("params", "") | ||||
|         if config.get("tickrate"): | ||||
|             params += f" -tickrate {config['tickrate']}" | ||||
|             params = f"-tickrate {config['tickrate']} " + params | ||||
| 
 | ||||
|         units[f'left4dead2-{name}.service'] = { | ||||
|             'Unit': { | ||||
|  |  | |||
|  | @ -41,6 +41,12 @@ | |||
|                 'overlay': 'competitive_rework', | ||||
|                 'port': 27017, | ||||
|                 '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': { | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue