diff --git a/bundles/left4dead2/files/setup b/bundles/left4dead2/files/setup index 3241ee8..03603b3 100644 --- a/bundles/left4dead2/files/setup +++ b/bundles/left4dead2/files/setup @@ -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 -- # diff --git a/bundles/left4dead2/files/start b/bundles/left4dead2/files/start index b05fd40..f25d497 100644 --- a/bundles/left4dead2/files/start +++ b/bundles/left4dead2/files/start @@ -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 \ No newline at end of file +# 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 \ No newline at end of file diff --git a/bundles/left4dead2/items.py b/bundles/left4dead2/items.py index 8a9f6c7..faf22d0 100644 --- a/bundles/left4dead2/items.py +++ b/bundles/left4dead2/items.py @@ -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, diff --git a/bundles/left4dead2/metadata.py b/bundles/left4dead2/metadata.py index 16f2c9e..9e9a99d 100644 --- a/bundles/left4dead2/metadata.py +++ b/bundles/left4dead2/metadata.py @@ -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': { diff --git a/nodes/ovh.secondary.py b/nodes/ovh.secondary.py index dad2c9c..334b91f 100644 --- a/nodes/ovh.secondary.py +++ b/nodes/ovh.secondary.py @@ -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': {