Abans que comencis
Instal·leu SteamCMD
Instal·leu The Team Fortress 2 Server
Configuració
Executant el vostre servidor
Funcionant amb systemd
Notes finals
Aquest tutorial explica com configurar un servidor Team Fortress 2 a Arch Linux. Suposo que heu iniciat sessió amb un compte d'usuari no root que té accés sudo. Aquest tutorial utilitza AUR per crear paquets, i aquesta operació no s'ha de fer des del compte root.
Abans que comencis
És molt important que tingueu el multilibrepositori habilitat si i només si esteu en un servidor de 64 bits (amd64). Si no està habilitat, SteamCMD no es pot executar i ni tan sols podeu descarregar els fitxers del servidor. Per fer-ho, heu de deixar de comentar les línies següents a /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Si esteu a Arch de 32 bits (i686), podeu ignorar-ho amb seguretat.
Instal·leu SteamCMD
Hi ha un paquet AUR per a SteamCMD i és una de les maneres més fàcils d'instal·lar SteamCMD a Arch. Tot i això, hi ha un parell de coses estranyes:
- Tots els camins relatius són relatius a
/usr/share/steamcmd.
- Per actualitzar el propi SteamCMD, heu de ser root.
Si esteu en un servidor de 64 bits, heu d'instal·lar el paquet lib32-gcc-libs.
sudo pacman -Sy lib32-gcc-libs
Ara hem de construir el paquet. Amb curl, descarregueu el fitxer tarball del paquet.
curl -O http://media.steampowered.com/installer/steamcmd_linux.tar.gz
Un cop finalitzada la descàrrega, extreu i canvieu al directori creat.
tar -xvzf steamcmd.tar.gz
cd steamcmd
Ara, utilitzant makepkg, creeu el paquet.
makepkg -ci
Si no heu passat el -isenyalador a l'ordre makepkg, feu servir pacman per instal·lar-lo.
sudo pacman -U *.pkg.tar.xz
Ara teniu SteamCMD instal·lat i llest per descarregar el servidor Team Fortress 2.
Instal·leu The Team Fortress 2 Server
Aquesta guia utilitza un usuari independent per executar el servidor, de manera que crearem un nou usuari i un grup tf2 amb la seva pròpia carpeta d'inici a /var/lib.
sudo groupadd tf2
sudo mkdir /var/lib/tf2
sudo useradd -d /var/lib/tf2 -g tf2 -s /bin/bash tf2
sudo chown tf2.tf2 -R /var/lib/tf2
Ara cal instal·lar el servidor.
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
Un cop s'hagi acabat de descarregar, tindreu el servidor instal·lat.
Configuració
Tot i que podeu executar el servidor, s'hauria de fer alguna configuració perquè el servidor no sigui massa genèric. El fitxer principal on introduïm la configuració és el server.cfgfitxer. A continuació hi ha un server.cfgfitxer molt bàsic .
Per obrir/crear el fitxer, utilitzeu el vostre editor preferit. Aquí s'utilitza vim, però podeu utilitzar qualsevol editor de text com el nano.
sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg
Afegiu el següent. Podeu trobar més configuracions a la wiki de Team Fortress 2 i a la pàgina de desenvolupadors de Valve. Assegureu-vos de canviar alguns dels paràmetres segons les vostres necessitats.
hostname "Server Name"
rcon_password "password"
sv_password ""
sv_contact "email@example.com"
sv_tags ""
sv_region "255"
sv_lan "0"
exec banned_user.cfg
exec banned_ip.cfg
writeid
writeip
Executant el vostre servidor
Se sap que necessiteu un multiplexor com GNU Screen o tmux per executar el vostre servidor sense vigilància. Aquí farem servir tmux per executar el servidor, però si ho preferiu i sabeu com utilitzar la pantalla, no dubteu a utilitzar-lo.
Instal·leu tmux utilitzant pacman.
sudo pacman -Sy tmux
Podeu iniciar el servidor amb l'ordre següent. Podeu canviar el mapa i maxplayers si voleu.
sudo -u tf2 tmux new-session -d -s tf2-console -d '~tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
Si mai necessiteu connectar-vos a la consola, executeu el següent.
sudo -u tf2 tmux attach -t tf2-console
Pot deixar la consola de servidor escrivint CTRL + B després alliberar aquestes claus i després pressionant D .
Funcionant amb systemd
Executar el servidor amb systemd és convenient per molts motius. El principal és que el podeu iniciar quan s'iniciï el VPS. Això requereix escriure un script i una unitat systemd. Tot i que aquesta és una bona idea, és opcional .
El primer que cal escriure és l'script d'inici. Per crear l'script, utilitzeu el vostre editor preferit. Aquí s'utilitza vim, però podeu utilitzar qualsevol editor de text com el nano.
sudo -u tf2 vim ~tf2/server/tf2.sh
Afegiu el següent.
#!/bin/sh
USER=$2
if [ -z $2 ]; then
USER="tf2"
fi
case "$1" in
start)
sudo -u $ tmux new-session -d -s tf2-console -d '/var/lib/tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'
;;
stop)
sudo -u $ tmux send-keys -t tf2-console 'say Server shutting down in 10 seconds!' C-m
sleep 10
sudo -u $ tmux send-keys -t tf2-console 'quit' C-m
sleep 5
;;
*)
echo "Usage: $0 user"
esac
exit 0
Ara heu de fer la unitat systemd. Per crear la unitat, utilitzeu el vostre editor preferit. Aquí s'utilitza vim, però podeu utilitzar qualsevol editor de text com el nano.
sudo vim /usr/lib/systemd/system/tf2.service
Afegiu el següent.
[Unit]
Description=Team Fortress 2 Server (SRCDS)
After=local-fs.target network.target
[Service]
ExecStart=/var/lib/tf2/server/tf2.sh start
ExecStop=/var/lib/tf2/server/tf2.sh stop
Type=forking
[Install]
WantedBy=multi-user.target
Ara assegureu-vos que el tf2.shfitxer sigui executable.
sudo chmod +x ~tf2/server/tf2.sh
Després de tot això, podeu utilitzar systemctlper iniciar i aturar el servidor. També podeu utilitzar-lo per fer-lo començar a l'arrencada.
Començar:
sudo systemctl start tf2.service
Parar:
sudo systemctl stop tf2.service
Per reiniciar:
sudo systemctl restart tf2.service
Per habilitar a l'arrencada:
sudo systemctl enable tf2.service
Per desactivar a l'arrencada:
sudo systemctl disable tf2.service
Tot i que systemd gestiona l'inici i l'aturada del servidor, encara podeu accedir a la consola amb l'ordre següent:
sudo -u tf2 tmux attach -t tf2-console
Notes finals
SteamCMD s'instal·la en una àrea on només el root pot canviar els fitxers (vegeu la nota a "Instal·lar SteamCMD"). Si mai necessiteu actualitzar SteamCMD, només cal que executeu-lo com a root.
sudo steamcmd +quit
Si necessiteu actualitzar el servidor. Primer atureu el servidor i feu servir SteamCMD per actualitzar (utilitzant la mateixa ordre per instal·lar).
sudo systemctl stop tf2.service
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
sudo systemctl start tf2.service
Hi ha molts més temes de configuració que no es tracten en aquest tutorial. Si necessiteu més informació, consulteu la wiki de Team Fortress 2 i la wiki per a desenvolupadors de Valve.