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 protected]"
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.



Jak zainstalować Python 3.7 na Arch Linux Webserver

Jak zainstalować Python 3.7 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo: Polecenia wymagają

Korzystanie z Devtools na Arch Linux

Korzystanie z Devtools na Arch Linux

Pakiet Devtools został pierwotnie stworzony dla Zaufanych użytkowników do prawidłowego tworzenia pakietów dla oficjalnych repozytoriów. Może być jednak używany przez zwykłego użytkownika

Skonfiguruj serwer Mumble na Arch Linux

Skonfiguruj serwer Mumble na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Mumble (Murmur) w Arch Linux. Wszystko wykonane w tym samouczku odbywa się jako użytkownik root. Instalacja an

Jak zainstalować PHP 7.3 na Arch Linux Webserver

Jak zainstalować PHP 7.3 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo. Polecenia wymagają

Instalowanie Arch Linux na serwerze Vultr

Instalowanie Arch Linux na serwerze Vultr

Vultr zapewnia niesamowitą funkcjonalność, umożliwiając korzystanie z własnego niestandardowego obrazu oprócz doskonałych szablonów, które umożliwiają uruchamianie

Jak korzystać z HTTPS na Arch Linux Webserver

Jak korzystać z HTTPS na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Wymagany jest działający serwer WWW, Apache lub Nginx Sudo. Polecenia dostępu t

Zainstaluj Arch Linux z migawką Btrfs

Zainstaluj Arch Linux z migawką Btrfs

Przedmowa Arch Linux to uniwersalna dystrybucja znana z najnowocześniejszej technologii i elastycznej konfiguracji. Dzięki migawkom Btrfs możemy wziąć

Skonfiguruj serwer Counter-Strike: Global Offensive (CSGO) na Arch Linux

Skonfiguruj serwer Counter-Strike: Global Offensive (CSGO) na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Counter-Strike: Global Offensive na Arch Linux. W tym samouczku założono, że zalogowano się przy standardowym użyciu

Jak zainstalować PostgreSQL 11.1 na Arch Linux

Jak zainstalować PostgreSQL 11.1 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo. Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem # i jednym

Instalowanie Arch Arch Linux 2019 na serwerze Vultr

Instalowanie Arch Arch Linux 2019 na serwerze Vultr

Wprowadzenie Arch Linux ma mniejsze, ale wciąż silne, następujące niż bardziej popularne dystrybucje. Jego filozofia jest zupełnie inna, z zaletami

Skonfiguruj serwer Spigot na Arch Linux

Skonfiguruj serwer Spigot na Arch Linux

W tym samouczku wyjaśniono, jak skonfigurować serwer Minecraft za pomocą Spigot na Arch Linux. W tym samouczku założono, że jesteś zwykłym użytkownikiem (innym niż root) i posiadasz hav

Jak zainstalować Nginx 1.14 na Arch Linux

Jak zainstalować Nginx 1.14 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo. Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #. Th

Używanie Makepkg na Arch Linux

Używanie Makepkg na Arch Linux

Jeśli użyjesz makepkg bezpośrednio, to nieco zanieczyszcza twój system. Grupa pakietu base-devel musi być zainstalowana. W ten sposób domyślnie potrzebne są tylko zależności

Jak zainstalować MongoDB 4.0 na Arch Linux

Jak zainstalować MongoDB 4.0 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł) Dostęp Sudo: Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #, a jeden

Jak zainstalować MariaDB 10.3 lub MySQL 8.0 na Arch Linux

Jak zainstalować MariaDB 10.3 lub MySQL 8.0 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Dostęp Sudo: Polecenia wymagane do uruchomienia jako root są poprzedzone znakiem #, a jeden

Budowanie pakietów na Arch Linux (w tym AUR)

Budowanie pakietów na Arch Linux (w tym AUR)

W Arch Linux oficjalne repozytoria to: core, extra i community. Te pakiety są już skompilowane i są instalowane za pomocą pacmana. Dla th

Jak zainstalować Perl 5.28 na Arch Linux Webserver

Jak zainstalować Perl 5.28 na Arch Linux Webserver

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux (zobacz ten artykuł). Działający serwer WWW, dostęp do Apache lub Nginx Sudo: Polecenia wymagają

Jak zainstalować Apache 2.4 na Arch Linux

Jak zainstalować Apache 2.4 na Arch Linux

Wymagania wstępne Serwer Vultr działający na bieżąco Arch Linux. Aby uzyskać więcej informacji, zobacz ten przewodnik. Dostęp do Sudo. Polecenia muszą być uruchamiane jako root ar

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…

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ą

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.

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.