>_ DevTrendspl

Język

Strona główna

Języki

Sekcje

Frontend Backend Mobilne DevOps AI / ML GameDev Blockchain Bezpieczeństwo
Shell

Jak skonfigurować serwer Palworld w Docker, nie tracąc przy tym zmysłów

Pamiętasz ten szalony hype na Palworld na początku roku? Gra wciąż ma niezłą bazę graczy, a wraz z kolejnymi dużymi aktualizacjami, pojawia się chęć zebrania znajomych na własnym serwerze. Ale każdy, kto próbował uruchomić oficjalny serwer na Linuksie, wie: to spory ból głowy z zależnościami SteamCMD, uprawnieniami i ciągłymi wyciekami pamięci.

Projekt palworld-server-docker autorstwa Thijsa van Loefa to idealny przykład sytuacji, gdy społeczność bierze surowe narzędzie i zamienia je w coś naprawdę użytecznego. Autor spakował wszystko, czego potrzebujesz, w jeden kontener, dodał automatyzację, a najlepsze jest to, że projekt obsługuje ARM64.

Dlaczego to wygodniejsze niż ręczna instalacja

Zazwyczaj konfiguracja serwera gry zamienia się w niekończące się edytowanie plików konfiguracyjnych i walkę z portami. Tutaj wszystkim zarządza się za pomocą zmiennych środowiskowych. Chcesz zmienić poziom trudności lub włączyć PvP? Wystarczy edytować jedną linię w compose.yaml i zrestartować kontener.

Przy okazji, projekt obsługuje nie tylko klasyczne x86, ale także Raspberry Pi 4/5 oraz Maca z chipami M1/M2/M3. Dla właścicieli domowych serwerów na ARM to prawdziwe wybawienie, ponieważ uruchamianie aplikacji x86 tam zazwyczaj wymaga sporej gimnastyki z Box64. Tutaj wszystko działa out of the box.

Co potrafi ten kontener

Autor nie zrobił po prostu „nakładki" na serwer — dodał funkcje, których desperacko brakuje w oficjalnej kompilacji.

Automatyczne kopie zapasowe i aktualizacje

Serwer Palworld w obecnym stanie (wczesny dostęp) lubi się crashować lub uszkadzać zapisy. Kontener ma wbudowaną obsługę Cron. Domyślnie wykonuje kopie zapasowe o północy, ale łatwo to zmienić. Jest też automatyczne usuwanie starych archiwów, więc dysk nie zapełni się po tygodniu.

Inteligentna pauza (Auto-Pause)

To prawdopodobnie najfajniejsza funkcja dla osób dbających o zasoby. Kontener może „uśpić" proces serwera, gdy nie ma na nim żadnych graczy. Gdy tylko ktoś spróbuje się połączyć, serwer się budzi. To oszczędza mnóstwo RAM i cykli CPU, co jest kluczowe, jeśli wynajmujesz słaby VPS.

Integracja z Discord

Możesz podłączyć webhooki, a serwer będzie raportować na Twój kanał o każdym zdarzeniu: kto dołączył, kto wyszedł, kiedy rozpoczęła się aktualizacja lub kiedy utworzono kopię zapasową. To drobiazg, ale wygodnie monitorować życie swojego świata bez logowania się do gry.

Wymagania sprzętowe

Palworld jest dość głodny. Jeśli planujesz grać w grupie 4-8 osób, celuj w te liczby:

  • CPU: minimum 4 rdzenie.
  • RAM: 16 GB to konieczne minimum. Deweloper zaleca 32 GB dla stabilnej pracy, ponieważ gra ma problemy z wyciekami pamięci podczas długich sesji.
  • Dysk: około 8-20 GB.

Szybki start z Docker Compose

Najłatwiejszy sposób na rozpoczęcie to użycie Docker Compose. Stwórz plik compose.yaml i dodaj podstawową konfigurację:

services:
   palworld:
      image: thijsvanloef/palworld-server-docker:latest
      restart: unless-stopped
      container_name: palworld-server
      stop_grace_period: 30s
      ports:
        - 8211:8211/udp
        - 27015:27015/udp
      environment:
         - PUID=1000
         - PGID=1000
         - PORT=8211
         - PLAYERS=16
         - MULTITHREADING=true
         - SERVER_NAME=My-Awesome-Pal-Server
         - ADMIN_PASSWORD=SuperSecretAdminPass
         - SERVER_PASSWORD=LetMeIn123
         - COMMUNITY=false
      volumes:
         - ./palworld:/palworld/

Po tym wystarczy tylko uruchomić docker compose up -d. Kontener pobierze SteamCMD, pobierze najnowsze pliki serwera i uruchomi świat.

Zarządzanie przez RCON i REST API

Jeśli musisz wyrzucić jakiegoś awanturnika lub wysłać wiadomość do wszystkich graczy („Serwer zrestartuje się za 5 minut"), nie musisz wchodzić do kontenera. Obraz ma wbudowane narzędzia rcon-cli i rest-cli.

Przykładowe polecenie do rozesłania wiadomości:

docker exec -it palworld-server rcon-cli "Broadcast Внимание! Технические работы"

Dla tych, którzy chcą napisać własnego bota do zarządzania serwerem, dostępne jest pełne REST API. Jest domyślnie włączone na porcie 8212.

Czy warto spróbować

Jeśli planujesz grać w Palworld dłużej niż jeden wieczór, to repozytorium to must-have. Eliminuje rutynę tworzenia kopii zapasowych i pozwala elastycznie konfigurować balans gry (szybkość inkubacji jaj, obrażenia Palów, szybkość cyklu dnia i nocy) za pomocą prostych zmiennych środowiskowych.

Jedynym zastrzeżeniem jest apetyt gry na RAM. Nawet w Dockerze serwer może „zjeść" wszystkie dostępne zasoby, więc ustawienie zaplanowanych automatycznych restartów (co tutaj również jest dostępne) okaże się bardzo przydatne.

Projekt jest aktywnie rozwijany, commity pojawiają się często, a społeczność na Discordzie szybko pomaga z błędami. Dla hostingu domowego lub małego serwera dla znajomych, to obecnie najlepsze rozwiązanie.

Powiązane projekty