Как поднять сервер Palworld: пошаговая инструкция
Собрались играть в Palworld с друзьями и уже упёрлись в лимиты официального крафтового режима или просто хотите свой мир без чужих гриферов? Свой сервер решает это за полчаса, если знать, куда смотреть — а грабель тут хватает, начиная с того, что игра ест памяти куда больше, чем кажется на первый взгляд. Ниже — рабочая пошаговая инструкция: от требований к железу до автозапуска после перезагрузки.
Содержание
Системные требования: сколько RAM реально нужно
Palworld — довольно прожорливая игра на сервере, и это стоит понять до аренды VPS, а не после первого краша по нехватке памяти. Официальный минимум от разработчиков (Pocketpair) — 16 ГБ RAM для комфортной игры компании из нескольких человек, но на практике сервер на 4-8 игроков стабильно живёт и на 8 ГБ, если не набивать карту сотнями построек и палов.
Ключевой момент, который ловит новичков: потребление памяти растёт не столько от числа онлайн-игроков, сколько от размера мира — построек баз, количества призванных палов, длины истории сохранений. Сервер, который держал 4 ГБ в первую неделю, через месяц активной стройки может упереться в 6-7 ГБ на пустом месте. Поэтому:
- 2-4 игрока, казуальный режим — от 8 ГБ RAM, 4 vCPU.
- 5-8 игроков, активная стройка — от 12-16 ГБ RAM.
- 8+ игроков или PvP-кластер — от 16 ГБ и выше, лучше с запасом.
CPU тоже важен: Palworld плохо прощает слабые процессоры при большом количестве одновременно активных палов (они все считают ИИ-поведение). Берите VPS с современными ядрами, а не самыми дешёвыми урезанными vCPU — разница в тикрейте симуляции будет заметна сразу.
Диск — от 20-30 ГБ свободного места с запасом под сохранения и бэкапы: сама игра весит около 10-15 ГБ вместе с сервером, но сейвы растут со временем.
Установка сервера через SteamCMD
Palworld Dedicated Server распространяется через Steam как отдельное приложение, поэтому ставим его через SteamCMD — консольный клиент Steam для загрузки без графического интерфейса. На чистом Ubuntu/Debian сначала ставим зависимости:
sudo add-apt-repository multiverse
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install steamcmd -y
Дальше создаём отдельного пользователя (не работайте от root — это плохая практика для любого игрового сервера) и качаем сам сервер по его App ID — 2394010:
useradd -m palworld
su - palworld
mkdir -p ~/Steam ~/palworld-server
steamcmd +force_install_dir ~/palworld-server +login anonymous +app_update 2394010 validate +quit
Загрузка займёт от 10 до 30 минут в зависимости от канала VPS — файлов там немало. После validate SteamCMD сам проверит целостность и докачает недостающее. Если хотите обновлять сервер регулярно (а разработчики выкатывают патчи часто), сохраните эту команду в отдельный скрипт update.sh — пригодится.
Поднять сервер Palworld за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверПервый запуск и структура файлов
После установки в ~/palworld-server появится структура, похожая на:
palworld-server/
├── PalServer.sh
├── Engine/
└── Pal/
├── Binaries/
├── Content/
└── Saved/
├── Config/
│ └── LinuxServer/
│ └── PalWorldSettings.ini
└── SaveGames/
Файл PalWorldSettings.ini при первом запуске может отсутствовать — он создаётся автоматически после первого старта сервера, либо его нужно скопировать из шаблона DefaultPalWorldSettings.ini, если такой лежит рядом. Смело запускайте сервер один раз просто чтобы сгенерировать конфиги, потом останавливайте (Ctrl+C) и правьте настройки уже осознанно — так проще, чем гадать формат вручную.
Настройка PalWorldSettings.ini
Это главный конфиг сервера — тут задаётся всё: от названия мира до множителей опыта. Структура файла — одна длинная строка OptionSettings=(...) с параметрами через запятую. Открываем ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini и правим нужные значения внутри скобок, не ломая синтаксис остальных.
Самые важные параметры для старта:
ServerName="Мой Palworld сервер"
ServerDescription="Для друзей, PvE, лут x2"
AdminPassword="сложный_пароль_админа"
ServerPassword="пароль_для_входа_если_нужен"
PublicPort=8211
PublicIP=""
ServerPlayerMaxNum=8
ExpRate=1.500000
PalCaptureRate=1.500000
PalSpawnNumRate=1.000000
ItemWeightRate=1.000000
DeathPenalty=All
bEnablePlayerToPlayerDamage=False
bEnableFriendlyFire=False
bEnableInvaderEnemy=True
bIsMultiplay=True
bIsPvP=False
DayTimeSpeedRate=1.000000
NightTimeSpeedRate=1.000000
Что тут важно понимать на практике:
ServerPlayerMaxNum— не задирайте выше реального числа игроков "про запас": каждый слот в теории увеличивает пиковую нагрузку на память и CPU, даже пустой.bIsPvP=Trueвключает боевой режим между игроками — вместе с ним обычно поднимаютbEnablePlayerToPlayerDamage=True, иначе PvP формально включён, но урона друг другу нет.DeathPenalty— на что штрафуется игрок при смерти:None,Item(теряет только предметы из инвентаря),ItemAndEquipmentилиAll(теряет всё, включая палов на руках). Для казуальных серверов с друзьями обычно ставятItemилиNone—Allбыстро выбешивает новичков.- Множители (
ExpRate,PalCaptureRateи другие) — это ориентировочные значения "на глаз", а не измеренные оптимальные цифры: тестируйте на своей группе и подстраивайте, универсального "правильного" множителя не существует.
После правки конфига обязательно проверьте, что не сломали синтаксис — одна лишняя или недостающая скобка ) уронит парсинг всей строки, и сервер откатится к дефолтным настройкам молча, без явной ошибки. Это одна из самых частых граблей у новичков.
Запуск через PalServer.sh и первичная диагностика
Сам сервер запускается скриптом PalServer.sh из корня установки:
cd ~/palworld-server
./PalServer.sh -port=8211 -players=8
Для боевой эксплуатации почти всегда используют флаг -useperfthreads (лучше распределяет потоки между ядрами) и -NoAsyncLoadingThread при проблемах с загрузкой на слабом железе, плюс -publiclobby, если хотите видимость сервера в публичном списке лобби Steam:
./PalServer.sh -port=8211 -players=8 -useperfthreads -NoAsyncLoadingThread -publiclobby
Для запуска в фоне без постоянного SSH-подключения проще всего screen или tmux:
screen -S palworld
./PalServer.sh -port=8211 -players=8
Отключиться от сессии — Ctrl+A, затем D, сервер продолжит работать. Вернуться — screen -r palworld.
Логи запуска смотрите прямо в консоли: если сервер падает сразу после старта без явной причины — почти всегда это либо нехватка RAM (сервер убивает OOM Killer системы), либо битый PalWorldSettings.ini. Проверить причину падения по нехватке памяти:
dmesg | grep -i "out of memory"
Если строка есть — увеличивайте RAM или снижайте ServerPlayerMaxNum, третьего варианта тут особо нет.
Проброс портов и сетевые настройки
Palworld-сервер по умолчанию слушает UDP-порт 8211 — это основной игровой трафик, и именно UDP, а не TCP, что иногда путают при настройке файрвола. Если играете через REST API сервера (для админ-панелей и внешних инструментов управления), дополнительно нужен TCP-порт 8212 — он не открыт по умолчанию, включается отдельно параметром RESTAPIEnabled=True в конфиге.
На VPS с публичным IP проброс обычно не нужен — достаточно открыть порт в файрволе:
sudo ufw allow 8211/udp
sudo ufw allow 8212/tcp # только если используете REST API
Если сервер стоит дома за роутером (не рекомендуем для постоянного проекта — надёжность и аптайм у арендованного VPS ощутимо выше), порты пробрасываются в настройках роутера на локальный IP машины с сервером, плюс тот же UFW/iptables внутри самой машины.
Проверить, что порт реально открыт снаружи, можно любым онлайн-чекером портов, указав свой публичный IP и порт 8211 UDP. Если сервер не виден в списке — почти всегда дело либо в файрволе провайдера/VPS, либо в том, что сам процесс PalServer.sh ещё не поднялся до конца (первый старт с генерацией мира может занять пару минут).
Автозапуск через systemd
Чтобы сервер поднимался сам после перезагрузки VPS или падения процесса, оформите его как systemd-сервис — это надёжнее скринов и не требует ручного контроля. Создайте файл /etc/systemd/system/palworld.service:
[Unit]
Description=Palworld Dedicated Server
After=network.target
[Service]
Type=simple
User=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStart=/home/palworld/palworld-server/PalServer.sh -port=8211 -players=8 -useperfthreads -publiclobby
Restart=on-failure
RestartSec=15
[Install]
WantedBy=multi-user.target
Дальше включаем и запускаем:
sudo systemctl daemon-reload
sudo systemctl enable palworld
sudo systemctl start palworld
sudo systemctl status palworld
Restart=on-failure — важная страховка: если сервер упадёт по OOM или любой другой ошибке, systemd поднимет его заново через 15 секунд без вашего участия. Логи после этого удобно смотреть через journalctl -u palworld -f вместо консоли screen.
Поднять сервер Palworld за пару минут
Готовый образ MAATRIX GAMES: NVMe, AMD EPYC, DDoS-защита, панель управления. Локации UK, US, RU. Оплата картой РФ, СБП или криптой.
Создать серверЧастые вопросы
Сколько игроков реально держит сервер на 8 ГБ RAM?
Комфортно — 3-5 человек в казуальном режиме без огромных баз. При 8+ игроках и активной стройке лучше сразу закладывать 12-16 ГБ, иначе будете упираться в память при первом же крупном ивенте (рейд, массовое строительство).
Можно ли перенести сохранение с локального сервера на арендованный?
Да, копируйте папку Pal/Saved/SaveGames/ целиком с исходной машины на новую с той же версией сервера — версии игры и сервера должны совпадать, иначе сейв может не загрузиться.
Как обновить сервер до новой версии без потери сейвов?
Останавливаете сервис (systemctl stop palworld), запускаете ту же команду SteamCMD с app_update 2394010 validate поверх существующей папки — сейвы в Saved/ не трогаются, обновляются только бинарники игры.
Нужен ли отдельный сервер для модов?
Официальной поддержки модов через Steam Workshop у Palworld на момент написания нет, моды ставятся вручную через сторонние загрузчики — совместимость версий стоит проверять при каждом крупном патче игры, это до сих пор не стандартизировано так, как у Minecraft с Forge или Fabric.
Что делать, если сервер не виден в списке лобби Steam?
Проверьте флаг -publiclobby в команде запуска и что порт 8211 UDP реально открыт снаружи — самая частая причина невидимости именно это, а не баг игры.