← Blog

Konfiguracja serwera Palworld do wspolnej gry ze znajomymi

Par Benjamin D. · PDG

· Mis à jour le 4 września 2026 · Lecture 8 min

Spis treści

PalWorldSettings.ini to plik, który w praktyce decyduje o wszystkim, co dzieje się na wspólnej mapie: ile osób wejdzie jednocześnie, jak szybko rosną poziomy, czy wejście chroni hasło i na jakim porcie nasłuchuje gra. Poniżej znajdziesz konkretny opis składni, listę parametrów istotnych przy grze ze znajomymi oraz ustawienia sieciowe, które faktycznie trzeba otworzyć.



Gdzie leży PalWorldSettings.ini i jak zbudowany jest ten plik

Palworld w wersji serwerowej trzyma dwie kopie konfiguracji. Pierwsza to szablon tylko do odczytu, druga to plik roboczy, który silnik faktycznie wczytuje przy starcie:

PlikŚcieżkaRola
DefaultPalWorldSettings.iniPalServer/DefaultPalWorldSettings.iniSzablon z wartościami domyślnymi. Edycja tego pliku nic nie zmienia w rozgrywce.
PalWorldSettings.ini (Linux)PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.iniPlik roboczy, wczytywany przy każdym starcie procesu.
PalWorldSettings.ini (Windows)PalServer\Pal\Saved\Config\WindowsServer\PalWorldSettings.iniTo samo, tylko w gałęzi Windows.

Przy pierwszym uruchomieniu plik roboczy powstaje pusty albo prawie pusty. Standardowa procedura to skopiowanie szablonu i dopiero potem edycja:

cd /home/steam/PalServer
cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Jeśli wolisz pominąć ręczną instalację binariów przez SteamCMD, gotowe środowisko z panelem Pterodactyl i natychmiastową instalacją znajdziesz w sekcji hosting Palworld — plik edytujesz wtedy z poziomu menedżera plików w przeglądarce, bez sesji SSH.

Składnia: jedna linia, żadnych złamań wiersza

To najczęstsze źródło problemów. Cała konfiguracja mieści się w jednej, bardzo długiej linii OptionSettings=(...) pod nagłówkiem sekcji. Edytor, który zawija tekst wizualnie, nie szkodzi — szkodzi ręczne wciśnięcie Enter w środku nawiasu.

[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.000000,ExpRate=1.500000,PalCaptureRate=1.000000,ServerPlayerMaxNum=16,ServerName="Baza Ekipy",ServerDescription="Co-op weekendowy",AdminPassword="LongAdminSecret2024",ServerPassword="wejscie-dla-ekipy",PublicPort=8211,RCONEnabled=True,RCONPort=25575)

Trzy zasady, których łamanie kończy się wczytaniem wartości domyślnych:

  • wartości tekstowe (nazwa, opis, hasła) zawsze w cudzysłowie prostym ", nigdy w typograficznym ;
  • liczby zmiennoprzecinkowe z kropką, nie z przecinkiem: 1.500000;
  • brak przecinka przed zamykającym nawiasem i brak spacji wokół znaku =.

Druga pułapka: edycja pliku przy działającym procesie. Palworld przy poprawnym zamknięciu zapisuje konfigurację z pamięci na dysk i nadpisze Twoje zmiany. Kolejność jest sztywna — zatrzymaj proces, edytuj, uruchom ponownie.

sudo systemctl stop palworld
nano /home/steam/PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
sudo systemctl start palworld
sudo journalctl -u palworld -f


Parametry PalWorldSettings.ini istotne przy grze ze znajomymi

Przy zamkniętej grupie 4–16 osób nie ma sensu przestawiać wszystkich kilkudziesięciu opcji. Liczy się kilkanaście wpisów, które realnie zmieniają odczucie z rozgrywki.

Limit graczy i struktura gildii

ParametrDomyślnieZakres / uwagi
ServerPlayerMaxNum32Twardy limit jednoczesnych połączeń. Dla ekipy znajomych 8–16 jest rozsądne — każdy slot to pamięć i praca CPU.
CoopPlayerMaxNum4Dotyczy trybu współdzielonego z poziomu klienta gry, nie instancji serwerowej.
GuildPlayerMaxNum20Ilu graczy zmieści się w jednej gildii. Przy jednej wspólnej ekipie ustaw równo z limitem połączeń.
BaseCampMaxNumInGuild4Liczba baz na gildię. Każda baza to aktywne Pale i symulacja — podnoszenie tej wartości najmocniej obciąża procesor.
BaseCampWorkerMaxNum15Pale pracujące w jednej bazie. Powyżej 20 zaczyna się wyraźny narzut na tick.

Ważne: sam wpis ServerPlayerMaxNum nie wystarczy. Parametr startowy -players= ma pierwszeństwo, więc obie wartości muszą się zgadzać:

./PalServer.sh -port=8211 -players=16 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS

Hasła: wejście i uprawnienia administratora

To dwa niezależne mechanizmy i warto o tym pamiętać:

  • ServerPassword — hasło wejścia. Puste ("") oznacza otwarte drzwi dla każdego, kto zna adres. Przy prywatnej grupie zawsze je ustaw.
  • AdminPassword — hasło komend administracyjnych w grze i logowania do RCON. Musi być inne niż hasło wejścia, długie i losowe.

Unikaj w hasłach znaków, które kolidują ze składnią pliku i z powłoką: cudzysłowów, przecinków, nawiasów, znaków $ i \. Bezpieczny zestaw to litery, cyfry i myślnik. Wygenerujesz je jedną komendą:

openssl rand -base64 24 | tr -d '/+=' | cut -c1-20

W grze, po wpisaniu /AdminPassword TwojeHaslo w czacie, dostajesz komendy /Shutdown, /KickPlayer, /BanPlayer, /Save i /ShowPlayers. Do tego ostatniego przydaje się też bShowPlayerList=True, jeśli chcesz, aby lista graczy była widoczna publicznie.

Trudność i kary za śmierć

Parametr Difficulty przyjmuje wartości None, Casual, Normal i Hard. Przy None silnik nie nadpisuje pojedynczych mnożników — to ustawienie, którego chcesz, jeśli sam dostrajasz wartości. Wybór presetu potrafi zignorować część Twoich wpisów.

ParametrWartościEfekt przy grze w grupie
DeathPenaltyNone / Item / ItemAndEquipment / AllItem to sensowny kompromis: gubisz plecak, zostawiasz ekwipunek i Pale. All przy wspólnych wyprawach potrafi zniechęcić grupę.
bIsPvPTrue / FalsePrzy grze kooperacyjnej zostaw False, chyba że planujecie areny.
bEnableFriendlyFireTrue / FalseWyłączone oszczędza nerwów przy walkach bossów w czwórkę.
bEnableInvaderEnemyTrue / FalseNajazdy na bazę. Przy małej ekipie i dużej liczbie baz warto wyłączyć.
PlayerDamageRateDefense0.5–2.0Poniżej 1.0 gracze są twardsi — dobre dla mieszanych poziomów doświadczenia w grupie.
bEnableDefenseOtherGuildPlayerTrue / FalseChroni budowle przed osobami spoza gildii. Włącz, jeśli na mapie są dwie ekipy.

Tempo progresji i ekonomia zasobów

Ekipa grająca po dwie godziny w tygodniu potrzebuje innych mnożników niż grupa siedząca codziennie. Sprawdzony zestaw pod weekendowy co-op:

ExpRate=2.000000
PalCaptureRate=1.500000
CollectionDropRate=2.000000
CollectionObjectRespawnSpeedRate=0.500000
EnemyDropItemRate=1.500000
PalEggDefaultHatchingTime=2.000000
WorkSpeedRate=1.500000
DropItemMaxNum=3000
BuildObjectDamageRate=1.000000
PalStomachDecreaceRate=0.700000

Kilka uwag z praktyki: CollectionObjectRespawnSpeedRate poniżej 1.0 oznacza szybszy respawn drzew i rud — to odwrotna intuicja niż przy pozostałych mnożnikach. PalEggDefaultHatchingTime podany w godzinach warto zbić do 1–2, bo przy grze sesyjnej nikt nie czeka 72 godzin realnego czasu. A DropItemMaxNum podniesiony ponad 5000 potrafi zauważalnie obciążyć symulację, jeśli nikt nie sprząta przedmiotów z ziemi.



Ustawienia sieciowe: port, zapora i dołączanie znajomych

Konfiguracja gry to połowa roboty. Druga połowa to warstwa sieciowa — i to tu najczęściej kończy się komunikatem „nie znaleziono sesji”.

Porty, które muszą być otwarte

PortProtokółDo czego służy
8211UDPGłówny ruch gry. Bez niego nikt się nie połączy.
27015UDPZapytania Steam Query — widoczność na liście oraz dołączanie przez znajomych ze Steama.
25575TCPRCON. Otwieraj wyłącznie dla wskazanego adresu IP, nigdy dla całego świata.

Reguły UFW na maszynie z Linuksem:

sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw allow from 203.0.113.10 to any port 25575 proto tcp
sudo ufw enable
sudo ufw status numbered

Sprawdzenie, czy proces faktycznie nasłuchuje na właściwym gnieździe:

sudo ss -lunp | grep 8211

PublicIP, PublicPort i rejestracja w community list

Trzy wpisy w PalWorldSettings.ini odpowiadają za ogłaszanie instancji na zewnątrz:

PublicPort=8211
PublicIP=""
bIsMultiplay=True
Region=""
bUseAuth=True
BanListURL="https://api.palworldgame.com/api/banlist.txt"

PublicIP zostaw puste, jeśli maszyna ma publiczny adres i sama się wykryje. Wypełniaj tylko wtedy, gdy stoi za NAT-em i automatyczna detekcja zwraca adres prywatny. PublicPort musi odpowiadać portowi realnie przekierowanemu na zewnątrz — jeśli w panelu masz przydzielony port inny niż 8211, zmień oba miejsca: parametr startowy -port= i wpis PublicPort. Rozjazd tych dwóch wartości to klasyczna przyczyna sytuacji, w której instancja działa, ale nikt jej nie widzi.

Do publicznej listy dochodzi jeszcze -publiclobby w linii startowej. Przy zamkniętej grze ze znajomymi lepiej go pominąć i przekazać ekipie adres IP z portem, wpisywany w grze przez opcję „Join Multiplayer Game → adres bezpośredni”, w formacie 203.0.113.10:8211.

RCON i zdalne zarządzanie

RCON pozwala restartować sesję, zapisywać świat i wyrzucać graczy bez wchodzenia do gry. Włączenie to dwie linijki plus działające AdminPassword:

RCONEnabled=True
RCONPort=25575

Przydatne komendy po zalogowaniu: ShowPlayers, Save, Broadcast Restart_za_5_minut, Shutdown 300 Serwis. Ostatnia daje graczom pięć minut ostrzeżenia przed zamknięciem — zawsze wywołuj wcześniej Save, bo Palworld potrafi zgubić kilka minut postępu przy twardym ubiciu procesu.

Latencja i lokalizacja maszyny

Palworld przesyła sporo ruchu związanego z synchronizacją Pali i budowli. Przy ekipie z Polski maszyna w Europie Zachodniej daje zwykle 20–40 ms, co jest niezauważalne. Warto natomiast pilnować, żeby ruch nie szedł przez łącze domowe — świadomość, że ochrona anty-DDoS jest realizowana po stronie infrastruktury, a nie routera w salonie, oszczędza sporo nerwów przy publicznym adresie. Więcej konfiguracji dla innych tytułów opisujemy na Blog Fly-Serv, a pełną listę wspieranych gier znajdziesz tutaj: Wszystkie nasze serwery gier.



Autozapis, kopie i diagnostyka błędów w PalWorldSettings.ini

Zapis świata i kopie zapasowe

AutoSaveSpan=180.000000
bIsUseBackupSaveData=True
bExistPlayerAfterLogout=False
ServerReplicatePawnCullDistance=15000.000000

AutoSaveSpan podajesz w sekundach. Domyślne 180 to rozsądny kompromis; schodzenie poniżej 60 powoduje krótkie mikroprzycięcia przy każdym zrzucie świata na dysk, szczególnie widoczne na mapie z wieloma bazami. bIsUseBackupSaveData=True włącza wewnętrzne kopie w katalogu Pal/Saved/SaveGames/ — traktuj je jako zabezpieczenie doraźne, nie jako pełną strategię odtwarzania. Kopie automatyczne po stronie panelu, przechowywane poza instancją, ratują sytuację wtedy, gdy uszkodzeniu ulegnie cały wolumen.

ServerReplicatePawnCullDistance określa, w jakim promieniu synchronizowane są postacie i Pale. Obniżenie z 15000 do 10000 zmniejsza ruch sieciowy i obciążenie przy większej liczbie graczy, kosztem widoczności odległych stworzeń. Przy grupie do ośmiu osób nie ma powodu tego ruszać.

Ręczna kopia przed każdą zmianą

tar -czf ~/palworld-save-$(date +%F-%H%M).tar.gz \
  /home/steam/PalServer/Pal/Saved/SaveGames \
  /home/steam/PalServer/Pal/Saved/Config

Czego szukać, gdy zmiany się nie stosują

  • Edytowany był szablon. Zmiany w DefaultPalWorldSettings.ini nie mają wpływu na rozgrywkę — sprawdź, czy pracujesz w gałęzi LinuxServer lub WindowsServer.
  • Złamana linia OptionSettings. Silnik odrzuca wtedy cały blok i wczytuje domyślne wartości. Zweryfikuj liczbę linii: wc -l PalWorldSettings.ini — powinny być dwie, maksymalnie trzy.
  • Niedomknięty nawias lub cudzysłów. Objaw jest identyczny: świat startuje z ustawieniami fabrycznymi.
  • Brak nagłówka sekcji. Linia [/Script/Pal.PalGameWorldSettings] musi być pierwsza.
  • Plik edytowany przy działającym procesie. Konfiguracja z pamięci nadpisze dysk przy zamknięciu.
  • Limit graczy ignorowany. Parametr -players= w linii startowej wygrywa z wpisem w pliku.
  • Znajomi nie widzą sesji. Sprawdź 27015/UDP i zgodność PublicPort z portem przekierowanym.

Szybka weryfikacja poprawności bez uruchamiania gry — policz liczbę otwierających i zamykających nawiasów:

grep -o '(' PalWorldSettings.ini | wc -l
grep -o ')' PalWorldSettings.ini | wc -l

Obie liczby muszą się zgadzać. Pełny wykaz parametrów wraz z zakresami wartości utrzymuje wydawca w dokumentacji technicznej: Source.

Mody i modyfikacje po stronie klienta

Palworld nie ma oficjalnego API dla modyfikacji serwerowych, więc rozszerzenia opierają się na UE4SS i wtyczkach ładowanych z Pal/Binaries/Win64/. Zasada jest prosta: każdy mod zmieniający logikę rozgrywki musi mieć tę samą wersję po stronie gospodarza i każdego gracza, inaczej kończy się to desynchronizacją lub odrzuceniem połączenia. Po każdej aktualizacji gry sprawdzaj zgodność modów przed wpuszczeniem ekipy — i rób kopię świata wcześniej, nie później.



Podsumowanie

Cała konfiguracja sprowadza się do trzech rzeczy: poprawnej składni w jednej linii OptionSettings, spójności limitu graczy i portu między plikiem a parametrami startowymi oraz otwartego 8211/UDP wraz z 27015/UDP. Zatrzymaj proces przed edycją, zrób kopię świata, zmieniaj po kilka wartości naraz i sprawdzaj efekt w logach. Reszta to już tylko dostrajanie tempa rozgrywki pod Waszą ekipę.



FAQ

Dlaczego po edycji PalWorldSettings.ini gra dalej używa starych ustawień?

Najczęściej z dwóch powodów. Po pierwsze, plik był edytowany przy działającym procesie — Palworld przy zamknięciu zapisuje konfigurację z pamięci i nadpisuje zmiany. Zatrzymaj instancję, edytuj, uruchom ponownie. Po drugie, składnia bloku