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 zalogowałeś się przy użyciu standardowego konta użytkownika i masz uprawnienia sudo. Będziemy używać zwykłego konta użytkownika, ponieważ budowanie pakietów za pomocą AUR nie powinno odbywać się z konta root.

Zanim zaczniesz

Jeśli używasz 64-bitowej wersji Arch Linux, bardzo ważne jest, aby mieć multilibwłączone repozytorium. Jeśli nie jest włączony, SteamCMD nie może pobrać ani uruchomić plików serwera gry. Aby włączyć multilib, po prostu odkomentuj następujące wiersze w /etc/pacman.conf.

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

Nie dotyczy to 32-bitowych systemów Arch Linux.

Zainstaluj SteamCMD

Istnieje pakiet AUR dla SteamCMD. Jest to prawdopodobnie najłatwiejszy sposób instalacji SteamCMD na Arch. Należy jednak pamiętać o kilku rzeczach:

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

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 https://aur.archlinux.org/packages/st/steamcmd/steamcmd.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 komendy makepkg, użyj poniższej komendy, aby ją zainstalować.

sudo pacman -U *.pkg.tar.xz

Masz teraz zainstalowany SteamCMD i jesteś gotowy do pobrania serwera Counter-Strike: Global Offensive.

Zainstaluj serwer Counter-Strike: Global Offensive Server

Ten przewodnik używa osobnego użytkownika do uruchomienia serwera, więc stworzymy nowego użytkownika csgo i grupę z własnym folderem domowym w /var/lib.

sudo groupadd csgo
sudo mkdir /var/lib/csgo
sudo useradd -d /var/lib/csgo -g csgo -s /bin/bash csgo
sudo chown csgo.csgo -R /var/lib/csgo

Teraz, aby zainstalować serwer.

sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 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. W tym przykładzie używam vima.

sudo -u csgo vim ~csgo/server/csgo/cfg/server.cfg

Dodaj następujące. Więcej ustawień można znaleźć na Wiki Valve Developer. 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

Aby uruchomić serwer bez nadzoru, potrzebujesz multipleksera, takiego jak GNU Screen lub tmux . W tym artykule zamierzam użyć tmux do uruchomienia serwera, ale jeśli wolisz i umiesz używać screena , 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ę. Przeczytaj „Uwagi końcowe”, aby uzyskać więcej informacji na temat game_typei game_modewartości. Ten przykład dotyczy klasycznego zwykłego serwera.

sudo -u csgo tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; ./srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'

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

sudo -u csgo tmux attach -t csgo-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 csgo vim ~csgo/server/csgo.sh

Dodaj następujące i pamiętaj, aby spojrzeć na linię z poleceniem start, ponieważ ma ona tryb i typ gry.

#!/bin/sh

USER=$2

if [ -z $2 ]; then
  USER="csgo"
fi

case "$1" in
  start)
    sudo -u $ tmux new-session -d -s csgo-console -d 'cd /var/lib/csgo/server/; /var/lib/csgo/server/srcds_run -console -game csgo -usercon +game_type 0 +game_mode 0 +mapgroup mg_active +map de_dust2'
    ;;

  stop)
    sudo -u $ tmux send-keys -t csgo-console 'say Server shutting down in 10 seconds!' C-m
    sleep 10
    sudo -u $ tmux send-keys -t csgo-console 'quit' C-m
    sleep 5
    ;;

  *)
    echo "Usage: $0  user"
esac

exit 0

Teraz musisz zrobić jednostkę systemową.

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

Dodaj następujące.

[Unit]
Description=Counter-Strike: Global Offensive Server (SRCDS)
After=local-fs.target network.target

[Service]
ExecStart=/var/lib/csgo/server/csgo.sh start
ExecStop=/var/lib/csgo/server/csgo.sh stop
Type=forking

[Install]
WantedBy=multi-user.target

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

sudo chmod +x ~csgo/server/csgo.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 csgo.service

Zatrzymać:

sudo systemctl stop csgo.service

Zrestartować:

sudo systemctl restart csgo.service

Aby włączyć podczas rozruchu:

sudo systemctl enable csgo.service

Aby wyłączyć przy rozruchu:

sudo systemctl disable csgo.service

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

sudo -u csgo tmux attach -t csgo-console

Uwagi końcowe

SteamCMD jest zainstalowany w obszarze, w którym tylko root może zmieniać pliki (patrz uwaga w sekcji „Zainstaluj 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 csgo.service
sudo -u csgo steamcmd +login anonymous +force_install_dir ~csgo/server +app_update 740 validate +quit
sudo systemctl start csgo.service

Tryb gry i typ gry w poleceniu uruchomienia są ważne w zależności od rodzaju serwera, który chcesz. Oto krótka tabela możliwych wartości.

      Game Mode      | game_type | game_mode
Classic Casual       | 0         | 0
Classic Competitive  | 0         | 1
Arms Race            | 1         | 0
Demolition           | 1         | 1
Deathmatch           | 1         | 2

W tym samouczku jest o wiele więcej tematów konfiguracyjnych. Jeśli potrzebujesz więcej informacji, zajrzyj na Wiki Valve Developer Wiki.



Leave a Comment

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.