Instalace Counter Strike 2 serveru na Ubuntu

By | 27/03/2024

Last Updated on 02/04/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:

steam 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.

Counter Strike 2

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/

Dobrovolný dar

Ahoj čtenáři, rád bych tě poprosil aby ses zamyslel, co je vše potřeba ke vzniku článku.
Jakožto amatérský softwarový kutil musím:

1) Nejdříve vše nastudovat v cizích jazycích.
2) Vše následně prakticky vyzkoušet.
3) Svoje poznatky a zkušenosti napsat do článku který si právě přečetl v jazyku kterému rozumíš.
4) Dát článku hlavu a patu a publikovat.

Každý článek zabere několik hodin práce, za kterou mi nikdo neplatí.
Prosím zvaž, kolik času jsem ti právě ušetřil.
Pokud ti to stojí aspoň za cenu jedné kávy, tak mi ji kup.
Předem moc děkuji.

Příspěvek tak můžeš provést zasláním libovolné částky na mé číslo účtu 1558701011/3030 Nebo můžeš dar poslat kliknutím na tento odkaz Podpořit tento WEB , který tě přesměruje na mou platební bránu Revolut.

Dar je také možné poslat ve formě Bitcoinu na BTC peněženku bc1qqdf5fp42a7srwwhh2rut8zr9x4jm5c8fqc9qw6

Veškeré peněžní prostředky budu také používat na zlepšení kvality své webové tvorby a na psaní nových technických návodů. Za každý dar předem děkuji.

Leave a Reply

Your email address will not be published. Required fields are marked *