Instalacja serwera Valheim na VPS

Jakby ktoś nie wiedział, Valheim to taka gierka sandboxowa w klimacie wikingowym :slight_smile:

Jakiś czas temu postawiłam serwer dla znajomych, jakiejś większej komplikacji przy tym nie ma. Zostawiam notatki, a nuż się komuś przydadzą :>

Nie jest to perfekcyjna instrukcja, zapewne da się coś ulepszyć. Gra też się rozwija, więc potrzebne zasoby traktujcie z przymrużeniem oka, obserwujcie zużycie przez htop.

1. Składniki

  • VPS
  • jakiś Linux na tym VPS
  • trochę RAMu
    • serwer nie potrzebuje dużych zasobów do działania
    • ok. 4GB RAM styka na początek, jak się gra w większej grupie (testowane na 4 osobach) to już warto mieć zapas do tych 6GB RAM
      • chodzi o zasoby potrzebne do startu, jak już wszystko wystartuje to ostatecznie serwer zużywa mniej, ładowanie mapy i graczy kosztuje :harold:
  • podstawowa znajomość w linuxy
  • gotowość do zaorania całości i postawienia od nowa jak zrobisz coś nie tak

2. Przygotowanie

2.1 Instalacja SteamCMD

Do tej operacji potrzebujemy być na koncie root. Po kolei wykonaj cztery komendy podane poniżej.

add-apt-repository multiverse
dpkg --add-architecture i386
apt update
apt install lib32gcc1 steamcmd 

Gdyby ktoś był ciekawy skąd taka a nie inna kombinacja komend to zapraszam do źródła.

2.2 Symlink

Symlink (skrót od symbolic link) to, najbardziej łopatologicznie rzecz ujmując, skrót do pliku. Tylko taki linuxowy.

Żeby nam się łatwiej korzystało ze SteamCMD to warto zrobić sobie symlink do pliku wykonywalnego.

ln -s /usr/games/steamcmd steamcmd

2.3 Osobny użyszkodnik

Ostatnia rzecz którą zrobimy spod root’a i uciekamy z niego :slight_smile:
Poniższa komenda utworzy nam użytkownika steam. Jeśli chcesz nazwać użytkownika jakoś inaczej to wystarczy że podmienisz steam na cokolwiek innego.

adduser steam

Jeżeli powyższa komenda jakimś cudem nie działa to użyj:

useradd -m steam

Flaga -m doda katalog domowy użytkownikowi.

Co za różnica useradd czy adduser?

Różnica jest spora. useradd po prostu doda użytkownika, bez “dodatków” - czyli bez hasła, bez katalogu domowego, bez grup. adduser jest narzędziem które działa na “wyższym poziomie”, wszystkie bajery są od razu tworzone gdy odpalimy komendę.

Obie komendy

useradd steam
adduser steam

ostatecznie zrobią to samo, utworzą użytkownika steam, ale w inny sposób i z innymi podstawowymi dodatkami.

TL;DR
useradd powinno zadziałać bez problemu dla wszystkich linuxów, po prostu trzeba dodać odpowiednie flagi aby komenda zadziałała w zbliżony sposób do adduser

3. Instalacja serwera

3.1 Żegnamy root’a

su - steam
# opcjonalnie użyj poniższej komendy
bash

3.2 Machnij osobny folder do gry

Porządek musi być.

mkdir /home/steam/valheim/

3.3 Instalacja właściwa

Działa bez logowania do Steam.

./steamcmd +force_install_dir /home/steam/valheim/ +login anonymous +app_update 896660 validate +quit

To tyle, serwer jest zainstalowany :slight_smile:

4. Konfiguracja

4.1 Edycja skryptu startującego serwer

Jeżeli nic się nie zmieniło i nie zepsuło to skrypt powinien być w folderze wraz z innymi plikami gry.

Wejdźmy do środka i zobaczmy co da się tu zmalować.

nano /home/steam/valheim/start_server.sh

Poniżej opis linijek od linii 7 (chyba).

# jak będzie widoczny serwer na liście serwerów
-name “My server”
# domyślny port, działa, nie dotykać
-port 2456 
# nazwa pliku save'a, wielkość liter ma znaczenie!
-world “Dedicated”
# hasło, minimum 5 znaków, warto zmienić żeby randomy nie wbiły na serwer
-password “Secret” 
# domyślnie serwer jest widoczny na liście i tej flagi nie ma w pliku konfiguracyjnym
-public 1 
# jeżeli chcesz mieć serwer dostępny tylko spod przycisku Join IP w grze to zmień wartość z 1 na 0
#-public 0

4.2 Save’y

Jeśli nie masz wcześniejszych zapisanych plików świata to nic straconego. W start_server.sh wpisujesz cokolwiek w flagę world, odpalasz serwer, a serwer wygeneruje wszystkie potrzebne foldery i pliki.

Jeśli masz własny save i chciałbyś z niego skorzystać to sugeruję i tak raz odpalić serwer. W ten sposób dostajemy cały śmietnik układ folderów i plików i łatwiej będzie namierzyć gdzie i co wrzucić. :smiley:

Gdzie znaleźć i gdzie wrzucać save’y, czyli ścieżki

Na Windows
C:\Users\%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds

Na Linux
/home/$HOME/.config/unity3d/IronGate/Valheim/worlds/

Co skopiować

Do przerzucenia będą 2-4 pliki (te z .old mogą być a może ich nie być)

  • nazwasejwa.db
  • nazwasejwa.db.old
  • nazwasejwa.fwl
  • nazwasejwa.fwl.old

Metod wrzucania plików jest kilka, choćby scp, rsync… Jak masz Windowsa to też jest kilka programów które w tym pomogą (nawet i PuTTy).

Fajnie je wrzucić od razu dla użytkownika którego utworzyło się, bo jak wrzucisz na (przez?) root’a to potem trzeba będzie bawić się chmodem żeby zmienić uprawnienia i grupy. Nie pytajcie skąd wiem :face_with_open_eyes_and_hand_over_mouth:

Po wrzuceniu plików na VPS pamiętaj aby zaktualizować nazwę save’a w pliku konfiguracyjnym, tak żeby skrypt startowy wiedział co ma odpalić.

5. Użytkowanie

To tyle, można odpalać skrypt startowy i wbijać na serwer :slight_smile:

6 polubień

Fajny poradnik.
Każdemu kto grał w Minecrafta za młodu lub Rusta/The_Foresta i mu się podobało,
polecam zagrać w Valheim - kozak gierka.

1 polubienie