Før du begynner
Installer SteamCMD
Installer Team Fortress 2 Server
Konfigurerer
Kjøre serveren din
Kjører med systemd
Sluttnotater
Denne opplæringen forklarer hvordan du setter opp en Team Fortress 2-server på Arch Linux. Jeg antar at du er logget inn med en ikke-root brukerkonto som har sudo-tilgang. Denne opplæringen bruker AUR til å bygge pakker, og den operasjonen bør ikke utføres fra root-kontoen.
Før du begynner
Det er veldig viktig at du har multilibdepotet aktivert hvis og bare hvis du er på en 64-biters (amd64) server. Hvis det ikke er aktivert, kan ikke SteamCMD kjøre, og du kan ikke engang laste ned serverfilene. For å gjøre dette må du fjerne kommentarene til følgende linjer i /etc/pacman.conf.
[multilib]
Include = /etc/pacman.d/mirrorlist
Hvis du er på 32-bit (i686) Arch, kan du trygt ignorere dette.
Installer SteamCMD
Det er en AUR-pakke for SteamCMD, og det er en av de enkleste måtene å installere SteamCMD på Arch. Det er imidlertid et par rare ting med det:
- Alle relative baner er relative til
/usr/share/steamcmd.
- For å oppgradere selve SteamCMD må du være root.
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 http://media.steampowered.com/installer/steamcmd_linux.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 pacman for å installere det.
sudo pacman -U *.pkg.tar.xz
Du har nå SteamCMD installert og klar til å laste ned Team Fortress 2-serveren.
Installer Team Fortress 2 Server
Denne guiden bruker en egen bruker for å kjøre serveren, så vi oppretter en ny tf2-bruker 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
Nå for å installere serveren.
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 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. Her brukes vim, men du kan bruke hvilken som helst tekstredigerer som nano.
sudo -u tf2 vim ~tf2/server/tf/cfg/server.cfg
Legg til følgende. Flere innstillinger finner du på Team Fortress 2-wikien og Valve-utviklersiden. 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
Det er kjent at du trenger en multiplekser som GNU Screen eller tmux for å kjøre serveren uten tilsyn. Her skal vi bruke tmux for å kjøre serveren, men hvis du foretrekker og vet hvordan du bruker skjerm, bruk den gjerne.
Installer tmux ved å bruke pacman.
sudo pacman -Sy tmux
Du kan starte serveren med følgende kommando. Du kan endre kartet og maxplayers om ønskelig.
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 noen gang trenger å koble til konsollen, kjør følgende.
sudo -u tf2 tmux attach -t tf2-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 tf2 vim ~tf2/server/tf2.sh
Legg til 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
Nå må du lage systemd-enheten. For å lage enheten, bruk din favorittredigerer. Her brukes vim, men du kan bruke hvilken som helst tekstredigerer som nano.
sudo vim /usr/lib/systemd/system/tf2.service
Legg til 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 nå for at tf2.shfilen er kjørbar.
sudo chmod +x ~tf2/server/tf2.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 tf2.service
Å stoppe:
sudo systemctl stop tf2.service
Å starte på nytt:
sudo systemctl restart tf2.service
Slik aktiverer du ved oppstart:
sudo systemctl enable tf2.service
For å deaktivere ved oppstart:
sudo systemctl disable tf2.service
Selv om systemd håndterer å starte og stoppe serveren, kan du fortsatt få tilgang til konsollen med følgende kommando:
sudo -u tf2 tmux attach -t tf2-console
Sluttnotater
SteamCMD er installert i et område der bare root kan endre filer (se merknad i "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 tf2.service
sudo -u tf2 steamcmd +login anonymous +force_install_dir ~tf2/server +app_update 232250 validate +quit
sudo systemctl start tf2.service
Det er mange flere konfigurasjonsemner som ikke dekkes i denne opplæringen. Hvis du trenger mer informasjon, vennligst se Team Fortress 2 Wiki og Valve Developer Wiki.