← Blog

Как запустить сервер Palworld на собственном ПК

Par Benjamin D. · PDG

· Mis à jour le 27 августа 2026 г. · Lecture 6 min

Содержание

Локальный сервер Palworld на ПК — рабочая схема для игры с друзьями, если заранее понимать, где у неё предел. Ниже разберём установку PalServer через SteamCMD, ключевые строки PalWorldSettings.ini, проброс UDP-портов на роутере и реальные ограничения такого решения по числу игроков, потреблению памяти и стабильности домашнего канала.



Что нужно, чтобы запустить сервер Palworld на ПК

PalServer — это отдельное приложение, которое не требует запущенного клиента игры и не занимает слот игрока. Оно ставится из библиотеки Steam (раздел Tools) либо через SteamCMD по App ID 2394010. Логика простая: процесс держит мир, клиенты подключаются к нему по UDP.

Требования к железу

  • CPU: Unreal Engine 5 плохо распараллеливает симуляцию мира, поэтому решает частота одного ядра, а не количество потоков. 4 свободных ядра — практический минимум на 8–10 игроков.
  • RAM: 16 ГБ для процесса на 8–16 игроков, 24–32 ГБ, если планируется полный мир на 32 слота. Память у PalServer растёт со временем — это ожидаемое поведение, лечится перезапуском по расписанию.
  • Диск: NVMe заметно ускоряет автосохранения и загрузку чанков базы. На HDD длинный «стоп-кадр» во время сейва ощущают все подключённые.
  • Канал: около 100–150 Кбит/с исходящего трафика на игрока в спокойной обстановке, кратно больше в замесах и при массовой застройке.

Установка через SteamCMD

Вариант для Windows (SteamCMD распакован в C:\steamcmd):

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

Вариант для Linux (Debian/Ubuntu, отдельный системный пользователь):

sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo useradd -m -s /bin/bash palworld
sudo -u palworld /usr/games/steamcmd +force_install_dir /home/palworld/PalServer \
  +login anonymous +app_update 2394010 validate +quit

Первый запуск и параметры командной строки

Первый старт нужен, чтобы игра сгенерировала структуру папок Pal/Saved/. Дальше процесс запускают с флагами:

PalServer.exe -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publiclobby -port=8211 -players=16

Расшифровка: -useperfthreads и -UseMultithreadForDS перераспределяют задачи движка по потокам, -NoAsyncLoadingThread убирает лишний поток загрузки, -publiclobby добавляет мир в общий список сообщества (без него подключение только по IP). Флаг -players перекрывает значение из конфига, поэтому держите их согласованными.

Если домашняя машина не тянет круглосуточный аптайм или оператор связи выдаёт «серый» адрес, ту же сборку логично держать на внешней инфраструктуре: хостинг Palworld у Fly-Serv работает на Ryzen с высокой частотой и NVMe, с панелью Pterodactyl и защитой от DDoS по умолчанию.



PalWorldSettings.ini: где лежит файл и как его править без поломок

Ошибка номер один у новичков — правка не того файла. Эталон лежит в корне сборки:

PalServer/DefaultPalWorldSettings.ini

Рабочий конфиг, который читает процесс, находится по другому пути:

Windows: PalServer/Pal/Saved/Config/WindowsServer/PalWorldSettings.ini
Linux:   PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

После первого запуска рабочий файл почти пустой. Скопируйте в него содержимое эталона целиком и только потом меняйте значения.

Три правила, которые ломают конфиг чаще всего

  1. Вся строка OptionSettings=(...)одна физическая строка. Любой перенос внутри скобок, добавленный редактором, и файл читается как повреждённый: игра молча откатится к значениям по умолчанию.
  2. Булевы значения пишутся как True и False с заглавной буквы. true в нижнем регистре игнорируется.
  3. Заголовок секции [/Script/Pal.PalGameWorldSettings] обязателен и стоит первой строкой. Правьте в редакторе без автопереноса, а не в стандартном «Блокноте» с включённым переносом по словам.

Пример укороченного, но валидного конфига:

[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,DayTimeSpeedRate=1.000000,NightTimeSpeedRate=1.500000,ExpRate=2.000000,PalCaptureRate=1.500000,PalSpawnNumRate=1.200000,PalDamageRateAttack=1.000000,PalDamageRateDefense=1.000000,PlayerDamageRateAttack=1.000000,PlayerDamageRateDefense=1.000000,PlayerStomachDecreaceRate=0.700000,PlayerStaminaDecreaceRate=0.700000,DeathPenalty=Item,bEnablePlayerToPlayerDamage=False,bEnableFriendlyFire=False,bEnableInvaderEnemy=True,DropItemMaxNum=3000,BaseCampMaxNum=128,BaseCampWorkerMaxNum=15,CollectionDropRate=1.500000,CollectionObjectRespawnSpeedRate=0.800000,EnemyDropItemRate=1.500000,GuildPlayerMaxNum=20,PalEggDefaultHatchingTime=2.000000,WorkSpeedRate=1.200000,bIsMultiplay=True,bIsPvP=False,bEnableNonLoginPenalty=True,bEnableFastTravel=True,bExistPlayerAfterLogout=False,CoopPlayerMaxNum=4,ServerPlayerMaxNum=16,ServerName="Pal Home",ServerDescription="private world",AdminPassword="ChangeMe_Long_Random",ServerPassword="",PublicPort=8211,RCONEnabled=True,RCONPort=25575,bUseAuth=True,bIsUseBackupSaveData=True)

Параметры, которые реально влияют на нагрузку

ПараметрЧто делаетЗаметка по производительности
ServerPlayerMaxNumПотолок слотов (максимум 32)Каждый игрок тянет за собой базу, палов и строения — цена слота нелинейна
BaseCampMaxNumЧисло лагерей на весь мирГлавный источник просадок в долгих мирах, 128 — уже много
BaseCampWorkerMaxNumПалов-работников на лагерьКаждый работник — активный ИИ-агент; 15 против 20 даёт ощутимую разницу
PalSpawnNumRateПлотность спавна в миреЗначения выше 1.5 разгоняют потребление CPU без пользы для геймплея
DropItemMaxNumЛимит лежащих на земле предметовСнижение до 1500–2000 разгружает тики и сейвы
bExistPlayerAfterLogoutТело игрока остаётся в мире после выходаДержите False, иначе симулируются «пустые» персонажи
bIsUseBackupSaveDataВнутренние резервные копии мираОбязательно True: спасает при повреждении сейва

RCON и администрирование

Без RCON управлять миром неудобно. Включите RCONEnabled=True, задайте длинный AdminPassword и подключайтесь любым RCON-клиентом на 127.0.0.1:25575. Полезные команды:

ShowPlayers          # список игроков со SteamID
Info                 # версия и имя мира
Save                 # принудительное сохранение
Broadcast Restart_in_5_min
KickPlayer <SteamID>
BanPlayer <SteamID>
Shutdown 60 Server_restart

Порт RCON наружу не пробрасывается никогда. Управление — только с локальной машины или через защищённый туннель.



Проброс портов: от статического локального адреса до проверки снаружи

Пока порты закрыты, подключиться смогут только устройства в вашей домашней сети. Порядок действий строго такой.

Шаг 1. Зафиксировать локальный IP машины

В настройках роутера сделайте DHCP-резервацию по MAC-адресу ПК. Иначе после перезагрузки адрес сменится и правило проброса будет указывать в пустоту. Проверить текущий адрес:

ipconfig            :: Windows
ip -4 addr show     # Linux

Шаг 2. Открыть порты в брандмауэре Windows

netsh advfirewall firewall add rule name="Palworld Game UDP 8211" dir=in action=allow protocol=UDP localport=8211
netsh advfirewall firewall add rule name="Palworld Query UDP 27015" dir=in action=allow protocol=UDP localport=27015

На Linux с ufw:

sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw status numbered

Шаг 3. Правила на роутере

ПортПротоколНужен снаружиНазначение
8211UDPДаОсновной игровой трафик
27015UDPЖелательноQuery-запросы, отображение в списке сообщества
25575TCPНетRCON — только локально
8212TCPНетREST API, если включён

В форме проброса указывайте одинаковые внешний и внутренний порты, протокол UDP и зарезервированный локальный адрес. UPnP лучше выключить: он периодически «теряет» правила и создаёт дубли.

Шаг 4. Проверить, что порт действительно виден

UDP не отвечает на обычный ping-порта, поэтому Test-NetConnection тут бесполезен. Рабочие методы: посмотреть внешний адрес в статусе WAN роутера и сравнить с тем, что показывает любой сервис определения IP, а затем попросить друга подключиться через меню игры по строке ВАШ_IP:8211.

Если адрес на роутере вида 100.64.x.x, 10.x.x.x или 172.16–31.x.x, вы за CGNAT. Проброс в этом случае физически не работает — нужен внешний белый адрес от оператора связи либо перенос мира на внешнюю площадку. Официальные требования и список параметров всегда стоит сверять с технической документацией Palworld.



Ограничения схемы «сервер Palworld на ПК»: игроки, память, стабильность

Локальный запуск закрывает сценарий «поиграть вечером вчетвером». Дальше начинаются потолки, которые не обходятся настройками.

Число игроков

Формальный максимум — 32 слота, но на домашней машине комфортная граница обычно 8–12. Дело не в количестве подключений, а в том, что каждый игрок строит лагерь с десятком палов-работников: тик мира растёт от количества активных ИИ-агентов и объектов застройки, а не от числа сессий.

Память и перезапуски

Потребление RAM у процесса стабильно ползёт вверх за несколько часов игры. Практика — перезапуск раз в 6–12 часов. На Linux это делается таймером systemd, на Windows — «Планировщиком заданий» с предварительной командой Shutdown 60 по RCON, чтобы игроки получили предупреждение и мир корректно записался.

Минимальный unit для Linux:

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

[Service]
User=palworld
WorkingDirectory=/home/palworld/PalServer
ExecStart=/home/palworld/PalServer/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -port=8211
Restart=on-failure
RestartSec=15

[Install]
WantedBy=multi-user.target

Сохранения

Мир лежит в Pal/Saved/SaveGames/0/<ID_мира>/. Копировать папку на живом процессе — прямой путь к битому сейву. Правильный порядок: Save по RCON, остановка процесса, копирование, старт. Держите хотя бы три поколения копий вне системного диска.

Сеть и аптайм

  • Асимметричный канал. Домашние подключения оптимизированы под скачивание; исходящий поток на 10+ игроков быстро упирается в потолок, и это выглядит как «лаги у всех, кроме хоста».
  • Динамический адрес. После переподключения линии IP меняется, и всем нужно раздавать новую строку подключения.
  • Открытый домашний адрес. Публикуя IP в Discord-сообществе, вы публикуете адрес своей квартиры в сети. Волюметрические атаки домашний канал не переживает; на внешней инфраструктуре фильтрация трафика работает на уровне сети.
  • Конкуренция за ресурсы. Пока хост сам играет, процесс делит с клиентом CPU и память — просадки тиков ощущают все.

Когда мир перерастает уровень «пара друзей», нагрузку выносят на отдельную машину: постоянный внешний адрес, автоматические резервные копии, консоль и файловый менеджер в панели Pterodactyl, мгновенная установка. Так устроен Сервер Palworld и остальные Все наши игровые серверы; разборы конфигов по другим играм — в Блог Fly-Serv.



Итог

Локальный запуск Palworld — это три вещи, сделанные аккуратно: корректный PalWorldSettings.ini в одну строку, открытый UDP 8211 с зафиксированным локальным адресом и дисциплина перезапусков с копиями мира. Пока вас четверо-вос