Palworld Руководство

Как настроить сервер Palworld на Ubuntu для PC, Xbox и PS5

Запуск выделенного сервера, активный INI, поиск с консолей и копирование сохранений.

Как настроить сервер Palworld на Ubuntu для PC, Xbox и PS5

Установим выделенный сервер Palworld от имени отдельного Linux-пользователя, настроим файл, который действительно читает игра, и включим поиск сервера для консолей. Создадим новый мир без модов на чистом VPS с Ubuntu 24.04 x86_64, публичным IPv4, SSH и пользователем с sudo. Инструкция опирается на документацию Pocketpair 1.0.4, проверенную 12 октября 2026 года.

Старые инструкции, исключающие PS5 из crossplay выделенных серверов, уже не соответствуют актуальному списку платформ. Поддерживаются Steam, Xbox/Microsoft Store, Mac и PS5; игрокам Xbox и PS5 нужен community-сервер в списке внутри игры.

Выберите память и способ поиска сервера#

В требованиях Pocketpair рекомендованы четыре и более ядра CPU и указаны 16 ГБ RAM; для большей нагрузки нужно больше памяти. Сервер может запуститься с 8 ГБ, но риск падения из-за нехватки памяти выше. Используйте SSD и оставьте место для мира и архивов. Эти требования помогают выбрать стартовую конфигурацию, но не гарантируют определённое число игроков.

Community-сервер — тот же выделенный процесс, зарегистрированный в игровом списке. В этой инструкции регистрация включена. Для частной группы только на PC с подключением по IP можно убрать -publiclobby; для Xbox или PS5 оставьте его. Сервер в списке может требовать пароль входа.

Community-список помогает консолям найти сервер. Игровой UDP-порт, активный INI и архив сохранений — отдельные проверки.

Скачайте программу в постоянный каталог#

Выполните команды на VPS. Игровой пользователь имеет собственный HOME, владеет установкой и не запускает игру от root:

bash
sudo apt update
sudo apt install -y ca-certificates curl lib32gcc-s1 libstdc++6 nano ufw
sudo adduser --system --group --home /srv/palworld palworld
sudo install -d -o palworld -g palworld -m 750 /srv/palworld/steamcmd /srv/palworld/server
sudo -u palworld -H curl -fsSLo /srv/palworld/steamcmd/steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo -u palworld -H tar -xzf /srv/palworld/steamcmd/steamcmd.tar.gz -C /srv/palworld/steamcmd
sudo -u palworld -H /srv/palworld/steamcmd/steamcmd.sh +force_install_dir /srv/palworld/server +login anonymous +app_update 2394010 validate +quit

ID приложения и скрипт PalServer.sh приведены в инструкции установки. Убедитесь, что загрузка завершилась успешно; сведения о сборке сохраните в заметках по серверу. Один раз запустите программу в текущем терминале, чтобы появились каталоги конфигурации:

bash
sudo -u palworld -H /bin/bash -c 'cd /srv/palworld/server && ./PalServer.sh -port=8211'

Дождитесь запуска, нажмите Ctrl+C и дождитесь завершения первого процесса. Пока не пускайте игроков. Ошибки библиотек или запуска нужно исправить до следующего шага: служба не исправит установку, которая ни разу не заработала.

Скопируйте все настройки и измените активный INI#

На новой установке скопируйте шаблон установленной версии:

bash
sudo -u palworld cp /srv/palworld/server/DefaultPalWorldSettings.ini /srv/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
sudo chmod 600 /srv/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
sudo -u palworld nano /srv/palworld/server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Не повторяйте копирование на уже настроенном мире: оно перезапишет ваши параметры. Документация конфигурации отдельно объясняет, что изменение самого DefaultPalWorldSettings.ini не меняет настройки работающего мира.

Сохраните заголовок секции и одну полную строку OptionSettings=(...). Внутри неё замените значения существующих ключей из примера. Это фрагмент для поиска и редактирования, а не файл на замену:

ini
ServerName="Our Palworld Server",ServerDescription="Private group",ServerPassword="REPLACE_JOIN_SECRET",AdminPassword="REPLACE_ADMIN_SECRET",ServerPlayerMaxNum=8,CrossplayPlatforms=(Steam,Xbox,PS5,Mac),RCONEnabled=False,RESTAPIEnabled=False

Для входа и администрирования задайте разные случайные пароли. Остальные поля шаблона и внешние скобки оставьте; не добавляйте вторую строку OptionSettings. Официальный репозиторий Pocketpair показывает секцию [/Script/Pal.PalGameWorldSettings] и синтаксис кортежа. Визуальный перенос длинной строки редактором допустим; разделение кортежа на самостоятельные INI-ключи — нет.

Сначала оставьте PublicIP пустым. PublicPort сообщает адресный порт для подключения, но не меняет порт прослушивания. Его мы явно зададим при запуске. RCON и REST здесь отключены, поэтому открывать для них входящие порты не нужно.

Запустите community-сервер как службу#

Откройте sudo nano /etc/systemd/system/palworld.service:

ini
[Unit]
Description=Palworld dedicated server
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/srv/palworld/server
Environment=HOME=/srv/palworld
ExecStart=/srv/palworld/server/PalServer.sh -port=8211 -publiclobby
KillSignal=SIGINT
TimeoutStopSec=180
SendSIGKILL=no
Restart=no
UMask=0027

[Install]
WantedBy=multi-user.target

-publiclobby включает регистрацию community-сервера. Старую связку -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS не добавляйте: актуальный справочник аргументов отмечает, что в 1.0 и новее без неё производительность может быть выше. Проверяйте реальную нагрузку перед добавлением оптимизационных флагов.

Restart=no позволяет оставить сервер выключенным после команды остановки из игры и сделать копию. В аварийной ситуации службу можно остановить из Linux, но обычная процедура сохранения ниже использует документированные игровые команды.

bash
sudo systemctl daemon-reload
sudo systemctl enable --now palworld
sudo systemctl status palworld --no-pager
sudo journalctl -u palworld -n 100 --no-pager

Откройте UDP и проверьте каждую платформу#

Разрешите реальный SSH-порт до включения UFW. В примере это 22; замените его на порт текущего SSH-подключения. В firewall провайдера разрешите тот же игровой порт:

bash
sudo ufw allow 22/tcp
sudo ufw allow 8211/udp
sudo ufw enable
sudo ufw status verbose
sudo ss -lunp

Игровой маршрут использует UDP 8211. Открытый TCP 8211 его не заменяет. Оставьте исходящий доступ для загрузки файлов и регистрации community-сервера.

На PC с полем ввода адреса подключитесь к VPS_IP:8211. На Xbox и PS5 найдите заданный ServerName в community-списке. Сравните отображаемое имя с настроенным: стандартное имя может означать, что активная конфигурация не применилась.

Зайдите с внешнего подключения игрока и введите пароль входа. Проверьте именно те платформы, которыми пользуется группа: успешный вход с PC ещё не подтверждает поиск с консоли. При ошибке запишите версии клиента и сервера. Одно состояние active не доказывает совместимость.

Сохраните мир, остановите сервер и скачайте копию#

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

text
/AdminPassword REPLACE_ADMIN_SECRET
/Save
/Shutdown 30 Maintenance

Дождитесь завершения остановки. На VPS проверьте:

bash
sudo systemctl is-active palworld
sudo systemctl show palworld -p MainPID -p SubState
sudo journalctl -u palworld -n 80 --no-pager

Игровой процесс должен завершиться (MainPID=0), а журнал — показать законченную остановку. Неожиданное падение сначала разберите, прежде чем считать его файлы чистой копией. Если остановка ещё выполняется, не архивируйте живые данные и не убивайте процесс ради нужного статуса.

Заархивируйте всё дерево Pal/Saved, включая конфигурацию и миры:

bash
set -e
sudo install -d -m 700 /var/backups/palworld
PALWORLD_BACKUP="/var/backups/palworld/palworld-$(date -u +%Y%m%dT%H%M%SZ).tar.gz"
sudo tar -czf "$PALWORLD_BACKUP" -C /srv/palworld/server Pal/Saved
sudo tar -tzf "$PALWORLD_BACKUP"
install -d -m 700 "$HOME/gamehost-backup-export"
sudo install -m 600 -o "$(id -u)" -g "$(id -g)" "$PALWORLD_BACKUP" "$HOME/gamehost-backup-export/palworld-backup.tar.gz"
sudo systemctl start palworld

Выполните блок архивации целиком: set -e остановит его при ошибке до перезапуска службы. Файл для скачивания создаётся сразу с правами 600 в вашем закрытом каталоге; датированный архив остаётся доступен только root.

На своём компьютере скачайте копию по SSH. Используйте тот же логин, от которого выполняли команды архивации, и укажите публичный адрес; для нестандартного SSH-порта добавьте -P YOUR_SSH_PORT:

bash
scp SSH_USER@VPS_IP:gamehost-backup-export/palworld-backup.tar.gz ./palworld-backup.tar.gz

После скачивания выполните на VPS rm -- "$HOME/gamehost-backup-export/palworld-backup.tar.gz". Датированные архивы, файл службы и сведения о сборке храните вне сервера. Убедитесь, что небольшое изменение мира переживает остановку и запуск. Для доказательства пригодности архива всё равно нужна отдельная репетиция восстановления с соответствующей версией программы и изолированным адресом подключения.

Обновляйте в окно обслуживания и проверяйте симптом#

Перед обновлением повторите остановку из игры и резервное копирование, пропустив последнюю команду sudo systemctl start palworld в блоке архивации. Ещё раз проверьте MainPID=0, затем выполните прежнюю команду загрузки SteamCMD. Если после копирования вы уже запустили сервер, сначала повторите /Save и /Shutdown и подтвердите завершение процесса. Сохраните активный INI: сравните его с новым шаблоном вместо перезаписи. Запустите службу и проверьте прогресс мира и платформы участников.

Что наблюдаетеПолезная следующая проверка
PC заходит, Xbox/PS5 не находит серверВ команде службы должен быть -publiclobby, а в community-списке — правильное имя. Проверьте разрешённые платформы в активном INI.
Настройки не применяютсяПроверьте Pal/Saved/Config/LinuxServer/PalWorldSettings.ini, секцию и единственный полный кортеж по шаблону установленной версии. Редактируйте после остановки.
Подключение по IP заканчивается таймаутомUDP 8211 в обоих firewall, сокет прослушивания и публичный адрес.
В списке неверный адрес подключенияСопоставьте -port, публичный IP и объявленный PublicPort; исправляйте адрес после подтверждения расхождения.
Под нагрузкой служба исчезаетИзучите journalctl -u palworld и journalctl -k: падение или OOM kill. Соберите данные о памяти и нагрузке до смены лимитов или покупки более мощного VPS.
Новый мир или пропавший прогрессПрекратите дальнейшую игру и сохраните весь Pal/Saved перед восстановлением; проверьте, какую установку запустила служба.

Ошибка поиска сервера, ошибка сетевого маршрута и ошибка выбора сохранения требуют разных исправлений. Сохраните сведения о сбое и меняйте параметр, связанный с наблюдаемым симптомом.