Skonfiguruj serwer Team Fortress 2 na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Team Fortress 2 w Arch Linux. Zakładam, że jesteś zalogowany na konto użytkownika innego niż root, który ma dostęp do sudo. W tym samouczku używa się AUR do budowania pakietów, a tej operacji nie należy wykonywać z konta root.

Zanim zaczniesz

Bardzo ważne jest, aby mieć multilibwłączone repozytorium tylko wtedy, gdy korzystasz z serwera 64-bitowego (amd64). Jeśli nie jest włączony, SteamCMD nie może działać i nie można nawet pobrać plików serwera. Aby to zrobić, musisz odkomentować następujące wiersze w /etc/pacman.conf.

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

Jeśli korzystasz z Arch 32-bitowego (i686), możesz to bezpiecznie zignorować.

Zainstaluj SteamCMD

Istnieje pakiet AUR dla SteamCMD i jest to jeden z najprostszych sposobów instalacji SteamCMD na Arch. Jest jednak kilka dziwnych rzeczy:

  • Wszystkie ścieżki względne są względem /usr/share/steamcmd.
  • Aby zaktualizować sam SteamCMD, musisz być rootem.

Jeśli korzystasz z serwera 64-bitowego, musisz zainstalować pakiet lib32-gcc-libs.

sudo pacman -Sy lib32-gcc-libs

Teraz musimy zbudować pakiet. Korzystając z curl, pobierz tarball dla pakietu.

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

Po zakończeniu pobierania rozpakuj i przejdź do utworzonego katalogu.

tar -xvzf steamcmd.tar.gz
cd steamcmd

Teraz, używając makepkg, zbuduj pakiet.

makepkg -ci

Jeśli nie przekazałeś -iflagi do polecenia makepkg, użyj pacmana, aby go zainstalować.

sudo pacman -U *.pkg.tar.xz

Masz teraz zainstalowany SteamCMD i jesteś gotowy do pobrania serwera Team Fortress 2.

Zainstaluj serwer Team Fortress 2

Ten przewodnik używa osobnego użytkownika do uruchomienia serwera, więc utworzymy nowego użytkownika TF2 i grupę z własnym folderem domowym w /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

Teraz, aby zainstalować serwer.

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

Po zakończeniu pobierania masz zainstalowany serwer.

Konfiguracja

Chociaż można uruchomić serwer, należy wykonać pewną konfigurację, aby serwer nie był zbyt ogólny. Głównym plikiem, w którym wprowadzamy ustawienia, jest server.cfgplik. Poniżej znajduje się bardzo prosty server.cfgplik.

Aby otworzyć / utworzyć plik, użyj swojego ulubionego edytora. Tutaj używany jest vim, ale możesz użyć dowolnego edytora tekstu, takiego jak nano.

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

Dodaj następujące. Więcej ustawień można znaleźć na wiki Team Fortress 2 i na stronie programistów Valve. Pamiętaj, aby zmienić niektóre ustawienia odpowiednio do swoich potrzeb.

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

Uruchamianie serwera

Wiadomo, że potrzebujesz multipleksera, takiego jak GNU Screen lub tmux, aby uruchomić serwer bez nadzoru. Tutaj będziemy używać tmux do uruchomienia serwera, ale jeśli wolisz i wiesz, jak korzystać z ekranu, możesz go używać.

Zainstaluj tmux za pomocą pacmana.

sudo pacman -Sy tmux

Możesz uruchomić serwer za pomocą następującego polecenia. W razie potrzeby możesz zmienić mapę i maxplayerów.

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

Jeśli kiedykolwiek będziesz musiał podłączyć się do konsoli, uruchom następujące polecenie.

sudo -u tf2 tmux attach -t tf2-console

Można zostawić konsolę serwera wpisując Ctrl + B, a następnie uwalniając te klucze, a następnie naciskając klawisz D .

Uruchamianie z systememd

Uruchamianie serwera z systememd jest wygodne z wielu powodów. Najważniejsze jest to, że możesz uruchomić go po uruchomieniu VPS. Wymaga to napisania skryptu i jednostki systemowej. Chociaż jest to dobry pomysł, jest opcjonalny .

Pierwszą rzeczą do napisania jest skrypt startowy. Aby utworzyć skrypt, użyj swojego ulubionego edytora. Tutaj używany jest vim, ale możesz użyć dowolnego edytora tekstu, takiego jak nano.

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

Dodaj następujące.

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

Teraz musisz zrobić jednostkę systemową. Aby utworzyć jednostkę, użyj swojego ulubionego edytora. Tutaj używany jest vim, ale możesz użyć dowolnego edytora tekstu, takiego jak nano.

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

Dodaj następujące.

[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

Teraz upewnij się, że tf2.shplik jest wykonywalny.

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

Po tym wszystkim możesz użyć systemctldo uruchomienia i zatrzymania serwera. Możesz także użyć go do uruchomienia przy starcie.

Zacząć:

sudo systemctl start tf2.service

Zatrzymać:

sudo systemctl stop tf2.service

Zrestartować:

sudo systemctl restart tf2.service

Aby włączyć podczas rozruchu:

sudo systemctl enable tf2.service

Aby wyłączyć przy rozruchu:

sudo systemctl disable tf2.service

Mimo że systemd obsługuje uruchamianie i zatrzymywanie serwera, nadal możesz uzyskać dostęp do konsoli za pomocą następującego polecenia:

sudo -u tf2 tmux attach -t tf2-console

Uwagi końcowe

SteamCMD jest zainstalowany w obszarze, w którym tylko root może zmieniać pliki (patrz uwaga w „Instalowaniu SteamCMD”). Jeśli kiedykolwiek będziesz musiał zaktualizować sam SteamCMD, po prostu uruchom go jako root.

sudo steamcmd +quit

Jeśli musisz zaktualizować serwer. Najpierw zatrzymaj serwer, a następnie użyj SteamCMD do aktualizacji (używając tego samego polecenia do instalacji).

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

Istnieje o wiele więcej tematów konfiguracyjnych, które nie są omówione w tym samouczku. Jeśli potrzebujesz więcej informacji, zapoznaj się z Wiki Team Fortress 2 i Wiki Valve Developer.

Zostaw komentarz

Funkcjonalności warstw architektury referencyjnej Big Data

Funkcjonalności warstw architektury referencyjnej Big Data

Przeczytaj blog, aby w najprostszy sposób poznać różne warstwy w architekturze Big Data i ich funkcjonalności.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Rewolucyjne wynalazki Google, które ułatwią Twoje życie.

Chcesz zobaczyć rewolucyjne wynalazki Google i jak te wynalazki zmieniły życie każdego człowieka dzisiaj? Następnie czytaj na blogu, aby zobaczyć wynalazki Google.

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

13 komercyjnych narzędzi do ekstrakcji danych z Big Data

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Pozostań w kontakcie dzięki aplikacji WhatsApp na komputer 24*7

Whatsapp w końcu uruchomił aplikację Desktop dla użytkowników komputerów Mac i Windows. Teraz możesz łatwo uzyskać dostęp do Whatsapp z systemu Windows lub Mac. Dostępne dla Windows 8+ i Mac OS 10.9+

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

5 przykładów, które dowodzą, że energetyka jądrowa nie zawsze jest zła

Energia jądrowa jest zawsze pogardzana, nigdy jej nie szanujemy z powodu przeszłych wydarzeń, ale nie zawsze jest zła. Przeczytaj post, aby dowiedzieć się więcej na ten temat.

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Friday Essential: Co się stało z samochodami sterowanymi przez sztuczną inteligencję?

Koncepcja autonomicznych samochodów, które wyjadą na drogi za pomocą sztucznej inteligencji, to marzenie, które mamy już od jakiegoś czasu. Ale pomimo kilku obietnic nigdzie ich nie widać. Przeczytaj ten blog, aby dowiedzieć się więcej…

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

5 przydatnych narzędzi sztucznej inteligencji, które uproszczą Twoje życie

Sztuczna inteligencja nie jest dla ludzi nową nazwą. Ponieważ sztuczna inteligencja jest włączona do każdego strumienia, jednym z nich jest opracowywanie narzędzi zwiększających ludzką wydajność i dokładność. Skorzystaj z tych niesamowitych narzędzi uczenia maszynowego i uprość swoje codzienne zadania.

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Czy AI może walczyć z rosnącą liczbą ataków ransomware?

Wzrasta liczba ataków ransomware, ale czy sztuczna inteligencja może pomóc w radzeniu sobie z najnowszym wirusem komputerowym? Czy AI jest odpowiedzią? Przeczytaj tutaj, wiedz, że sztuczna inteligencja jest zmorą lub zgubą

Wgląd w 26 technik analizy Big Data: część 2

Wgląd w 26 technik analizy Big Data: część 2

Zawsze potrzebujemy Big Data Analytics do efektywnego zarządzania danymi. W tym artykule omówiliśmy kilka technik analizy Big Data. Sprawdź ten artykuł.

Ataki DDOS: krótki przegląd

Ataki DDOS: krótki przegląd

Czy jesteś również ofiarą ataków DDOS i nie masz pewności co do metod zapobiegania? Przeczytaj ten artykuł, aby rozwiązać swoje pytania.