Før du begynner
Installer SteamCMD
Installer Counter-Strike: Global Offensive Server
Konfigurerer
Kjøre serveren din
Kjører med systemd
Sluttnotater
Denne opplæringen forklarer hvordan du setter opp en Counter-Strike: Global Offensive-server på Arch Linux.
Denne opplæringen forutsetter at du har logget på med en standard brukerkonto og har sudo-rettigheter. Vi vil bruke en vanlig brukerkonto fordi bygging av pakker med AUR ikke bør gjøres fra root-kontoen.
Før du begynner
Hvis du bruker en 64-biters versjon av Arch Linux, er det svært viktig at du har multilibaktivert depotet. Hvis det ikke er aktivert, kan ikke SteamCMD laste ned eller kjøre spillserverfilene. For å aktivere multilib, fjern bare kommentarene på følgende linjer i /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Dette gjelder ikke for 32-bit Arch Linux-systemer.
Installer SteamCMD
Det er en AUR-pakke for SteamCMD. Det er muligens den enkleste måten å installere SteamCMD på Arch. Det er imidlertid et par ting å merke seg om det:
- Alle relative baner er relative til
/usr/share/steamcmd.
- For å oppgradere selve SteamCMD må du være på root-kontoen.
Hvis du er på en 64-bits server, må du installere pakken lib32-gcc-libs.
sudo pacman -Sy lib32-gcc-libs
Nå må vi bygge pakken. Bruk curl, last ned tarballen for pakken.
curl -O https://aur.archlinux.org/packages/st/steamcmd/steamcmd.tar.gz
Når nedlastingen er ferdig, pakk ut og bytt til den opprettede katalogen.
tar -xvzf steamcmd.tar.gz
cd steamcmd
Nå, bruk makepkg, bygg pakken.
makepkg -ci
Hvis du ikke sendte -iflagget til makepkg-kommandoen, bruk følgende kommando for å installere det.
sudo pacman -U *.pkg.tar.xz
Du har nå SteamCMD installert og klar til å laste ned Counter-Strike: Global Offensive server.
Installer Counter-Strike: Global Offensive Server
Denne guiden bruker en egen bruker til å kjøre serveren, så vi oppretter en ny csgo-bruker og -gruppe med sin egen hjemmemappe i /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
Nå for å installere serveren.
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
Når den er ferdig nedlastet, har du serveren installert.
Konfigurerer
Selv om du kan kjøre serveren, bør noe konfigurasjon gjøres slik at serveren ikke er for generisk. Hovedfilen som vi legger inn innstillinger i er server.cfgfilen. Nedenfor er en veldig enkel server.cfgfil.
For å åpne/opprette filen, bruk ditt favorittredigeringsprogram. Jeg bruker vim i dette eksemplet.
sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg
Legg til følgende. Flere innstillinger finner du på Valve Developer Wiki. Sørg for å endre noen av innstillingene for å passe dine behov.
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
Kjøre serveren din
For å kjøre serveren din uten tilsyn, trenger du en multiplekser som GNU Screen eller tmux . I denne artikkelen skal jeg bruke tmux for å kjøre serveren, men hvis du foretrekker og vet hvordan du bruker skjermen, kan du gjerne bruke den.
Installer tmux ved å bruke pacman.
sudo pacman -Sy tmux
Du kan starte serveren med følgende kommando. Du kan endre kartet om ønskelig. Vennligst les den "endelige Notes" for mer informasjon om game_typeog game_modeverdier. Dette eksemplet er for en klassisk tilfeldig server.
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'
Hvis du noen gang trenger å koble til konsollen, kjør følgende.
sudo -u csgo tmux attach -t csgo-console
Du kan forlate serverkonsollen ved å skrive CTRL + B og deretter slippe disse tastene og deretter trykke D .
Kjører med systemd
Å kjøre serveren med systemd er praktisk av mange grunner. Den viktigste er at du kan få den til å starte når VPS starter. Dette krever at et skript og en systemd-enhet skrives. Selv om dette er en god idé, er det valgfritt .
Det første du må skrive er startskriptet. For å lage skriptet, bruk favorittredigeringsprogrammet ditt. Her brukes vim, men du kan bruke hvilken som helst tekstredigerer som nano.
sudo -u csgo vim ~csgo/server/csgo.sh
Legg til følgende og sørg for å se på linjen med startkommandoen ettersom den har spillmodus og type.
#!/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
Nå må du lage systemd-enheten.
sudo vim /usr/lib/systemd/system/csgo.service
Legg til følgende.
[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
Sørg nå for at csgo.shfilen er kjørbar.
sudo chmod +x ~csgo/server/csgo.sh
Etter alt dette kan du bruke systemctltil å starte og stoppe serveren. Du kan også bruke den til å få den til å starte ved oppstart.
Å starte:
sudo systemctl start csgo.service
Å stoppe:
sudo systemctl stop csgo.service
Å starte på nytt:
sudo systemctl restart csgo.service
Slik aktiverer du ved oppstart:
sudo systemctl enable csgo.service
For å deaktivere ved oppstart:
sudo systemctl disable csgo.service
Selv om systemd håndterer å starte og stoppe serveren, kan du få tilgang til konsollen med følgende kommando.
sudo -u csgo tmux attach -t csgo-console
Sluttnotater
SteamCMD er installert i et område der bare root kan endre filer (se merknad i avsnittet "Installer SteamCMD"). Hvis du noen gang trenger å oppgradere selve SteamCMD, bare kjør det som root.
sudo steamcmd +quit
Hvis du trenger å oppdatere serveren. Stopp først serveren og bruk deretter SteamCMD for å oppdatere (bruk den samme kommandoen for å installere).
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
Spillmodusen og spilltypen i startkommandoen er viktig avhengig av hva slags server du ønsker. Her er en rask tabell over mulige verdier.
Game Mode | game_type | game_mode
Classic Casual | 0 | 0
Classic Competitive | 0 | 1
Arms Race | 1 | 0
Demolition | 1 | 1
Deathmatch | 1 | 2
Det er mange flere konfigurasjonsemner som ikke dekkes i denne opplæringen. Hvis du trenger mer informasjon, vennligst se Valve Developer Wiki.