← Blog

Jak zainstalować dedykowany serwer Palworld u siebie w domu

Par Benjamin D. · PDG

· Mis à jour le 2 września 2026 · Lecture 7 min

Spis treści

Dedykowany serwer Palworld uruchomiony na domowym komputerze daje pełną kontrolę nad światem, tempem gry i konfiguracją. W tym przewodniku przechodzimy przez pobranie plików narzędziem SteamCMD, uruchomienie procesu PalServer, otwarcie portów UDP, przekierowanie ruchu na routerze oraz strojenie pliku PalWorldSettings.ini. Wszystko krok po kroku, z komendami gotowymi do wklejenia i listą typowych błędów połączenia.



Wymagania sprzętowe i sieciowe pod dedykowany serwer Palworld

Proces PalServer to samodzielna aplikacja Unreal Engine. Nie renderuje grafiki, ale utrzymuje w pamięci cały świat: bazy gildii, Pale przypisane do postaci, symulację produkcji i AI stworzeń. Dlatego wąskim gardłem prawie zawsze jest pamięć RAM i pojedynczy rdzeń CPU o wysokiej częstotliwości, a nie liczba rdzeni.

ElementMinimum realneZalecane (8–16 graczy)
RAM dostępny dla procesu8 GB16 GB i więcej
CPU4 wątki, ~3,0 GHzNowoczesny Ryzen / Intel o wysokim taktowaniu
Dysk20 GB wolnego miejscaSSD NVMe (zapisy świata są częste)
Łącze — upload10 Mb/s30 Mb/s i więcej, stabilny ping
SystemWindows 10/11 lub Ubuntu 22.04+Ubuntu Server LTS (mniejszy narzut)

Dwie rzeczy, które zaskakują początkujących administratorów. Po pierwsze, zużycie RAM rośnie w czasie — świat z rozbudowanymi bazami po kilkudziesięciu godzinach gry potrafi zająć dwa razy więcej pamięci niż świeży zapis. Po drugie, w domowej sieci liczy się upload, a nie download: to Twoja maszyna wysyła stan świata do wszystkich graczy jednocześnie.

Jeśli komputer musi być wyłączany na noc, łącze jest za wolne albo router siedzi za CGNAT operatora, sensowną alternatywą jest hosting Palworld na infrastrukturze Fly-Serv z panelem Pterodactyl i ochroną anty-DDoS. Dalsza część tekstu dotyczy jednak wyłącznie instalacji na własnej maszynie w domu.



Pobranie plików przez SteamCMD krok po kroku

Pliki serwera Palworld mają identyfikator aplikacji 2394010 i są dostępne przez anonimowe logowanie w SteamCMD. Nie potrzebujesz konta z grą, żeby je pobrać — licencja jest wymagana tylko po stronie klienta.

Windows

Rozpakuj SteamCMD do katalogu bez spacji w ścieżce, na przykład C:\steamcmd, i uruchom w wierszu poleceń:

cd C:\steamcmd
steamcmd.exe +force_install_dir C:\palserver +login anonymous +app_update 2394010 validate +quit

Po zakończeniu pobierania uruchom serwer po raz pierwszy, aby wygenerował strukturę katalogów zapisu:

cd C:\palserver
PalServer.exe -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

Zamknij proces po kilkunastu sekundach (Ctrl+C w konsoli). Katalog C:\palserver\Pal\Saved\Config\WindowsServer\ powinien już istnieć.

Linux (Ubuntu / Debian)

Silnik serwera to plik 64-bitowy, ale sam SteamCMD wymaga bibliotek 32-bitowych. Uruchamiaj wszystko z konta bez uprawnień root:

sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y steamcmd lib32gcc-s1 lib32stdc++6 xdg-user-dirs
sudo adduser --disabled-password --gecos "" palworld
sudo -u palworld -i

Następnie, już jako użytkownik palworld:

steamcmd +force_install_dir /home/palworld/palserver \
  +login anonymous +app_update 2394010 validate +quit

mkdir -p ~/.steam/sdk64
cp ~/palserver/linux64/steamclient.so ~/.steam/sdk64/

Skopiowanie steamclient.so jest kluczowe — bez tego proces startuje i natychmiast się zamyka, a w logu pojawia się błąd inicjalizacji Steam API. Pierwsze uruchomienie:

cd ~/palserver
./PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

Uruchamianie w tle przez systemd

Na Linuksie warto od razu zrobić usługę, która sama się aktualizuje przy każdym starcie i wstaje po awarii. Plik /etc/systemd/system/palworld.service:

[Unit]
Description=Palworld Dedicated Server
After=network-online.target

[Service]
User=palworld
WorkingDirectory=/home/palworld/palserver
ExecStartPre=/usr/games/steamcmd +force_install_dir /home/palworld/palserver +login anonymous +app_update 2394010 validate +quit
ExecStart=/home/palworld/palserver/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
Restart=on-failure
RestartSec=10
KillSignal=SIGINT
TimeoutStopSec=60

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now palworld
sudo journalctl -u palworld -f

Parametry startowe -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS są zalecane przez twórców do lepszego rozłożenia pracy na wątki. Szczegóły techniczne znajdziesz w oficjalnej dokumentacji serwera Palworld.



Porty UDP i przekierowanie NAT — jak wpuścić graczy do środka

Palworld komunikuje się po UDP. To najczęstsze źródło problemów: administrator otwiera port TCP, a klient nadal dostaje timeout. Poniżej pełna lista.

PortProtokółRolaWymagany?
8211UDPRuch gry (domyślny)Tak
27015UDPZapytania Steam / widoczność na liścieZalecany
25575TCPRCON (zdalna konsola)Opcjonalny
8212TCPREST APIOpcjonalny

Zapora systemowa

Na Linuksie z ufw:

sudo ufw allow 8211/udp comment 'Palworld game'
sudo ufw allow 27015/udp comment 'Palworld query'
sudo ufw allow from 192.168.1.50 to any port 25575 proto tcp comment 'RCON z mojego PC'
sudo ufw status numbered

Na Windowsie dodaj regułę ruchu wejściowego z PowerShella uruchomionego jako administrator:

New-NetFirewallRule -DisplayName "Palworld UDP" -Direction Inbound `
  -Protocol UDP -LocalPort 8211,27015 -Action Allow

Przekierowanie NAT na routerze

Kolejność działań, która oszczędza godzinę zgadywania:

  1. Ustaw maszynie serwera statyczny adres w LAN (rezerwacja DHCP po adresie MAC albo konfiguracja stała w systemie). Jeśli adres się zmieni, przekierowanie przestanie działać.
  2. W panelu routera wejdź w Port Forwarding / Virtual Server / Przekierowanie portów.
  3. Dodaj wpis: port zewnętrzny 8211 → port wewnętrzny 8211, protokół UDP, docelowy adres IP serwera.
  4. Powtórz dla 27015/UDP.
  5. Wyłącz UPnP, jeśli nie musi być włączony — ręczna reguła jest przewidywalna i nie zniknie po restarcie.
  6. Sprawdź publiczny adres IP i przetestuj port UDP zewnętrznym narzędziem albo poproś kogoś z innej sieci o próbę połączenia.

Typowe blokery połączenia

  • CGNAT u operatora — jeśli adres WAN routera zaczyna się od 100.64.–100.127., jesteś za współdzielonym NAT i przekierowanie nie zadziała. Rozwiązanie: publiczny adres IP od operatora albo tunel VPN typu WireGuard.
  • Brak NAT loopback — z tej samej sieci lokalnej połączenie po publicznym IP może nie działać. Domownicy powinni łączyć się po adresie LAN, np. 192.168.1.50:8211.
  • Podwójny NAT — modem operatora plus własny router. Trzeba przekierować port na obu urządzeniach albo przełączyć modem w tryb bridge.
  • Brak wpisu PublicIP — serwer nie zgłosi się poprawnie na listę społecznościową, jeśli nie zna swojego adresu zewnętrznego.

Dołączanie przez adres IP

W kliencie Palworld wybierz Dołącz do gry wieloosobowejWpisz adres IP i podaj adres:8211. Ta metoda jest niezawodniejsza niż szukanie wpisu na liście, która filtruje i cache'uje wyniki.



PalWorldSettings.ini: parametry, które faktycznie zmieniają grę

Po pierwszym uruchomieniu plik konfiguracyjny znajduje się w:

Windows: C:\palserver\Pal\Saved\Config\WindowsServer\PalWorldSettings.ini
Linux:   /home/palworld/palserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Jest praktycznie pusty. Wzorzec z wszystkimi kluczami leży w katalogu głównym jako DefaultPalWorldSettings.ini. Skopiuj jego zawartość do pliku docelowego:

# Linux
systemctl stop palworld
cp ~/palserver/DefaultPalWorldSettings.ini \
   ~/palserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano ~/palserver/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Zasada, o którą wywraca się większość konfiguracji

Cała sekcja OptionSettings=(...) musi pozostać jedną linią, bez łamania wiersza i bez spacji po przecinkach. Jeden enter w środku nawiasu sprawia, że serwer wczyta wartości domyślne i po cichu zignoruje Twoje zmiany. Edytuj plik w edytorze bez automatycznego zawijania i zawsze zatrzymuj serwer przed zapisem — proces nadpisuje konfigurację przy wyłączaniu.

Parametry warte uwagi

KluczDomyślnieCo robi
ServerNameDefaultNazwa widoczna na liście
ServerPasswordpusteHasło wejścia — najprostsza forma whitelisty
AdminPasswordpusteWymagane do komend administratora i RCON
ServerPlayerMaxNum32Limit slotów; powyżej 16 mocno rośnie zużycie RAM
PublicIP / PublicPortpusteAdres zgłaszany do listy społecznościowej
ExpRate1.0Mnożnik doświadczenia
PalCaptureRate1.0Szansa złapania Pala
CollectionDropRate1.0Wydajność zbieractwa
DeathPenaltyAllCo gubisz po śmierci: None, Item, ItemAndEquipment, All
bEnablePlayerToPlayerDamageFalsePvP między graczami
GuildPlayerMaxNum20Maksymalna liczba osób w gildii
BaseCampMaxNumInGuild4Liczba baz na gildię — silnie wpływa na wydajność
PalSpawnNumRate1.0Zagęszczenie Pali w świecie; obniż przy spadkach TPS
bIsUseBackupSaveDataTrueWewnętrzne kopie zapisu
AutoSaveSpan30Interwał autozapisu w sekundach
RCONEnabled / RCONPortFalse / 25575Zdalna konsola administracyjna

Przykładowy fragment dla sesji kooperacyjnej z przyspieszoną progresją (pamiętaj: jedna linia):

OptionSettings=(Difficulty=None,ExpRate=2.000000,PalCaptureRate=1.500000,CollectionDropRate=2.000000,DeathPenalty=Item,bEnablePlayerToPlayerDamage=False,GuildPlayerMaxNum=10,BaseCampMaxNumInGuild=4,ServerPlayerMaxNum=8,ServerName="Baza Palowa",ServerDescription="Kooperacja PL",AdminPassword="dlugie-haslo-admina",ServerPassword="",PublicPort=8211,PublicIP="",RCONEnabled=True,RCONPort=25575,bIsUseBackupSaveData=True,AutoSaveSpan=180.000000)

Wydajność i utrzymanie

  • AutoSaveSpan: domyślne 30 sekund powoduje regularne mikroprzycięcia. Wartość 180–300 sekund na dysku SSD to dobry kompromis między płynnością a ryzykiem utraty progresu.
  • Limit baz: każda baza gildii symuluje pracujące Pale non stop. Ograniczenie BaseCampMaxNumInGuild daje zauważalną ulgę procesorowi przy większej liczbie graczy.
  • Restart dobowy: proces Unreal Engine z czasem gromadzi pamięć. Zaplanowany restart w nocy przez systemd timer lub Harmonogram zadań Windows utrzymuje stabilną latencję.
  • Kopie zapasowe: archiwizuj cały katalog Pal/Saved/SaveGames/ na inny nośnik. Wbudowane kopie leżą na tym samym dysku, więc awaria dysku zabiera i świat, i backup.
tar -czf ~/backup-palworld-$(date +%F-%H%M).tar.gz \
  -C /home/palworld/palserver/Pal/Saved SaveGames Config

Bezpieczeństwo domowej instalacji

Serwer wystawiony na publiczny adres IP ujawnia Twoje domowe łącze. Minimum higieny: długie i unikalne AdminPassword, RCON dostępny wyłącznie z zaufanych adresów (nigdy otwarty na cały świat), logowanie na maszynę po kluczach SSH zamiast hasła, aktywny fail2ban oraz reguły ufw domyślnie odrzucające ruch. Wolumetryczne ataki na łącze operatora to jednak coś, czego domowy router nie odfiltruje — to argument za przeniesieniem projektu na infrastrukturę z ochroną sieciową w standardzie. Podobne poradniki dla innych tytułów survivalowych znajdziesz na Blog Fly-Serv, a listę wspieranych gier w sekcji Wszystkie nasze serwery gier — mechanika konfiguracji jest zbliżona choćby do tego, co robi się na Serwer Enshrouded.

Po każdej aktualizacji gry pamiętaj o ponownym app_update 2394010 validate — klient i serwer muszą mieć zgodną wersję, inaczej gracze zobaczą błąd niezgodności buildu przy wejściu.



Podsumowanie

Uruchomienie własnej instancji Palworld w domu sprowadza się do czterech kroków: pobranie plików SteamCMD, jedno uruchomienie testowe, przekierowanie portów 8211 i 27015 po UDP oraz staranna edycja PalWorldSettings.ini w jednej linii. Reszta to rutyna administratora — kopie zapasowe poza maszyną, restart dobowy i weryfikacja wersji po każdej łatce.



FAQ

Dlaczego moje zmiany w PalWorldSettings.ini nie działają po restarcie?

Trzy najczęstsze powody. Pierwszy: edytowałeś DefaultPalWorldSettings.ini zamiast pliku w Pal/Saved/Config/WindowsServer/ lub LinuxServer/. Drugi: sekcja OptionSettings=(...) została złamana na kilka linii — musi być jedną, ciągłą linią. Trzeci: zapisałeś plik przy działającym procesie, który nadpisał go przy zamykaniu. Zatrzymaj serwer, edytuj, zapisz, uruchom ponownie.