Sett opp en Counter-Strike: Global Offensive (CSGO) Server på Arch Linux

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.

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer