Állítson be egy Team Fortress 2 szervert Arch Linuxon

Ez az oktatóanyag elmagyarázza, hogyan állíthat be egy Team Fortress 2 szervert Arch Linux rendszeren. Feltételezem, hogy nem root felhasználói fiókkal van bejelentkezve, amely sudo hozzáféréssel rendelkezik. Ez az oktatóanyag AUR-t használ a csomagok felépítéséhez, és ezt a műveletet nem szabad a root fiókból végrehajtani.

Mielőtt elkezded

Nagyon fontos, hogy a multilibtárat akkor és csak akkor engedélyezze, ha 64 bites (amd64) kiszolgálón van. Ha nincs engedélyezve, akkor a SteamCMD nem fut, és még a szerver fájljait sem tudja letölteni. Ehhez törölnie kell a következő sorok megjegyzéseit a következőben /etc/pacman.conf.

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

Ha 32 bites (i686) Arch-ot használ, ezt nyugodtan figyelmen kívül hagyhatja.

Telepítse a SteamCMD-t

Van egy AUR csomag a SteamCMD-hez, és ez az egyik legegyszerűbb módja a SteamCMD telepítésének az Archra. Van azonban egy-két furcsaság ezzel kapcsolatban:

  • Minden relatív elérési út relatív /usr/share/steamcmd.
  • Magának a SteamCMD-nek a frissítéséhez root felhasználónak kell lennie.

Ha 64 bites szervert használ, telepítenie kell a csomagot lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Most meg kell építenünk a csomagot. A curl használatával töltse le a csomag tarballját.

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

Miután a letöltés befejeződött, csomagolja ki és váltson át a létrehozott könyvtárba.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Most makepkg segítségével készítse el a csomagot.

makepkg -ci

Ha nem adtad át a -iflaget a makepkg parancsnak, telepítsd a pacman segítségével.

sudo pacman -U *.pkg.tar.xz

Most már telepítve van a SteamCMD, és készen áll a Team Fortress 2 szerver letöltésére.

Telepítse a Team Fortress 2 szervert

Ez az útmutató egy külön felhasználót használ a kiszolgáló futtatásához, ezért létrehozunk egy új tf2 felhasználót és csoportot a saját home mappájával a /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

Most telepítse a szervert.

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

A letöltés befejeztével a szerver telepítve van.

Konfigurálás

Bár futtathatja a szervert, bizonyos beállításokat el kell végezni, hogy a szerver ne legyen túl általános. A fő fájl, amelybe a beállításokat megadjuk, a server.cfgfájl. Az alábbiakban egy nagyon egyszerű server.cfgfájl található.

A fájl megnyitásához/létrehozásához használja kedvenc szerkesztőjét. Itt a vim-et használják, de bármilyen szövegszerkesztőt használhat, például a nano-t.

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

Adja hozzá a következőket. További beállítások a Team Fortress 2 wiki és a Valve fejlesztői oldalán találhatók. Ügyeljen arra, hogy az Ön igényei szerint módosítson néhány beállítást.

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

A szerver futtatása

Ismeretes, hogy szükség van egy multiplexerre, mint a GNU Screen vagy a tmux, hogy felügyelet nélkül fusson a szerver. Itt a tmux-ot fogjuk használni a szerver futtatásához, de ha jobban szereti és tudja, hogyan kell használni a képernyőt, akkor nyugodtan használja.

Telepítse a tmux-ot a pacman segítségével.

sudo pacman -Sy tmux

A szervert a következő paranccsal indíthatja el. Kívánság szerint megváltoztathatja a térképet és a maxplayert.

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

Ha valaha is csatlakoznia kell a konzolhoz, futtassa a következőt.

sudo -u tf2 tmux attach -t tf2-console

Kiléphet a szerverkonzolból a CTRL + B billentyűkombináció lenyomásával, majd a billentyűk felengedésével, majd a D megnyomásával .

Futás systemd-vel

A kiszolgálót a systemd-vel futtatni több okból is kényelmes. A legfontosabb az, hogy a VPS indulásakor elindíthatja. Ehhez meg kell írni egy szkriptet és egy rendszeregységet. Bár ez jó ötlet, nem kötelező .

Az első dolog, amit meg kell írni, az a kezdőszkript. A szkript létrehozásához használja kedvenc szerkesztőjét. Itt a vim-et használják, de bármilyen szövegszerkesztőt használhat, például a nano-t.

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

Adja hozzá a következőket.

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

Now you need to make the systemd unit. To create the unit, use your favorite editor. Here vim is used, but you can use any text editor like nano.

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

Add the following.

[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

Now make sure the tf2.sh file is executable.

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

After all that, you can use systemctl to start and stop the server. Also you can use it to make it start on boot.

To start:

sudo systemctl start tf2.service

To stop:

sudo systemctl stop tf2.service

To restart:

sudo systemctl restart tf2.service

To enable at boot:

sudo systemctl enable tf2.service

To disable at boot:

sudo systemctl disable tf2.service

Even though systemd is handling starting and stopping the server, you can still access the console with the following command:

sudo -u tf2 tmux attach -t tf2-console

Final Notes

SteamCMD is installed in an area where only root can change files (see note in "Install SteamCMD"). If you ever need to upgrade SteamCMD itself, just run it as root.

sudo steamcmd +quit

If you need to update the server. First stop the server and then use SteamCMD to update (using the same command to install).

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

There are a lot more configuration topics that are not covered in this tutorial. If you need more information, please refer to the Team Fortress 2 Wiki and the Valve Developer Wiki.

Hagyj kommentárt

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Egyéni Windows ISO létrehozása frissítésekkel az NTLite használatával

Ez az oktatóanyag végigvezeti Önt a Vultrs rendszerekkel kompatibilis Windows ISO létrehozásának folyamatán. Itt megtanulhatja az <>Windows ISO<> előállításának lépéseit az NTLite segítségével.

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A gépek felemelkedése: Az AI valós világbeli alkalmazásai

A mesterséges intelligencia nem a jövőben, hanem itt a jelenben. Ebben a blogban Olvassa el, hogyan hatott a mesterséges intelligencia alkalmazások különböző ágazatokra.

DDOS támadások: Rövid áttekintés

DDOS támadások: Rövid áttekintés

Ön is DDOS támadások áldozata, és tanácstalan a megelőzési módszereket illetően? Olvassa el ezt a cikket a kérdések megoldásához.

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Gondolkozott már azon, hogyan keresnek pénzt a hackerek?

Talán hallottál már arról, hogy a hackerek sok pénzt keresnek, de elgondolkodtál már azon, hogyan kereshetnek ennyi pénzt? beszéljük meg.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

A Google forradalmi találmányai, amelyek megkönnyítik az életét.

Szeretné látni a Google forradalmi találmányait, és azt, hogy ezek a találmányok hogyan változtatták meg minden mai ember életét? Ezután olvassa el a blogot, és nézze meg a Google találmányait.

Essential péntek: Mi történt az AI-vezérelt autókkal?

Essential péntek: Mi történt az AI-vezérelt autókkal?

Az önvezető autók koncepciója, hogy mesterséges intelligencia segítségével kerüljenek az utakra, már egy ideje álmunk. De számos ígéret ellenére sehol sem látszanak. Olvassa el ezt a blogot, hogy többet megtudjon…

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Technológiai szingularitás: az emberi civilizáció távoli jövője?

Ahogy a tudomány gyors ütemben fejlődik, átveszi erőfeszítéseink nagy részét, megnő annak a kockázata is, hogy alávetjük magunkat egy megmagyarázhatatlan szingularitásnak. Olvassa el, mit jelenthet számunkra a szingularitás.

A Big Data Reference Architecture Layerek funkciói

A Big Data Reference Architecture Layerek funkciói

Olvassa el a blogot, hogy a legegyszerűbb módon ismerje meg a Big Data Architecture különböző rétegeit és azok funkcióit.

Az adattárolás fejlődése – Infografika

Az adattárolás fejlődése – Infografika

Az adatok tárolási módjai az Adatok születése óta alakulhatnak. Ez a blog egy infografika alapján mutatja be az adattárolás fejlődését.

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Az okosotthoni eszközök 6 lenyűgöző előnye az életünkben

Ebben a digitálisan vezérelt világban az intelligens otthoni eszközök az élet döntő részévé váltak. Íme az intelligens otthoni eszközök néhány elképesztő előnye, hogyan teszik életünket érdemessé és egyszerűbbé.