Отлаживаем работу Steam сервера в Linux

Порты, используемые Steam

В общем случае данной конфигурации достаточно для нормального функционирования сервера Steam и связи его с другими сопутствующими службами (например Friends, Group Servers [ l4d2 ] и другими). Дополнительные правила могут понадобиться , если на одной системе запущены несколько экземпляров Steam (например 27016, 27017 и другие).

iptables -N SteamServers
iptables -I INPUT -j SteamServers
iptables -A SteamServers -p tcp -m tcp –dport 25565 -j ACCEPT
iptables -A SteamServers -p udp -m udp –dport 27000:27014 -j ACCEPT
iptables -A SteamServers -p tcp -m tcp –dport 27000:27014 -j ACCEPT
iptables -A SteamServers -p tcp -m tcp –dport 27016 -j ACCEPT
iptables -A SteamServers -p tcp -m tcp –dport 27030:27039 -j ACCEPT
iptables -A SteamServers -p udp -m udp –dport 27020 -j ACCEPT
iptables -A SteamServers -p udp -m udp –dport 27000:27015 -j ACCEPT
iptables -A SteamServers -p udp -m udp –dport 27015 -j ACCEPT
iptables -A SteamServers -p tcp -m tcp –dport 27015 -j ACCEPT
service iptables save

Update.sh

Скрипт, который помогает обновить все запущенные сервера.

#!/bin/bash
clear
echo -e "\nUpdating all HLDS Servers\n"
./steam -command update -game "Counter-Strike Source" -dir folder-name
./steam -command update -game "Counter-Strike Source" -dir folder-name
./steam -command update -game "Counter-Strike Source" -dir folder-name
echo -e "Done\nDone\nDone\n\n"

# /etc/rc3.d/S99gameservers

Скрипт, запускающий игровые сервера при старте системы. Запуск сервера от имени обычного пользователя /bin/su — USER — хороший тон, позволяет избежать потенциальных проблем с безопасностью системы:

#!/bin/bash
echo -e "Starting CSS Servers"
/bin/su - USER -c /path/to/startscript
/bin/su - USER -c /path/to/startscript
/bin/su - USER -c /path/to/startscript
/bin/su - USER -c /path/to/startscript
/bin/su - USER -c /path/to/startscript
echo "Done!"

start-game.sh

Пример скрипта, запускающего игровой сервер. Строка  «export RDTSC_FREQUENCY=2660.000000» указывает серверу значение, идентичное частоте ЦП, что позволяет избежать многих проблем с производительностью.

#!/bin/bash
clear
sleep 2
echo -e "\nStarting Server\n"
export RDTSC_FREQUENCY=2660.000000
screen -A -m -d -S SCREEN-NAME /absolute/path/to/srcds_run -console -game cstrike +map aim_ag_texture2 +maxplayers 14 +fps_max 2000 -autoupdate +ip  +port  -debug +autoupdate
echo -e "Server Started\n\n"

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *