Instalace Counter Strike 2 serveru na Ubuntu

By | 27/03/2024

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:

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/

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *