Как запустить сервер 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
После первого запуска рабочий файл почти пустой. Скопируйте в него содержимое эталона целиком и только потом меняйте значения.
Три правила, которые ломают конфиг чаще всего
- Вся строка
OptionSettings=(...)— одна физическая строка. Любой перенос внутри скобок, добавленный редактором, и файл читается как повреждённый: игра молча откатится к значениям по умолчанию. - Булевы значения пишутся как
TrueиFalseс заглавной буквы.trueв нижнем регистре игнорируется. - Заголовок секции
[/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. Правила на роутере
| Порт | Протокол | Нужен снаружи | Назначение |
|---|---|---|---|
| 8211 | UDP | Да | Основной игровой трафик |
| 27015 | UDP | Желательно | Query-запросы, отображение в списке сообщества |
| 25575 | TCP | Нет | RCON — только локально |
| 8212 | TCP | Нет | 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 с зафиксированным локальным адресом и дисциплина перезапусков с копиями мира. Пока вас четверо-вос