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żka | Rola |
|---|---|---|
| DefaultPalWorldSettings.ini | PalServer/DefaultPalWorldSettings.ini | Szablon z wartościami domyślnymi. Edycja tego pliku nic nie zmienia w rozgrywce. |
| PalWorldSettings.ini (Linux) | PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini | Plik roboczy, wczytywany przy każdym starcie procesu. |
| PalWorldSettings.ini (Windows) | PalServer\Pal\Saved\Config\WindowsServer\PalWorldSettings.ini | To 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
| Parametr | Domyślnie | Zakres / uwagi |
|---|---|---|
ServerPlayerMaxNum | 32 | Twardy limit jednoczesnych połączeń. Dla ekipy znajomych 8–16 jest rozsądne — każdy slot to pamięć i praca CPU. |
CoopPlayerMaxNum | 4 | Dotyczy trybu współdzielonego z poziomu klienta gry, nie instancji serwerowej. |
GuildPlayerMaxNum | 20 | Ilu graczy zmieści się w jednej gildii. Przy jednej wspólnej ekipie ustaw równo z limitem połączeń. |
BaseCampMaxNumInGuild | 4 | Liczba baz na gildię. Każda baza to aktywne Pale i symulacja — podnoszenie tej wartości najmocniej obciąża procesor. |
BaseCampWorkerMaxNum | 15 | Pale 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.
| Parametr | Wartości | Efekt przy grze w grupie |
|---|---|---|
DeathPenalty | None / Item / ItemAndEquipment / All | Item to sensowny kompromis: gubisz plecak, zostawiasz ekwipunek i Pale. All przy wspólnych wyprawach potrafi zniechęcić grupę. |
bIsPvP | True / False | Przy grze kooperacyjnej zostaw False, chyba że planujecie areny. |
bEnableFriendlyFire | True / False | Wyłączone oszczędza nerwów przy walkach bossów w czwórkę. |
bEnableInvaderEnemy | True / False | Najazdy na bazę. Przy małej ekipie i dużej liczbie baz warto wyłączyć. |
PlayerDamageRateDefense | 0.5–2.0 | Poniżej 1.0 gracze są twardsi — dobre dla mieszanych poziomów doświadczenia w grupie. |
bEnableDefenseOtherGuildPlayer | True / False | Chroni 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
| Port | Protokół | Do czego służy |
|---|---|---|
| 8211 | UDP | Główny ruch gry. Bez niego nikt się nie połączy. |
| 27015 | UDP | Zapytania Steam Query — widoczność na liście oraz dołączanie przez znajomych ze Steama. |
| 25575 | TCP | RCON. 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.ininie mają wpływu na rozgrywkę — sprawdź, czy pracujesz w gałęziLinuxServerlubWindowsServer. - 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ść
PublicPortz 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