Compare commits
No commits in common. "2a8a30add1342151348a797ef689fcf0ff311ab7" and "5fd775d855336c8a282b968426bdcccf84bb60bb" have entirely different histories.
2a8a30add1
...
5fd775d855
13 changed files with 55 additions and 418 deletions
|
@ -1,97 +0,0 @@
|
||||||
# https://github.com/SirPlease/L4D2-Competitive-Rework/blob/master/Dedicated%20Server%20Install%20Guide/README.md
|
|
||||||
|
|
||||||
getent passwd steam >/dev/null || useradd -M -d /opt/l4d2 -s /bin/bash steam
|
|
||||||
mkdir -p /opt/l4d2 /tmp/dumps
|
|
||||||
chown steam:steam /opt/l4d2 /tmp/dumps
|
|
||||||
dpkg --add-architecture i386
|
|
||||||
apt update
|
|
||||||
apt install libc6:i386 lib32z1
|
|
||||||
|
|
||||||
function steam() { sudo -Hiu steam $* }
|
|
||||||
|
|
||||||
# -- STEAM -- #
|
|
||||||
|
|
||||||
steam mkdir -p /opt/l4d2/steam
|
|
||||||
test -f /opt/l4d2/steam/steamcmd_linux.tar.gz || \
|
|
||||||
steam wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz -P /opt/l4d2/steam
|
|
||||||
test -f /opt/l4d2/steam/steamcmd.sh || \
|
|
||||||
steam tar -xvzf /opt/l4d2/steam/steamcmd_linux.tar.gz -C /opt/l4d2/steam
|
|
||||||
|
|
||||||
# fix: /opt/l4d2/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
|
|
||||||
steam mkdir -p /opt/l4d2/steam/.steam
|
|
||||||
test -f /opt/l4d2/steam/.steam/sdk32/steamclient.so || \
|
|
||||||
steam ln -s /opt/l4d2/steam/linux32 /opt/l4d2/steam/.steam/sdk32
|
|
||||||
|
|
||||||
# -- INSTALL -- #
|
|
||||||
|
|
||||||
# erst die windows deps zu installieren scheint ein workaround für x64 zu sein?
|
|
||||||
steam mkdir -p /opt/l4d2/installation
|
|
||||||
steam /opt/l4d2/steam/steamcmd.sh \
|
|
||||||
+force_install_dir /opt/l4d2/installation \
|
|
||||||
+login anonymous \
|
|
||||||
+@sSteamCmdForcePlatformType windows \
|
|
||||||
+app_update 222860 validate \
|
|
||||||
+quit
|
|
||||||
steam /opt/l4d2/steam/steamcmd.sh \
|
|
||||||
+force_install_dir /opt/l4d2/installation \
|
|
||||||
+login anonymous \
|
|
||||||
+@sSteamCmdForcePlatformType linux \
|
|
||||||
+app_update 222860 validate \
|
|
||||||
+quit
|
|
||||||
|
|
||||||
# -- OVERLAYS -- #
|
|
||||||
|
|
||||||
steam mkdir -p /opt/l4d2/overlays
|
|
||||||
|
|
||||||
# workshop downloader
|
|
||||||
steam wget -4 https://git.sublimity.de/cronekorkn/steam-workshop-downloader/raw/branch/master/steam-workshop-download -P /opt/l4d2
|
|
||||||
steam chmod +x /opt/l4d2/steam-workshop-download
|
|
||||||
|
|
||||||
# -- OVERLAY PVE -- #
|
|
||||||
|
|
||||||
steam mkdir -p /opt/l4d2/overlays/pve
|
|
||||||
|
|
||||||
# admin system
|
|
||||||
steam mkdir -p /opt/l4d2/overlays/pve/left4dead2/addons
|
|
||||||
steam /opt/l4d2/steam-workshop-download 2524204971 --out /opt/l4d2/overlays/pve/left4dead2/addons
|
|
||||||
steam mkdir -p "/opt/l4d2/overlays/pve/left4dead2/ems/admin system"
|
|
||||||
steam echo "STEAM_1:0:12376499" > "/opt/l4d2/overlays/pve/left4dead2/ems/admin system/admins.txt"
|
|
||||||
|
|
||||||
# ions vocalizer
|
|
||||||
steam /opt/l4d2/steam-workshop-download 698857882 --out /opt/l4d2/overlays/pve/left4dead2/addons
|
|
||||||
|
|
||||||
# -- OVERLAY ZONEMOD -- #
|
|
||||||
|
|
||||||
true
|
|
||||||
|
|
||||||
# -- SERVERS -- #
|
|
||||||
|
|
||||||
steam mkdir -p /opt/l4d2/servers
|
|
||||||
|
|
||||||
# -- SERVER PVE1 -- #
|
|
||||||
|
|
||||||
steam mkdir -p \
|
|
||||||
/opt/l4d2/servers/pve1 \
|
|
||||||
/opt/l4d2/servers/pve1/work \
|
|
||||||
/opt/l4d2/servers/pve1/upper \
|
|
||||||
/opt/l4d2/servers/pve1/merged
|
|
||||||
|
|
||||||
mount -t overlay overlay \
|
|
||||||
-o lowerdir=/opt/l4d2/overlays/pve:/opt/l4d2/installation,upperdir=/opt/l4d2/servers/pve1/upper,workdir=/opt/l4d2/servers/pve1/work \
|
|
||||||
/opt/l4d2/servers/pve1/merged
|
|
||||||
|
|
||||||
# run server
|
|
||||||
steam cat <<'EOF' > /opt/l4d2/servers/pve1/merged/left4dead2/cfg/server.cfg
|
|
||||||
hostname "CKNs Server"
|
|
||||||
motd_enabled 0
|
|
||||||
|
|
||||||
sv_steamgroup "38347879"
|
|
||||||
#sv_steamgroup_exclusive 0
|
|
||||||
|
|
||||||
sv_minrate 60000
|
|
||||||
sv_maxrate 0
|
|
||||||
net_splitpacket_maxrate 60000
|
|
||||||
|
|
||||||
sv_hibernate_when_empty 0
|
|
||||||
EOF
|
|
||||||
steam /opt/l4d2/servers/pve1/merged/srcds_run -game left4dead2 -ip 0.0.0.0 -port 27015 +map c1m1_hotel
|
|
|
@ -1,183 +0,0 @@
|
||||||
from shlex import quote
|
|
||||||
|
|
||||||
|
|
||||||
def steam_run(cmd):
|
|
||||||
return f'su - steam -c {quote(cmd)}'
|
|
||||||
|
|
||||||
|
|
||||||
users = {
|
|
||||||
'steam': {
|
|
||||||
'home': '/opt/steam',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
directories = {
|
|
||||||
'/opt/steam': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
'/opt/steam/.steam': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
'/opt/left4dead2': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
'/opt/left4dead2/left4dead2/ems/admin system': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
'/opt/left4dead2/left4dead2/addons': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
'/tmp/dumps': {
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
'mode': '1770',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
symlinks = {
|
|
||||||
'/opt/steam/.steam/sdk32': {
|
|
||||||
'target': '/opt/steam/linux32',
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
files = {
|
|
||||||
'/opt/steam-workshop-download': {
|
|
||||||
'content_type': 'download',
|
|
||||||
'source': 'https://git.sublimity.de/cronekorkn/steam-workshop-downloader/raw/branch/master/steam-workshop-download',
|
|
||||||
'mode': '755',
|
|
||||||
},
|
|
||||||
'/opt/left4dead2/left4dead2/ems/admin system/admins.txt': {
|
|
||||||
'unless': 'test -f /opt/left4dead2/left4dead2/ems/admin system/admins.txt',
|
|
||||||
'content': 'STEAM_1:0:12376499',
|
|
||||||
'owner': 'steam',
|
|
||||||
'group': 'steam',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
actions = {
|
|
||||||
'dpkg_add_architecture': {
|
|
||||||
'command': 'dpkg --add-architecture i386',
|
|
||||||
'unless': 'dpkg --print-foreign-architectures | grep -q i386',
|
|
||||||
'triggers': [
|
|
||||||
'action:apt_update',
|
|
||||||
],
|
|
||||||
'needed_by': [
|
|
||||||
'pkg_apt:libc6_i386',
|
|
||||||
],
|
|
||||||
},
|
|
||||||
'download_steam': {
|
|
||||||
'command': steam_run('wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz -P /opt/steam'),
|
|
||||||
'unless': steam_run('test -f /opt/steam/steamcmd_linux.tar.gz'),
|
|
||||||
'needs': {
|
|
||||||
'pkg_apt:libc6_i386',
|
|
||||||
'directory:/opt/steam',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
'extract_steamcmd': {
|
|
||||||
'command': steam_run('tar -xvzf /opt/steam/steamcmd_linux.tar.gz -C /opt/steam'),
|
|
||||||
'unless': steam_run('test -f /opt/steam/steamcmd.sh'),
|
|
||||||
'needs': {
|
|
||||||
'action:download_steam',
|
|
||||||
}
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for addon_id in [2524204971]:
|
|
||||||
actions[f'download-left4dead2-addon-{addon_id}'] = {
|
|
||||||
'command': steam_run(f'/opt/steam-workshop-download {addon_id} --out /opt/left4dead2/left4dead2/addons'),
|
|
||||||
'unless': steam_run(f'test -f /opt/left4dead2/left4dead2/addons/{addon_id}.vpk'),
|
|
||||||
'needs': {
|
|
||||||
'directory:/opt/left4dead2/left4dead2/addons',
|
|
||||||
},
|
|
||||||
'needed_by': {
|
|
||||||
'tag:left4dead2-servers',
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
svc_systemd = {
|
|
||||||
'left4dead2-install.service': {
|
|
||||||
'enabled': True,
|
|
||||||
'running': False,
|
|
||||||
'needs': {
|
|
||||||
'file:/usr/local/lib/systemd/system/left4dead2-install.service',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
for server_name, server_config in node.metadata.get('left4dead2/servers', {}).items():
|
|
||||||
svc_systemd[f'left4dead2-{server_name}.service'] = {
|
|
||||||
'enabled': True,
|
|
||||||
'running': True,
|
|
||||||
'tags': {
|
|
||||||
'left4dead2-servers',
|
|
||||||
},
|
|
||||||
'needs': {
|
|
||||||
'svc_systemd:left4dead2-install.service',
|
|
||||||
f'file:/usr/local/lib/systemd/system/left4dead2-{server_name}.service',
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# # https://github.com/SirPlease/L4D2-Competitive-Rework/blob/master/Dedicated%20Server%20Install%20Guide/README.md
|
|
||||||
|
|
||||||
# mkdir /opt/steam /tmp/dumps
|
|
||||||
# useradd -M -d /opt/steam -s /bin/bash steam
|
|
||||||
# chown steam:steam /opt/steam /tmp/dumps
|
|
||||||
# dpkg --add-architecture i386
|
|
||||||
# apt update
|
|
||||||
# apt install libc6:i386 lib32z1
|
|
||||||
# sudo su - steam -s /bin/bash
|
|
||||||
|
|
||||||
# #--------
|
|
||||||
|
|
||||||
# wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
|
|
||||||
# tar -xvzf steamcmd_linux.tar.gz
|
|
||||||
|
|
||||||
# # fix: /opt/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
|
|
||||||
# mkdir /opt/steam/.steam && ln -s /opt/steam/linux32 /opt/steam/.steam/sdk32
|
|
||||||
|
|
||||||
# # erst die windows deps zu installieren scheint ein workaround für x64 zu sein?
|
|
||||||
# ./steamcmd.sh \
|
|
||||||
# +force_install_dir /opt/steam/left4dead2 \
|
|
||||||
# +login anonymous \
|
|
||||||
# +@sSteamCmdForcePlatformType windows \
|
|
||||||
# +app_update 222860 validate \
|
|
||||||
# +quit
|
|
||||||
# ./steamcmd.sh \
|
|
||||||
# +force_install_dir /opt/steam/left4dead2 \
|
|
||||||
# +login anonymous \
|
|
||||||
# +@sSteamCmdForcePlatformType linux \
|
|
||||||
# +app_update 222860 validate \
|
|
||||||
# +quit
|
|
||||||
|
|
||||||
# # download admin system
|
|
||||||
# wget -4 https://git.sublimity.de/cronekorkn/steam-workshop-downloader/raw/branch/master/steam-workshop-download
|
|
||||||
# chmod +x steam-workshop-download
|
|
||||||
# ./steam-workshop-download 2524204971 --out /opt/steam/left4dead2/left4dead2/addons
|
|
||||||
# mkdir -p "/opt/steam/left4dead2/left4dead2/ems/admin system"
|
|
||||||
# echo "STEAM_1:0:12376499" > "/opt/steam/left4dead2/left4dead2/ems/admin system/admins.txt"
|
|
||||||
|
|
||||||
# /opt/steam/left4dead2/srcds_run -game left4dead2 -ip 0.0.0.0 -port 27015 +map c1m1_hotel
|
|
||||||
|
|
||||||
|
|
||||||
# cat <<'EOF' > /opt/steam/left4dead2/left4dead2/cfg/server.cfg
|
|
||||||
# hostname "CKNs Server"
|
|
||||||
# motd_enabled 0
|
|
||||||
|
|
||||||
# sv_steamgroup "38347879"
|
|
||||||
# #sv_steamgroup_exclusive 0
|
|
||||||
|
|
||||||
# sv_minrate 60000
|
|
||||||
# sv_maxrate 0
|
|
||||||
# net_splitpacket_maxrate 60000
|
|
||||||
|
|
||||||
# sv_hibernate_when_empty 0
|
|
||||||
# EOF
|
|
|
@ -1,107 +0,0 @@
|
||||||
from re import match
|
|
||||||
|
|
||||||
defaults = {
|
|
||||||
'apt': {
|
|
||||||
'packages': {
|
|
||||||
'libc6_i386': {}, # installs libc6:i386
|
|
||||||
'lib32z1': {},
|
|
||||||
'unzip': {},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'left4dead2': {
|
|
||||||
'servers': {},
|
|
||||||
},
|
|
||||||
'nftables': {
|
|
||||||
'input': {
|
|
||||||
'udp dport { 27005, 27020 } accept',
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'nftables/input',
|
|
||||||
)
|
|
||||||
def nftables(metadata):
|
|
||||||
ports = sorted(str(config["port"]) for config in metadata.get('left4dead2/servers', {}).values())
|
|
||||||
|
|
||||||
return {
|
|
||||||
'nftables': {
|
|
||||||
'input': {
|
|
||||||
f'ip protocol {{ tcp, udp }} th dport {{ {", ".join(ports)} }} accept'
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'systemd/units',
|
|
||||||
)
|
|
||||||
def initial_unit(metadata):
|
|
||||||
install_command = (
|
|
||||||
'/opt/steam/steamcmd.sh '
|
|
||||||
'+force_install_dir /opt/left4dead2 '
|
|
||||||
'+login anonymous '
|
|
||||||
'+@sSteamCmdForcePlatformType {platform} '
|
|
||||||
'+app_update 222860 validate '
|
|
||||||
'+quit '
|
|
||||||
)
|
|
||||||
|
|
||||||
return {
|
|
||||||
'systemd': {
|
|
||||||
'units': {
|
|
||||||
'left4dead2-install.service': {
|
|
||||||
'Unit': {
|
|
||||||
'Description': 'install or update left4dead2',
|
|
||||||
'After': 'network-online.target',
|
|
||||||
},
|
|
||||||
'Service': {
|
|
||||||
'Type': 'oneshot',
|
|
||||||
'RemainAfterExit': 'yes',
|
|
||||||
'User': 'steam',
|
|
||||||
'Group': 'steam',
|
|
||||||
'WorkingDirectory': '/opt/steam',
|
|
||||||
'ExecStartPre': install_command.format(platform='windows'),
|
|
||||||
'ExecStart': install_command.format(platform='linux'),
|
|
||||||
},
|
|
||||||
'Install': {
|
|
||||||
'WantedBy': {'multi-user.target'},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@metadata_reactor.provides(
|
|
||||||
'systemd/units',
|
|
||||||
)
|
|
||||||
def server_units(metadata):
|
|
||||||
units = {}
|
|
||||||
|
|
||||||
for name, config in metadata.get('left4dead2/servers').items():
|
|
||||||
assert match(r'^[A-z0-9-_-]+$', name)
|
|
||||||
|
|
||||||
units[f'left4dead2-{name}.service'] = {
|
|
||||||
'Unit': {
|
|
||||||
'Description': f'left4dead2 server {name}',
|
|
||||||
'After': {'left4dead2-install.service'},
|
|
||||||
'Requires': {'left4dead2-install.service'},
|
|
||||||
},
|
|
||||||
'Service': {
|
|
||||||
'User': 'steam',
|
|
||||||
'Group': 'steam',
|
|
||||||
'WorkingDirectory': '/opt/left4dead2',
|
|
||||||
'ExecStart': f'/opt/left4dead2/srcds_run -port {config["port"]} +exec server_{name}.cfg',
|
|
||||||
'Restart': 'on-failure',
|
|
||||||
},
|
|
||||||
'Install': {
|
|
||||||
'WantedBy': {'multi-user.target'},
|
|
||||||
},
|
|
||||||
}
|
|
||||||
|
|
||||||
return {
|
|
||||||
'systemd': {
|
|
||||||
'units': units,
|
|
||||||
},
|
|
||||||
}
|
|
55
bundles/steam/README.md
Normal file
55
bundles/steam/README.md
Normal file
|
@ -0,0 +1,55 @@
|
||||||
|
# https://github.com/SirPlease/L4D2-Competitive-Rework/blob/master/Dedicated%20Server%20Install%20Guide/README.md
|
||||||
|
|
||||||
|
mkdir /opt/steam /tmp/dumps
|
||||||
|
useradd -M -d /opt/steam -s /bin/bash steam
|
||||||
|
chown steam:steam /opt/steam /tmp/dumps
|
||||||
|
dpkg --add-architecture i386
|
||||||
|
apt update
|
||||||
|
apt install libc6:i386 lib32z1
|
||||||
|
sudo su - steam -s /bin/bash
|
||||||
|
|
||||||
|
#--------
|
||||||
|
|
||||||
|
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
|
||||||
|
tar -xvzf steamcmd_linux.tar.gz
|
||||||
|
|
||||||
|
# fix: /opt/steam/.steam/sdk32/steamclient.so: cannot open shared object file: No such file or directory
|
||||||
|
mkdir /opt/steam/.steam && ln -s /opt/steam/linux32 /opt/steam/.steam/sdk32
|
||||||
|
|
||||||
|
# erst die windows deps zu installieren scheint ein workaround für x64 zu sein?
|
||||||
|
./steamcmd.sh \
|
||||||
|
+force_install_dir /opt/steam/left4dead2 \
|
||||||
|
+login anonymous \
|
||||||
|
+@sSteamCmdForcePlatformType windows \
|
||||||
|
+app_update 222860 validate \
|
||||||
|
+quit
|
||||||
|
./steamcmd.sh \
|
||||||
|
+force_install_dir /opt/steam/left4dead2 \
|
||||||
|
+login anonymous \
|
||||||
|
+@sSteamCmdForcePlatformType linux \
|
||||||
|
+app_update 222860 validate \
|
||||||
|
+quit
|
||||||
|
|
||||||
|
# download admin system
|
||||||
|
wget -4 https://git.sublimity.de/cronekorkn/steam-workshop-downloader/raw/branch/master/steam-workshop-download
|
||||||
|
chmod +x steam-workshop-download
|
||||||
|
./steam-workshop-download 2524204971 --out /opt/steam/left4dead2/left4dead2/addons
|
||||||
|
mkdir -p "/opt/steam/left4dead2/left4dead2/ems/admin system"
|
||||||
|
echo "STEAM_1:0:12376499" > "/opt/steam/left4dead2/left4dead2/ems/admin system/admins.txt"
|
||||||
|
|
||||||
|
/opt/steam/left4dead2/srcds_run -game left4dead2 -ip 0.0.0.0 -port 27015 +map c1m1_hotel
|
||||||
|
|
||||||
|
|
||||||
|
cat <<'EOF' > /opt/steam/left4dead2/left4dead2/cfg/server.cfg
|
||||||
|
hostname "CKNs Server"
|
||||||
|
motd_enabled 0
|
||||||
|
|
||||||
|
sv_steamgroup "38347879"
|
||||||
|
#sv_steamgroup_exclusive 0
|
||||||
|
|
||||||
|
sv_minrate 60000
|
||||||
|
sv_maxrate 0
|
||||||
|
net_splitpacket_maxrate 60000
|
||||||
|
|
||||||
|
sv_hibernate_when_empty 0
|
||||||
|
EOF
|
|
@ -171,28 +171,6 @@
|
||||||
'version': '1.6.11',
|
'version': '1.6.11',
|
||||||
'installer': False,
|
'installer': False,
|
||||||
},
|
},
|
||||||
'sysctl': {
|
|
||||||
'net': {
|
|
||||||
'ipv4': {
|
|
||||||
'ip_forward': 1,
|
|
||||||
'conf': {
|
|
||||||
'default': {
|
|
||||||
'forwarding': 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'ipv6': {
|
|
||||||
'conf': {
|
|
||||||
'all': {
|
|
||||||
'forwarding': 1,
|
|
||||||
},
|
|
||||||
'default': {
|
|
||||||
'forwarding': 1,
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
},
|
|
||||||
'vm': {
|
'vm': {
|
||||||
'cores': 2,
|
'cores': 2,
|
||||||
'ram': 4096,
|
'ram': 4096,
|
||||||
|
|
|
@ -7,7 +7,6 @@
|
||||||
],
|
],
|
||||||
'bundles': [
|
'bundles': [
|
||||||
'wireguard',
|
'wireguard',
|
||||||
#'left4dead2',
|
|
||||||
],
|
],
|
||||||
'metadata': {
|
'metadata': {
|
||||||
'id': 'd5080b1a-b310-48be-bd5a-02cfcecf0c90',
|
'id': 'd5080b1a-b310-48be-bd5a-02cfcecf0c90',
|
||||||
|
@ -53,13 +52,5 @@
|
||||||
'udp dport { 27005, 27015, 27020 } accept',
|
'udp dport { 27005, 27015, 27020 } accept',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
# 'left4dead2': {
|
|
||||||
# 'servers': {
|
|
||||||
# 'One': {
|
|
||||||
# 'port': 27015,
|
|
||||||
# },
|
|
||||||
# },
|
|
||||||
# },
|
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue