Le serveur Djudge! Team Fortress 2 tourne. Sur le serveur qui vous sert en ce moment ce billet.
Vu que c’est basé sur le moteur Source, j’imagine que tous les admins de CS:S savent déjà tout ça, mais j’ai un peu lutté, donc je résume.
On choppe Steam et on télécharge le serveur de TF. C’est gros, vu qu’on télécharge aussi Half-Life 2.
sudo mkdir /usr/local/steam
cd /usr/local/steam
sudo adduser steam
sudo chown steam /usr/local/steam
sudo su steam
wget http://www.steampowered.com/download/hldsupdatetool.bin
chmod +x hldsupdatetool.bin
./hldsupdatetool.bin
# tapez yes
chmod +x steam
./steam -command update -game "tf" -dir
il faut reprendre la dernière ligne plusieurs fois, parce qu’on se fait déconnecter.
Ensuite il faut ouvrir les ports du firewall.
J’utilise iptables-restore et iptables-save pour respectivement charger et dumper mes règles à partir de l’entrée standard.
Voici les règles que j’ajoute à mon fichier /etc/iptables.up.rules
#Source server
-A INPUT -p udp -m udp --dport 1200 -j ACCEPT
-A INPUT -p udp -m udp --dport 27000:27015 -j ACCEPT
-A INPUT -p udp -m udp --dport 27020 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27030:27039 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 27015 -j ACCEPT
# a placer avant cette ligne :
-A INPUT -j DROP
# et les autres DROP
Qu’on charge ensuite avec :
sudo iptables-restore < /etc/iptables.up.rules
Pour finir on lance le serveur :
cd /usr/local/steam/orangebox
./srcds_run -console -game tf +ip ip -port port +hostname "Mon serveur" +maxplayers 24 +map ctf_2fort
Le serveur doit indiquer à un moment qu’il se connecte sur les serveurs steam, et c’est bien.
Une fois qu’il est lancé, la console reste accessible pour donner des commandes (kick/ban user etc)
La liste des commandes peut être affiché avec :
cvarlist mp
# et
cvarlist sv
On peut les sauver dans un fichier log avec
cvarlist log listecvar.txt
Il est donc recommander de lancer le serveur dans un terminal virtuel comme `screen`.
screen
./srcds_run -console -game tf +ip ip -port port +hostname "Mon serveur" +maxplayers 24
Avec : control-a-d pour se déconnecter du terminal
et screen -r pour se ré-attacher au terminal.
Sources : le forum de http://www.teamfortress2.fr/