Abans que comencis
Instal·leu SteamCMD
Instal·leu The Counter-Strike: Global Offensive Server
Configuració
Executant el vostre servidor
Funcionant amb systemd
Notes finals
Aquest tutorial explica com configurar un servidor Counter-Strike: Global Offensive a Arch Linux.
Aquest tutorial suposa que heu iniciat sessió amb un compte d'usuari estàndard i teniu privilegis sudo. Utilitzarem un compte d'usuari normal perquè la creació de paquets amb AUR no s'ha de fer des del compte root.
Abans que comencis
Si utilitzeu una versió de 64 bits d'Arch Linux, és molt important que tingueu el multilibrepositori habilitat. Si no està habilitat, SteamCMD no pot descarregar ni executar els fitxers del servidor de jocs. Per habilitar la multilibració, simplement elimineu el comentari de les línies següents a /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Això no s'aplica als sistemes Arch Linux de 32 bits.
Instal·leu SteamCMD
Hi ha un paquet AUR per a SteamCMD. És possiblement la manera més senzilla d'instal·lar SteamCMD a Arch. Tanmateix, hi ha algunes coses a tenir en compte al respecte:
- Tots els camins relatius són relatius a
/usr/share/steamcmd.
- Per actualitzar el propi SteamCMD, heu d'estar al compte 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 https://aur.archlinux.org/packages/st/steamcmd/steamcmd.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 l'ordre següent per instal·lar-lo.
sudo pacman -U *.pkg.tar.xz
Ara teniu SteamCMD instal·lat i llest per descarregar el servidor de Counter-Strike: Global Offensive.
Instal·leu The Counter-Strike: Global Offensive Server
Aquesta guia utilitza un usuari independent per executar el servidor, de manera que crearem un nou usuari i un grup csgo amb la seva pròpia carpeta d'inici a /var/lib.
sudo groupadd csgo
sudo mkdir /var/lib/csgo
sudo useradd -d /var/lib/csgo -g csgo -s /bin/bash csgo
sudo chown csgo.csgo -R /var/lib/csgo
Ara cal instal·lar el servidor.
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 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. Jo faig servir vim en aquest exemple.
sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg
Afegiu el següent. Podeu trobar més configuracions a la wiki del desenvolupador 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
Per executar el vostre servidor sense vigilància, necessitareu un multiplexor com GNU Screen o tmux . En aquest article, faré 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 si voleu. Si us plau, llegiu les "Notes finals" per obtenir més informació sobre els valors game_typei game_mode. Aquest exemple és per a un servidor casual clàssic.
sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
Si mai necessiteu connectar-vos a la consola, executeu el següent.
sudo -u csgo tmux attach -t csgo-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 csgo vim ~csgo/server/csgo.sh
Afegiu el següent i assegureu-vos de mirar la línia amb l'ordre d'inici, ja que té el mode de joc i el tipus.
#!/bin/sh
USER=$2
if [ -z $2 ]; then
USER="csgo"
fi
case "$1" in
start)
sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
;;
stop)
sudo -u $ tmux send-keys -t csgo-console 'say Server shutting down in 10 seconds!' C-m
sleep 10
sudo -u $ tmux send-keys -t csgo-console 'quit' C-m
sleep 5
;;
*)
echo "Usage: $0 user"
esac
exit 0
Ara heu de fer la unitat systemd.
sudo vim /usr/lib/systemd/system/csgo.service
Afegiu el següent.
[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target
[Service]
ExecStart=/var/lib/csgo/server/csgo.sh start
ExecStop=/var/lib/csgo/server/csgo.sh stop
Type=forking
[Install]
WantedBy=multi-user.target
Ara assegureu-vos que el csgo.shfitxer sigui executable.
sudo chmod +x ~csgo/server/csgo.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 csgo.service
Parar:
sudo systemctl stop csgo.service
Per reiniciar:
sudo systemctl restart csgo.service
Per habilitar a l'arrencada:
sudo systemctl enable csgo.service
Per desactivar a l'arrencada:
sudo systemctl disable csgo.service
Tot i que systemd gestiona l'inici i l'aturada del servidor, podeu accedir a la consola amb l'ordre següent.
sudo -u csgo tmux attach -t csgo-console
Notes finals
SteamCMD s'instal·la en una àrea on només el root pot canviar els fitxers (vegeu la nota a la secció "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 csgo.service
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
sudo systemctl start csgo.service
El mode de joc i el tipus de joc a l'ordre d'inici són importants en funció del tipus de servidor que vulgueu. Aquí teniu una taula ràpida dels valors possibles.
Game Mode | game_type | game_mode
Classic Casual | 0 | 0
Classic Competitive | 0 | 1
Arms Race | 1 | 0
Demolition | 1 | 1
Deathmatch | 1 | 2
Hi ha molts més temes de configuració no tractats en aquest tutorial. Si necessiteu més informació, consulteu la Wiki per a desenvolupadors de Valve.