Konfigurer en Team Fortress 2-server på Arch Linux

Denne vejledning forklarer, hvordan du opsætter en Team Fortress 2-server på Arch Linux. Jeg antager, at du er logget ind med en ikke-root brugerkonto, der har sudo-adgang. Denne vejledning bruger AUR til at bygge pakker, og denne handling bør ikke udføres fra root-kontoen.

Før du begynder

Det er meget vigtigt, at du har multilibdepotet aktiveret, hvis og kun hvis du er på en 64-bit (amd64) server. Hvis det ikke er aktiveret, kan SteamCMD ikke køre, og du kan ikke engang downloade serverfilerne. For at gøre dette skal du fjerne kommentarer til følgende linjer i /etc/pacman.conf.

[multilib]
Include = /etc/pacman.d/mirrorlist

Hvis du er på 32-bit (i686) Arch, kan du roligt ignorere dette.

Installer SteamCMD

Der er en AUR-pakke til SteamCMD, og ​​det er en af ​​de nemmeste måder at installere SteamCMD på Arch. Der er dog et par mærkelige ting ved det:

  • Alle relative stier er relative til /usr/share/steamcmd.
  • For at opgradere selve SteamCMD skal du være root.

Hvis du er på en 64-bit server, skal du installere pakken lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Nu skal vi bygge pakken. Brug curl til at downloade tarballen til pakken.

curl -O http://media.steampowered.com/installer/steamcmd_linux.tar.gz

Når overførslen er færdig, skal du udpakke og skifte til den oprettede mappe.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Brug nu makepkg til at bygge pakken.

makepkg -ci

Hvis du ikke sendte -iflaget til makepkg-kommandoen, skal du bruge pacman til at installere det.

sudo pacman -U *.pkg.tar.xz

Du har nu SteamCMD installeret og klar til at downloade Team Fortress 2-serveren.

Installer Team Fortress 2 Server

Denne guide bruger en separat bruger til at køre serveren, så vi vil oprette en ny tf2 bruger og gruppe med sin egen hjemmemappe i /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

Nu skal du installere serveren.

sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit

Når den er færdig med at downloade, har du serveren installeret.

Konfigurerer

Selvom du kan køre serveren, bør der udføres en vis konfiguration, så serveren ikke er for generisk. Hovedfilen, som vi sætter indstillinger i, er server.cfgfilen. Nedenfor er en meget grundlæggende server.cfgfil.

For at åbne/oprette filen skal du bruge dit foretrukne redigeringsprogram. Her bruges vim, men du kan bruge enhver teksteditor som nano.

sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg

Tilføj følgende. Flere indstillinger kan findes på Team Fortress 2-wikien og Valve-udviklersiden. Sørg for at ændre nogle af indstillingerne, så de passer til 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

Kørsel af din server

Det er kendt, at du har brug for en multiplexer som GNU Screen eller tmux for at køre din server uden opsyn. Her skal vi bruge tmux til at køre serveren, men hvis du foretrækker og ved, hvordan du bruger skærmen, er du velkommen til at bruge den.

Installer tmux ved at bruge pacman.

sudo pacman -Sy tmux

Du kan starte serveren med følgende kommando. Du kan ændre kortet og maxplayers, hvis det ønskes.

sudo -u tf2 tmux new-session -d -s tf2-console -d '~tf2/server/srcds_run -console -game tf +map cp_dustbowl +maxplayers 24'

Hvis du nogensinde har brug for at tilslutte til konsollen, skal du køre følgende.

sudo -u tf2 tmux attach -t tf2-console

Du kan forlade serverkonsollen ved at skrive CTRL + B og derefter slippe disse taster og derefter trykke på D .

Kører med systemd

At køre serveren med systemd er praktisk af mange årsager. Den vigtigste er, at du kan få den til at starte, når VPS'en starter. Dette kræver et script og en systemd enhed for at blive skrevet. Selvom dette er en god idé, er det valgfrit .

Den første ting at skrive er startscriptet. For at oprette scriptet skal du bruge din yndlingseditor. Her bruges vim, men du kan bruge enhver teksteditor som nano.

sudo -u tf2 vim ~tf2/server/tf2.sh

Tilføj følgende.

#!/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

Nu skal du lave systemd-enheden. For at oprette enheden skal du bruge din foretrukne editor. Her bruges vim, men du kan bruge enhver teksteditor som nano.

sudo vim /usr/lib/systemd/system/tf2.service

Tilføj følgende.

[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

Sørg nu for, at tf2.shfilen er eksekverbar.

sudo chmod +x ~tf2/server/tf2.sh

Efter alt det kan du bruge systemctltil at starte og stoppe serveren. Du kan også bruge den til at få den til at starte ved opstart.

At begynde:

sudo systemctl start tf2.service

At stoppe:

sudo systemctl stop tf2.service

Sådan genstartes:

sudo systemctl restart tf2.service

Sådan aktiveres ved opstart:

sudo systemctl enable tf2.service

Sådan deaktiveres ved opstart:

sudo systemctl disable tf2.service

Selvom systemd håndterer at starte og stoppe serveren, kan du stadig få adgang til konsollen med følgende kommando:

sudo -u tf2 tmux attach -t tf2-console

Slutnoter

SteamCMD er installeret i et område, hvor kun root kan ændre filer (se bemærkning i "Installer SteamCMD"). Hvis du nogensinde har brug for at opgradere selve SteamCMD, skal du bare køre det som root.

sudo steamcmd +quit

Hvis du skal opdatere serveren. Stop først serveren og brug derefter SteamCMD til at opdatere (brug den samme kommando til at installere).

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

Der er mange flere konfigurationsemner, som ikke er dækket i denne øvelse. Hvis du har brug for mere information, se venligst Team Fortress 2 Wiki og Valve Developer Wiki.

Efterlad 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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere