Prije nego što počneš
Instalirajte SteamCMD
Instalirajte Counter-Strike: Global Offensive Server
Konfiguriranje
Pokretanje vašeg poslužitelja
Trčanje sa systemd
Završne napomene
Ovaj vodič objašnjava kako postaviti poslužitelj Counter-Strike: Global Offensive na Arch Linux.
Ovaj vodič pretpostavlja da ste se prijavili sa standardnim korisničkim računom i da imate sudo privilegije. Koristit ćemo normalan korisnički račun jer se izrada paketa s AUR-om ne bi trebala raditi s root računa.
Prije nego što počneš
Ako koristite 64-bitnu verziju Arch Linuxa, vrlo je važno da imate multilibomogućeno spremište. Ako nije omogućen, SteamCMD ne može preuzeti ili pokrenuti datoteke poslužitelja igara. Da biste omogućili multilib, jednostavno dekomentirajte sljedeće retke u /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Ovo se ne odnosi na 32-bitne Arch Linux sustave.
Instalirajte SteamCMD
Postoji AUR paket za SteamCMD. To je možda najlakši način za instaliranje SteamCMD-a na Arch. Ipak, treba napomenuti nekoliko stvari o tome:
- Svi relativni putevi su relativni za
/usr/share/steamcmd.
- Da biste nadogradili sam SteamCMD, morate biti na root računu.
Ako ste na 64-bitnom poslužitelju, morate instalirati paket lib32-gcc-libs.
sudo pacman -Sy lib32-gcc-libs
Sada moramo izgraditi paket. Koristeći curl, preuzmite tarball za paket.
curl -O https://aur.archlinux.org/packages/st/steamcmd/steamcmd.tar.gz
Nakon što preuzimanje završi, raspakirajte i prijeđite u kreirani direktorij.
tar -xvzf steamcmd.tar.gz
cd steamcmd
Sada, koristeći makepkg, napravite paket.
makepkg -ci
Ako niste -idostavili oznaku naredbi makepkg, upotrijebite sljedeću naredbu da je instalirate.
sudo pacman -U *.pkg.tar.xz
Sada imate instaliran SteamCMD i spreman za preuzimanje poslužitelja Counter-Strike: Global Offensive.
Instalirajte Counter-Strike: Global Offensive Server
Ovaj vodič koristi zasebnog korisnika za pokretanje poslužitelja, tako da ćemo stvoriti novog csgo korisnika i grupu s njegovom vlastitom početnom mapom u /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
Sada treba instalirati poslužitelj.
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
Nakon što preuzimanje završi, imate instaliran poslužitelj.
Konfiguriranje
Iako možete pokrenuti poslužitelj, potrebno je napraviti određenu konfiguraciju kako poslužitelj ne bi bio previše generički. Glavna datoteka u koju stavljamo postavke je server.cfgdatoteka. Ispod je vrlo osnovna server.cfgdatoteka.
Da biste otvorili/izradili datoteku, koristite svoj omiljeni uređivač. U ovom primjeru koristim vim.
sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg
Dodajte sljedeće. Više postavki možete pronaći na Valve Developer Wiki. Svakako promijenite neke postavke kako bi odgovarale vašim potrebama.
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
Pokretanje vašeg poslužitelja
Za pokretanje vašeg poslužitelja bez nadzora, trebat će vam multiplekser kao što je GNU Screen ili tmux . U ovom članku koristit ću tmux za pokretanje poslužitelja, ali ako više volite i znate kako koristiti screen, slobodno ga koristite.
Instalirajte tmux pomoću pacmana.
sudo pacman -Sy tmux
Poslužitelj možete pokrenuti sljedećom naredbom. Po želji možete promijeniti kartu. Pročitajte „Final Bilješke” za više informacija o game_typei game_modevrijednosti. Ovaj primjer je za klasični casual poslužitelj.
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'
Ako se ikada trebate priključiti na konzolu, pokrenite sljedeće.
sudo -u csgo tmux attach -t csgo-console
Možete ostaviti server konzolu upišete Ctrl + B onda objavljivanju one tipke, a zatim pritiskom D .
Trčanje sa systemd
Pokretanje poslužitelja sa systemd-om prikladno je iz mnogo razloga. Glavna je da ga možete pokrenuti kada se VPS pokrene. Za to je potrebna skripta i systemd jedinica za pisanje. Iako je ovo dobra ideja, nije obavezna .
Prvo što treba napisati je početna skripta. Za izradu skripte upotrijebite svoj omiljeni uređivač. Ovdje se koristi vim, ali možete koristiti bilo koji uređivač teksta kao što je nano.
sudo -u csgo vim ~csgo/server/csgo.sh
Dodajte sljedeće i svakako pogledajte redak s naredbom start jer ima način igre i tip.
#!/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
Sada morate napraviti systemd jedinicu.
sudo vim /usr/lib/systemd/system/csgo.service
Dodajte sljedeće.
[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
Sada provjerite je li csgo.shdatoteka izvršna.
sudo chmod +x ~csgo/server/csgo.sh
Nakon svega toga, možete koristiti systemctlza pokretanje i zaustavljanje poslužitelja. Također ga možete koristiti za pokretanje pri pokretanju.
Početi:
sudo systemctl start csgo.service
Zaustaviti:
sudo systemctl stop csgo.service
Ponovo pokrenuti:
sudo systemctl restart csgo.service
Da biste omogućili pri pokretanju:
sudo systemctl enable csgo.service
Za onemogućavanje pri pokretanju:
sudo systemctl disable csgo.service
Iako systemd upravlja pokretanjem i zaustavljanjem poslužitelja, konzoli možete pristupiti sljedećom naredbom.
sudo -u csgo tmux attach -t csgo-console
Završne napomene
SteamCMD je instaliran u području gdje samo root može mijenjati datoteke (pogledajte bilješku u odjeljku "Instaliraj SteamCMD"). Ako ikada trebate nadograditi sam SteamCMD, samo ga pokrenite kao root.
sudo steamcmd +quit
Ako trebate ažurirati poslužitelj. Prvo zaustavite poslužitelj, a zatim upotrijebite SteamCMD za ažuriranje (koristeći istu naredbu za instalaciju).
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
Način igre i vrsta igre u naredbi za pokretanje važni su ovisno o vrsti poslužitelja koji želite. Ovdje je brza tablica mogućih vrijednosti.
Game Mode | game_type | game_mode
Classic Casual | 0 | 0
Classic Competitive | 0 | 1
Arms Race | 1 | 0
Demolition | 1 | 1
Deathmatch | 1 | 2
Postoji puno više tema o konfiguraciji koje nisu obuhvaćene u ovom vodiču. Ako trebate više informacija, molimo pogledajte Valve Developer Wiki.