Last Updated on 04/05/2024 by administrator
Instalace Counter Strike 2 serveru na Ubuntu
Instalace Counter Strike 2 serveru na Ubuntu
Motivace:
Článek popisuje návod, jak stáhnout a nainstalovat Counter Strike 2 server na Ubuntu 22.04.
OS:
Implementace instalace byla prováděna na Ubuntu 22.04 LTS. Minimální požadavek na OS je Ubuntu 22.04 TLS a výše. [1]
Implementace [1]:
Pokud bude Counter Strike 2 server instalovaný na Proxmox na kontejneru (CT) není potřeba používat privilegovaný kontejner. Pro instalaci na Proxmox kontejneru (CT) doporučuji použít 1 GB RAM s minimálně 45 GB HDD
1. Příprava balíčků a stažení Counter Strike 2 serveru:
Příkazem apt update se provede aktualizace seznamu balíčků z repozitářů:
apt update
Před instalací je nutné nainstalovat všechny potřebně balíčky pro spuštění Counter Strike 2 serveru:
sudo dpkg --add-architecture i386; sudo apt update; sudo apt install curl wget file tar bzip2 gzip unzip bsdmainutils python3 util-linux ca-certificates binutils bc jq tmux netcat lib32gcc-s1 lib32stdc++6 libsdl2-2.0-0:i386 steamcmd
Vytvořit nového uživatele cs2server a zvolit silné heslo:
adduser cs2server
Výstup příkazu adduser cs2server ukazuje postup vytvoření uživatele. Všechny údaje při vytváření je možné „odentrovat“ a nakonec potvrdit „Y“, že jsou všechny údaje správné
Adding user `cs2server' ... Adding new group `cs2server' (1000) ... Adding new user `cs2server' (1000) with group `cs2server' ... Creating home directory `/home/cs2server' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for cs2server Enter the new value, or press ENTER for the default Full Name []: Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] Y
Přihlásit se pod novým uživatelem cs2server. Díky parametru mínus se přejde automaticky do domovského adresáře /home/cs2server:
su - cs2server
Příkaz níže stáhne pomocí wget script soubor linuxgsm.sh a provede ho spustitelným a poslední příkaz vytvoří soubor cs2server ze souboru linuxgsm.sh:
curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh cs2server
Výstup příkazu curl -Lo linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh cs2server ukazuje stažení souboru linuxgsm.sh:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 18431 100 18431 0 0 34857 0 --:--:-- --:--:-- --:--:-- 268k Installed Counter-Strike 2 server as cs2server
2. Instalace Counter Strike 2 serveru:
Instalace se provede příkazem:
./cs2server install
Výstup příkazu ./cs2server install bude navádět k vytvoření složky /home/cs2server, což stačí potvrdit „Y„. Dále se vytvoří složky pro logy a zkontrolují se zda jsou nainstalované balíčky, které jsou nezbytné k instalaci a spuštění serveru. Pokud jsou všechny závislé balíčky nainstalovány, zobrazí se hláška Information! Required dependencies already installed. Pokud je vše v pořádku, začne se instalovat Counter Strike 2 server:
=================================
LinuxGSM_
by Daniel Gibbs
Version: v24.1.5
Game: Counter-Strike 2
Website: https://linuxgsm.com
Contributors: https://linuxgsm.com/contrib
Sponsor: https://linuxgsm.com/sponsor
=================================
fetching GitHub install_server_dir.sh...OK
Server Directory
=================================
/home/cs2server
Continue? [Y/n] Y
mkdir: created directory '/home/cs2server/serverfiles'
fetching GitHub install_logs.sh...OK
Creating Log Directories
=================================
installing log dir: /home/cs2server/log...OK
installing LinuxGSM log dir: /home/cs2server/log/script...OK
creating LinuxGSM log: /home/cs2server/log/script/cs2server-script.log...OK
installing console log dir: /home/cs2server/log/console...OK
creating console log: /home/cs2server/log/console/cs2server-console.log...OK
installing game log dir: /home/cs2server/serverfiles/game/csgo/logs...OK
creating symlink to game log dir: /home/cs2server/log/server -> /home/cs2server/serverfiles/game/csgo/logs...OK
fetching GitHub check_deps.sh...OK
Checking Counter-Strike 2 Dependencies
=================================
fetching GitHub ubuntu-22.04.csv...OK
bc
binutils
bsdmainutils
bzip2
ca-certificates
cpio
curl
distro-info
file
gzip
hostname
jq
lib32gcc-s1
lib32stdc++6
libsdl2-2.0-0:i386
netcat
python3
steamcmd
tar
tmux
unzip
util-linux
uuid-runtime
wget
xz-utils
Information! Required dependencies already installed.
fetching GitHub install_steamcmd.sh...OK
Installing SteamCMD
=================================
fetching GitHub check_steamcmd.sh...OK
fetching GitHub core_steamcmd.sh...OK
Information! SteamCMD is already installed...OK
fetching GitHub install_server_files.sh...OK
Installing Counter-Strike 2 Server
=================================
fetching GitHub update_steamcmd.sh...OK
[ START ] Installing cs2server: SteamCMD
Redirecting stderr to '/home/cs2server/.local/share/Steam/logs/stderr.txt'
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[ 0%] Checking for available update...
[----] Downloading update (0 of 59594 KB)...
[ 0%] Downloading update (0 of 59594 KB)...
...
[ 99%] Downloading update (59594 of 59594 KB)...
[100%] Download Complete.
[----] Applying update...
[----] Extracting package...
[----] Installing update...
[----] Cleaning up...
[----] Update complete, launching...
Installing Counter-Strike 2 Server
=================================
[ START ] Installing cs2server: SteamCMD
tid(4393) burning pthread_key_t == 0 so we never use it
WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work.
Redirecting stderr to '/home/cs2server/.local/share/Steam/logs/stderr.txt'
Logging directory: '/home/cs2server/.local/share/Steam/logs'
minidumps folder is set to /tmp/dumps
[ 0%] Checking for available updates...
[----] Verifying installation...
UpdateUI: skip show logoSteam Console Client (c) Valve Corporation - version 1709846822
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
Update state (0x3) reconfiguring, progress: 0.00 (0 / 0)
Update state (0x61) downloading, progress: 0.00 (0 / 36276012921)
Update state (0x61) downloading, progress: 0.00 (1576601 / 36276012921)
Update state (0x61) downloading, progress: 0.02 (5770905 / 36276012921)
Update state (0x61) downloading, progress: 0.03 (11013785 / 36276012921)
Update state (0x61) downloading, progress: 0.04 (15208089 / 36276012921)
Update state (0x61) downloading, progress: 99.89 (36235221001 / 36276012921)
Update state (0x61) downloading, progress: 99.92 (36248554473 / 36276012921)
Update state (0x61) downloading, progress: 99.96 (36262208953 / 36276012921)
Update state (0x61) downloading, progress: 99.99 (36272912889 / 36276012921)
Update state (0x81) verifying update, progress: 0.21 (75642976 / 36276012921)
Update state (0x81) verifying update, progress: 0.47 (169482410 / 36276012921)
Update state (0x81) verifying update, progress: 0.80 (289023330 / 36276012921)
Update state (0x81) verifying update, progress: 1.09 (394937104 / 36276012921)
....
Update state (0x81) verifying update, progress: 99.53 (36105205076 / 36276012921)
Update state (0x81) verifying update, progress: 99.75 (36185246388 / 36276012921)
Update state (0x101) committing, progress: 0.00 (0 / 36276012921)
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
Success! App '730' fully installed.
Complete! Installing cs2server: SteamCMD
Pokud instalace serveru proběhla úspěšně stačí potvrdit „Y„:
================================= Was the install successful? [Y/n] Y
Pozn: Pokud instalace neproběhla korektně, jeden z důvodů může být nedostatek místa na disku.
Downloading Counter-Strike 2 Configs ================================= Downloading default configs from: https://github.com/GameServerManagers/Game-Server-Configs fetching GitHub server.cfg...OK copying server.cfg config file. '/home/cs2server/lgsm/config-default/config-game/server.cfg' -> '/home/cs2server/serverfiles/game/csgo/cfg/cs2server.cfg' changing hostname. changing rcon/admin password. Config Locations ================================= Game Server Config File: /home/cs2server/serverfiles/game/csgo/cfg/cs2server.cfg LinuxGSM Config: /home/cs2server/lgsm/config-lgsm/cs2server Documentation: https://docs.linuxgsm.com/configuration/game-server-config fetching GitHub fix.sh...OK fetching GitHub install_stats.sh...OK LinuxGSM Stats ================================= Assist LinuxGSM development by sending anonymous stats to developers. Collected data is publicly available: https://linuxgsm.com/data/usage More info: https://docs.linuxgsm.com/configuration/linuxgsm-stats The following info will be sent: * game server * distro * game server resource usage * server hardware info Allow anonymous usage statistics? [Y/n] n fetching GitHub install_complete.sh...OK ================================= Install Complete! To start server type: ./cs2server start
Vše hotovo, nyní bude spuštěn Counter Strike 2 server:
./cs2server start
===========
Výstup příkazu ./cs2server start ukazuje, že Counter strike 2 server byl nastartován:
fetching GitHub command_start.sh...OK fetching GitHub check_root.sh...OK fetching GitHub check_system_dir.sh...OK fetching GitHub check_executable.sh...OK fetching GitHub check_logs.sh...OK fetching GitHub check_config.sh...OK fetching GitHub check_status.sh...OK fetching GitHub core_logs.sh...OK [ OK ] Starting etlserver: LinuxGSM
Příkazem níže ověřit, zda Counter Strike 2 server naslouchá na daných portech:
ss -tulpn | grep cs2
Výstup příkazu ss -tulpn | grep cs2 ukazuje, že typicky herní port běží na UDP/27015, TCP/27015 k HLTV a pro stahování dodatečných souborů ze serveru:
udp UNCONN 0 0 *:27015 *:* users:(("cs2",pid=1278,fd=61)) tcp LISTEN 0 2 0.0.0.0:27015 0.0.0.0:* users:(("cs2",pid=1278,fd=53)) tcp LISTEN 0 128 127.0.0.1:38073 0.0.0.0:* users:(("cs2",pid=1278,fd=42))
Pokud je nakonfigurovaný firewall (lze zjistit příkazem sudo ufw status), je nutné povolit provoz UDP/27960, TCP/27960:
sudo ufw allow 27960/udp sudo ufw allow 27960/tcp
Nyní je možné se na Counter Strike 2 server připojit na lokální síti. To se provede přes Steam klienta přes View > Game Servers:
Kliknout na LAN a zvolit hru Counter-Strike 2 a kliknout na ikonku refresh. Měl by se zobrazit server s názem LinuxGSM.
Pozn. Je možné, že se CS2 server zobrazí až po chvílí. Může to od restartu CS2 server trvat i 3min. Pokud by se server stále nezobrazoval, provést restart serveru ještě jednou příkazem níže
./cs2server restart
Pokud se nelze připojit, zkontrolovat, zda je povolený firewall na CS2 serveru, nebo porovnat verzi CS2 serveru a verzi CS2 klienta.
3. Nahození Counter Strike 2 serveru po restartu Ubuntu:
Přihlásit se pod uživatelem cs2server:
su - cs2server
Spustit cron:
crontab -e
a přidat úplně dole:
@reboot bash /home/cs2server/cs2server start
4. Aktualizace Counter Strike 2 serveru a LinuxGSM [1]:
Aktualizace nové verze Counter Strike 2 serveru:
./cs2server update
Provede přímo SteamCMD aktualizace bez kontroly verze:
./cs2server force-update
Aktualizace LinuxGSM pro získání nových funkcí a oprav chyb:
./cs2server update-lgsm
5. Automatický Health check serveru, aktualizace Counter Strike 2 a LinuxGSM [1]:
Pomocí Cronu lze Counter Strike 2 a LinuxGSM pravidelně automaticky aktualizovat a také monitorovat herní server. Monitoring serveru kontroluje, zda proces běží. Pokud server přestane běžet, LinuxGSM server se restartuje a pošle upozornění:
Přihlásit se pod uživatelem cs2server:
su - cs2server
Spustit cron:
crontab -e
a přidat úplně dole:
*/5 * * * * /home/cs2server/cs2server monitor > /dev/null 2>&1 */30 * * * * /home/cs2server/cs2server update > /dev/null 2>&1 0 0 * * 0 /home/cs2server/cs2server update-lgsm > /dev/null 2>&1
Aktualizace Counter Strike 2 server se bude kontrolovat co 30 min a pro LinuxGSM to bude v neděli o půlnoci a monitoring serveru každých 5 min. Toto jsou doporučená nastavení. [1]
5. Debug serveru
Detaily serveru:
Příkaz níže zobrazí např. jméno serveru, defaultní mapu serveru, maximální počet hráčů, veřejnou IP adresu serveru s portem na kterém naslouchá herní server, RCON password, config soubor a mnoho dalšího:
./cs2server details
Debug:
Při potíží ze serverem, je možné použít příkaz níže:
./cs2server debug
Logy:
Logy serveru jsou umístěny ve složce níže:
cd /home/cs2server/logs
Backup:
Příkaz níže provede zálohu celého serveru v tar bzip2 archivu:
./cs2server backup
6. Změna herních parametrů v configu:
By default pro hru Casual se po připojení hráče připojí 10 botů. Vypnoutí botů pro hru Casual lze v gamemode_casual.cfg configu ve složce /home/cs2server/serverfiles/game/csgo/cfg/:
vi /home/cs2server/serverfiles/game/csgo/cfg/gamemode_casual.cfg
a přepsat parametr bot_quota z
bot_quota 10
na
bot_quota 0
Parametry Counter Strike 2 serveru jako jméno serveru, game modes, úvodní mapu, … lze změnit v konfigu cs2server.cfg níže:
vi /home/cs2server/serverfiles/game/csgo/cfg/cs2server.cfg
Při jakýchkoliv úpravách v configu je vždy potřeba provést restart Counter Strike 2 serveru pod cs2server uživatelem:
./cs2server restart
Kdo se vše připojil na Counter Strike 2 server lze zjistil příkazem níže:
cat /home/cs2server/log/console/cs2server-console* | grep connected
Výstup příkazu cat /home/cs2server/log/console/cs2server-console* | grep connected ukazuje, že uživatel martin se několikrát do hry připojil:
Client #0 "martin" connected @ 192.168.0.240:51067 Client #0 "martin" connected @ 192.168.0.240:49353 Client #0 "martin" connected @ 192.168.0.240:63921
7. Přístup k Counter Strike 2 serveru z internetu:
Pro přístup z internetu na Counter Strike 2 server je potřeba mít veřejnou IP adresu (zeptat se svého poskytovatele připojení). Tuto veřejnou IP adresu je potřeba namapovat k Counter Strike 2 serveru. To se nejčastěji provádí na routeru přes port forwarding (přesměrování portů), kde stačí povolit port UDP/27015. Každý router má ve svém nastavení port forwarding jinde. Např. TP-Link má tuto funkci pod Forwarding > Virtual Servers. Obecný průvodce pro několik routerů, kde nastavit port forwarding je možné najít zde: https://www.noip.com/support/knowledgebase/general-port-forwarding-guide/
Všechny porty, co může Counter Strike 2 server používat jsou zde https://portforward.com/counter-strike/
Další článek:
Instalace Quake 3 serveru na Ubuntu
Zdroj:
[1] https://linuxgsm.com/servers/cs2server/