LGSM czyli Linux Game Serwer Manager to narzędzie, które pozwala w łatwy sposób na postawienie i zarządzanie szeregiem serwerów gier na systemie Linux. Pełną listę obsługiwanych gier znajdziemy pod adresem:
Należy jednak pamiętać, że narzędzie korzysta z aplikacji wydanych przez wydawcę danej gry co oznacza, iż działanie samego serwera gry nie zależy od LGSM. Dla przykładu, spora część wydawców wydaje serwer gry na jedną platformę np. windows i tylko pod nią są prowadzone wszelkie optymalizacje. Serwer takiej gry nawet jeśli będzie działał na Linux to jakość będzie znacznie niższa – brak optymalizacji pod system. W naszym wypadku ARK serwer działa najlepiej w środowisku windows np. mapa Ragnarok z modami na windows bierze 2,6 GB RAM, a na Linux ta sama mapa z modami bierze 9,8 GB RAM. Pytanie jaki jest sens w takim razie? Prosty większość hostingów pobiera opłatę ok. 40-60 euro na miesiąc za windows server, a w przypadku Linux mamy system za 0 PLN na miesiąc. Także brak optymalizacji w tym konkretnym przypadku „leczymy” znacznie większymi zasobami w tej samej cenie np. 1000 PLN vs 600 PLN (cena zależy od wybranego hostingu).
Instalacja serwera gry Ark Survival Evolved.
Całość wykonujemy tak naprawdę w całości w oparciu o instrukcję ze strony:
https://linuxgsm.com/servers/arkserver/
+ dokumentację projektu
Serwer będziemy instalować na wcześniej przygotowanej platformie testowej. Specyfikacja to czysty Debian bez GUI. Jeżeli wynajmujemy serwer też otrzymujemy taką lub podobną wersję do wyboru.
- Instalacja zależności, czyli bibliotek/aplikacji z których będziemy korzystać w kolejnych krokach.
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
Postępując zgodnie z instrukcją pojawia się pierwszy problem.
Zwyczajnie czysta instalacja systemu debian nie wie co to sudo.
- Instalacja sudo
su
//przejście na uprawnienia roota
hasło roota
apt-get install sudo
//instalacja sudo
- Dodanie użytkownika do grupy sudo, tylko wtedy będzie mógł korzystać z polecenia sudo
sudo adduser nasz_użytkownik sudo
- Wychodzimy z roota
exit
Restartujemy debiana.
Na tym etapie nasz użytkownik może już korzystać z polecenia sudo, zatem instalujemy zależności zgodnie z instrukcją wyżej.
- Dodajemy użytkownika arkmaster
sudo adduser arkmaster
Użytkownik będzie odpowiedzialny za wszystko co dzieje się z serwerem ark lub klustrem, jeśli zdecydujemy się na kilka map.
- Przełączamy się na utworzonego użytkownika arkmaster
su – arkmaster
- Jeśli zamierzamy posiadać na serwerze kluster map serwerów ark to musimy wszystkie utworzyć z tego samego użytkownika. Uprości to zarządzanie nimi oraz zagwarantuje nam bezproblemowe przenoszenie postaci pomiędzy nimi.
Tworzymy odpowiednie katalogi.
mkdir {clusterdata,ragnarok,aberration,center,crystalisle,extinction,gen2,genesis,island,lostisland,scorchedearth,valguero}
clusterdata – katalog dla plików, które powstają w trakcie przenoszenia się z serwera na serwer.
Reszta katalogów zawierać będzie poszczególne serwery/mapy.
- Przechodzimy do katalogu ragnarok, aby zainstalować nasz pierwszy serwer.
cd ragnarok
- Pobieramy instalator
wget -O linuxgsm.sh https://linuxgsm.sh && chmod +x linuxgsm.sh && bash linuxgsm.sh arkserver
- Instalujemy nasz serwer/mapę
./arkserver install
- Instalator sprawdza czy wszystkie wymagania zostały spełnione. Jeżeli nie poda nam gotowe polecenie, aby zainstalować braki. Tutaj należy pamiętać, że nasz użytkownik arkmaster nie ma uprawnień do ich instalacji. Zatem przełączamy się na użytkownika z uprawnieniami, instalujemy braki i wracamy na arkmaster do poprzedniego punktu.
- Na tym etapie możemy już uruchomić nasz serwer Ark Survival Evolved. Niestety bez jakiejkolwiek konfiguracji uruchomi się nam z domyślnymi ustawieniami, które niekoniecznie są dla najlepsze.
Konfiguracja
Zostanie tu omówiona jedynie podstawowa konfiguracja serwera gry, tak aby wszystko działało. Natomiast po więcej ustawień zalecam aby zapoznać się z dokumentacją LGSM oraz serwera dedykowanego gry ark.
- Przchodzimy do katalogu danego serwera (pomijamy jeśli w nim jesteśmy)
cd raganarok
- Zmieniamy nazwę pliku, który będziemy uruchamiać dla lepszego porządku
mv arkserver ragnarok
W każdej chwili możemy też sprawdzić zawartość danego katalogu poleceniem np.
ls -l
- Przechodzimy do pliku konfiguracyjnego instancji LGSM. Dany serwer to ustawienia instancji (domyślnie plik cfg) + ustawienia w plikach Game.ini i GameUserSettings.ini.
cd lgsm/config-lgsm/arkserver/
- Zmieniamy nazwę pliku konfiguracyjnego instancji na taką samą jak pliku skryptu, który będziemy uruchamiać.
mv arkserver.cfg ragnarok.cfg
- Teraz edytujemy zawartość pliku ragnarok.cfg. Możemy to wykonać za pomocą dowolnego edytora w trybie tekstowym w linux lub użyć winscp i edytować w windows.
nano ragnarok.cfg
Przykładowa zawartość pliku:
#### Game Server Settings ####
## Predefined Parameters | https://docs.linuxgsm.com/configuration/start-parameters ##servername=”Nazwa serwera” # ip=”” port=”7777″ queryport=”27015″ rconport=”27016″ # Default Map: TheIsland, Ragnarok, CrystalIsles, Aberration_P, ScorchedEarth_P, TheCenter, Extinction, Valguero_P, Genesis defaultmap=”Ragnarok” altsavedirectoryname=”${defaultmap}” maxplayers=”70″ # mods=”1645346094″
## Server Parameters | https://docs.linuxgsm.com/configuration/start-parameters#additional-parameters startparameters=”${defaultmap}?AltSaveDirectoryName=${altsavedirectoryname}?listen?MultiHome=${ip}?MaxPlayers=${maxplayers}?QueryPort=${queryport}?RCONPort=${rconport}?Port=${port}?GameModIds=${mods}?AllowCrateSpawnsOnTopOfStructures=True -automanagedmods -crossplay -PublicIPForEpic=${ip} -ForceAllowCaveFlyers -clusterid=NaszKlusterID -ClusterDirOverride=”/home/arkmaster/clusterdata/” -NoTransferFromFiltering -NoBattlEye -servergamelog -useallavailablecores -nosteamclient -game -server -log -ForceRespawnDinos” |
- Opcjonalnie wprowadzamy konfigurację do plików /home/arkmaster/ragnarok/serverfiles/ShooterGame/Saved/Config/LinuxServer
Game.ini i GameUserSettings.ini
opis konfiguracji plików – ark wiki
- Podstawowe polecenia dotyczące serwera. Musimy znajdować się w lokalizacji /home/arkmaster/ragnarok
- start serwera
./ragnarok start
- update serwera
./ragnarok update
- stop serwera
./ragnarok stop
Więcej poleceń w dokumentacji LGSM, lub wpisując po prostu
./ragnarok