Palworld — одна из самых ресурсоёмких выживалок последних лет: даже небольшой приватный сервер на 4–8 игроков стабильно потребляет 12–16 ГБ RAM в активной игре. Если вы хотите развернуть palworld сервер для своей компании и получить стабильный аптайм без лагов — обычного бюджетного VPS не хватит. В этой статье разберём честные требования к железу, пошаговую установку через SteamCMD на Ubuntu, тонкую настройку конфигурационных файлов и оптимизацию использования памяти. Никаких обещаний «запустить на минималках» — только рабочие рекомендации.
Требования к железу: честно о ресурсах
Прежде чем перейти к установке, важно понять реальные требования Palworld Dedicated Server.
| Игроки | RAM | CPU | Диск |
|---|---|---|---|
| 2–4 | 12 ГБ | 6+ vCPU | 20 ГБ |
| 4–8 | 16 ГБ | 8+ vCPU | 30 ГБ |
| 8–16 | 20–24 ГБ | 12+ vCPU | 40 ГБ |
| 16–32 | 28–32 ГБ | 16+ vCPU | 50 ГБ |
Palworld активно использует многопоточность и потребляет память пропорционально числу активных игроков, загруженных чанков и пойманных палов.
Рекомендуемый тариф для Palworld на Cheap-Host:
- До 8 игроков: Pro (750 ₽/мес) — 12 vCPU, 16 ГБ RAM, 128 ГБ NVMe
- До 16–32 игроков: Ultra (1500 ₽/мес) — 20 vCPU, 32 ГБ RAM, 192 ГБ NVMe
Тариф Start (8 ГБ RAM) для Palworld не подходит — сервер будет нестабилен уже при 2–3 одновременных игроках.
Подробный разбор требований к ресурсам разных игровых серверов — в статье Сколько ресурсов нужно игровому серверу.
Подготовка сервера Ubuntu
Все команды выполняются от root или через sudo. Рекомендуемая ОС — Ubuntu 22.04 LTS.
# Обновляем систему
apt update && apt upgrade -y
# Устанавливаем необходимые зависимости
apt install -y \
lib32gcc-s1 \
steamcmd \
curl \
wget \
screen \
htop \
unzip
Если steamcmd недоступен в стандартных репозиториях — добавляем multiverse и i386:
add-apt-repository multiverse
dpkg --add-architecture i386
apt update
apt install -y steamcmd
Создание отдельного пользователя
Запускать игровой сервер от root — плохая практика. Создадим отдельного пользователя:
useradd -m -s /bin/bash palworld
passwd palworld
# Переходим под пользователя
su - palworld
Все дальнейшие команды выполняются от пользователя palworld.
Установка Palworld Dedicated Server через SteamCMD
# Создаём директории
mkdir -p ~/palworld-server
mkdir -p ~/steamcmd
# Скачиваем SteamCMD (если не установлен через apt)
cd ~/steamcmd
curl -sqL "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" | tar zxvf -
# Устанавливаем Palworld Dedicated Server
# App ID: 2394010
~/steamcmd/steamcmd.sh \
+@sSteamCmdForcePlatformType linux \
+force_install_dir ~/palworld-server \
+login anonymous \
+app_update 2394010 validate \
+quit
Загрузка займёт несколько минут — размер сервера около 5–7 ГБ. SteamCMD покажет прогресс в процентах.
Проверка установки
ls -la ~/palworld-server/
# Должны увидеть: PalServer.sh, Engine/, Pal/ и другие директории
# Проверяем исполняемый файл
file ~/palworld-server/PalServer.sh
Первый запуск и генерация конфигов
При первом запуске сервер создаёт конфигурационные файлы:
cd ~/palworld-server
./PalServer.sh \
-port=8211 \
-players=16 \
-useperfthreads \
-NoAsyncLoadingThread \
-UseMultithreadForDS \
&
# Ждём 30–60 секунд, затем останавливаем
sleep 60
kill %1
После первого запуска появится файл конфигурации:
ls ~/palworld-server/Pal/Saved/Config/LinuxServer/
# PalWorldSettings.ini — основной конфиг
Настройка PalWorldSettings.ini
Это главный конфигурационный файл сервера. Откройте его:
nano ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
Базовая конфигурация для стабильной работы:
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(
Difficulty=None,
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
PalDamageRateAttack=1.000000,
PalDamageRateDefense=1.000000,
PlayerDamageRateAttack=1.000000,
PlayerDamageRateDefense=1.000000,
PlayerStomachDecreaceRate=1.000000,
PlayerStaminaDecreaceRate=1.000000,
PlayerAutoHPRegeneRate=1.000000,
PlayerAutoHpRegeneRateInSleep=1.000000,
PalStomachDecreaceRate=1.000000,
PalStaminaDecreaceRate=1.000000,
PalAutoHPRegeneRate=1.000000,
PalAutoHpRegeneRateInSleep=1.000000,
BuildObjectDamageRate=1.000000,
BuildObjectDeteriorationDamageRate=1.000000,
CollectionDropRate=1.000000,
CollectionObjectHpRate=1.000000,
CollectionObjectRespawnSpeedRate=1.000000,
EnemyDropItemRate=1.000000,
DeathPenalty=All,
bEnablePlayerToPlayerDamage=False,
bEnableFriendlyFire=False,
bEnableInvaderEnemy=True,
bActiveUNKO=False,
bEnableAimAssistPad=True,
bEnableAimAssistKeyboard=False,
DropItemMaxNum=3000,
DropItemMaxNum_UNKO=100,
BaseCampMaxNum=128,
BaseCampWorkerMaxNum=15,
DropItemAliveMaxHours=1.000000,
bAutoResetGuildNoOnlinePlayers=False,
AutoResetGuildTimeNoOnlinePlayers=72.000000,
GuildPlayerMaxNum=20,
PalEggDefaultHatchingTime=72.000000,
WorkSpeedRate=1.000000,
bIsMultiplay=True,
bIsPvP=False,
bCanPickupOtherGuildDeathPenaltyDrop=False,
bEnableNonLoginPenalty=True,
bEnableFastTravel=True,
bIsStartLocationSelectByMap=True,
bExistPlayerAfterLogout=False,
bEnableDefenseOtherGuildPlayer=False,
CoopPlayerMaxNum=4,
ServerPlayerMaxNum=16,
ServerName="My Palworld Server",
ServerDescription="Powered by Cheap-Host",
AdminPassword="ЗАМЕНИТЕ_НА_НАДЁЖНЫЙ_ПАРОЛЬ",
ServerPassword="",
PublicPort=8211,
PublicIP="",
RCONEnabled=False,
RCONPort=25575,
Region="",
bUseAuth=True,
BanListURL="https://api.palworldgame.com/api/banlist.txt"
)
Обязательно замените AdminPassword на надёжный пароль.
Оптимизация памяти для Palworld
Palworld известен утечками памяти и высоким потреблением RAM. Несколько методов оптимизации:
Параметры запуска для снижения нагрузки
./PalServer.sh \
-port=8211 \
-players=16 \
-useperfthreads \
-NoAsyncLoadingThread \
-UseMultithreadForDS \
-malloc=system \
EpicApp=PalServer
Параметры:
-useperfthreads— оптимизирует использование потоков CPU-NoAsyncLoadingThread— снижает нагрузку на память при загрузке-UseMultithreadForDS— включает многопоточность для выделенных серверов-malloc=system— использует системный аллокатор памяти вместо встроенного
Настройка swap-файла
Даже если у вас Ultra-тариф с 32 ГБ RAM, swap лишним не будет — он защитит от OOM-killer в пиковые моменты:
# Создаём swap-файл 8 ГБ
fallocate -l 8G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
# Добавляем в /etc/fstab для автомонтирования
echo '/swapfile none swap sw 0 0' >> /etc/fstab
# Настраиваем swappiness (10 = использовать swap только при крайней необходимости)
sysctl vm.swappiness=10
echo 'vm.swappiness=10' >> /etc/sysctl.conf
Проверяем:
free -h
swapon --show
Ограничение числа активных палов и объектов
В PalWorldSettings.ini снижение этих параметров заметно уменьшает потребление RAM:
DropItemMaxNum=2000, # было 3000
BaseCampWorkerMaxNum=10, # было 15
DropItemAliveMaxHours=0.500000, # было 1.0
Автозапуск через systemd
Systemd обеспечит автоматический перезапуск сервера при сбоях и после перезагрузки VPS:
# Создаём unit-файл (от root)
sudo nano /etc/systemd/system/palworld.service
[Unit]
Description=Palworld Dedicated Server
After=network.target
Wants=network-online.target
[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStart=/home/palworld/palworld-server/PalServer.sh \
-port=8211 \
-players=16 \
-useperfthreads \
-NoAsyncLoadingThread \
-UseMultithreadForDS \
EpicApp=PalServer
ExecStop=/bin/kill -SIGTERM $MAINPID
Restart=on-failure
RestartSec=30
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Включаем и запускаем:
sudo systemctl daemon-reload
sudo systemctl enable palworld
sudo systemctl start palworld
# Проверяем статус
sudo systemctl status palworld
# Смотрим логи
sudo journalctl -u palworld -f
Настройка брандмауэра
Palworld использует следующие порты:
| Порт | Протокол | Назначение |
|---|---|---|
| 8211 | UDP | Основной игровой порт |
| 8211 | TCP | Вспомогательный |
| 27015 | UDP | Steam Query |
| 25575 | TCP | RCON (если включён) |
# UFW
sudo ufw allow 8211/udp
sudo ufw allow 8211/tcp
sudo ufw allow 27015/udp
sudo ufw enable
# Проверяем правила
sudo ufw status
Обновление сервера
При выходе обновлений Palworld нужно обновить серверные файлы:
# Останавливаем сервер
sudo systemctl stop palworld
# Запускаем обновление через SteamCMD
su - palworld -c "
~/steamcmd/steamcmd.sh \
+@sSteamCmdForcePlatformType linux \
+force_install_dir ~/palworld-server \
+login anonymous \
+app_update 2394010 validate \
+quit
"
# Запускаем сервер
sudo systemctl start palworld
Для автоматических обновлений и резервного копирования мира смотрите статью Бэкапы и автоперезапуск игрового сервера.
Мониторинг ресурсов
Palworld потребляет много ресурсов — важно следить за состоянием сервера:
# Общий мониторинг: CPU, RAM, нагрузка
htop
# Потребление RAM процессом сервера
ps aux | grep PalServer | grep -v grep | awk '{print $6/1024 " MB"}'
# Статус systemd-сервиса
sudo systemctl status palworld
# Последние 100 строк лога
sudo journalctl -u palworld -n 100
# Место на диске
df -h ~/palworld-server/Pal/Saved/
Если RAM заканчивается — проверьте параметры запуска и снизьте лимиты объектов в конфиге.
Защита сервера
Публичный игровой сервер — мишень для DDoS и брутфорса. Базовые меры безопасности:
# Смена SSH-порта
sudo nano /etc/ssh/sshd_config
# Меняем Port 22 на нестандартный, например 2222
sudo systemctl restart ssh
# Установка fail2ban
sudo apt install -y fail2ban
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Подробнее о защите игрового сервера — в статье Защита игрового сервера.
Частые вопросы
Почему сервер Palworld потребляет столько RAM?
Palworld — Unreal Engine 5-игра с открытым миром. Сервер загружает в память чанки карты вокруг всех игроков, данные о палах, строениях и предметах. При 8+ игроках активных чанков становится очень много. Это особенность движка, радикально снизить потребление без ущерба для игры не получится — можно только ограничить количество объектов в конфиге.
Сколько игроков выдержит тариф Pro (16 ГБ RAM)?
Реально — 6–10 стабильных игроков. При 12–16 игроках в активной игре памяти начнёт не хватать. Для 16+ игроков берите Ultra (32 ГБ RAM).
Почему сервер виден в списке, но игроки не могут подключиться?
Проверьте: открыт ли порт 8211/UDP в брандмауэре (sudo ufw status), правильно ли указан PublicPort в конфиге, не блокирует ли трафик провайдер. Выполните sudo netstat -ulnp | grep 8211 — порт должен быть в состоянии LISTEN.
Как сделать резервную копию мира?
Данные мира хранятся в /home/palworld/palworld-server/Pal/Saved/SaveGames/. Скопируйте эту директорию в безопасное место. Рекомендуется автоматизировать бэкапы через cron или systemd timer — подробная инструкция в статье Бэкапы и автоперезапуск игрового сервера.
Palworld обновился, клиент не соответствует серверу — что делать?
Остановите сервер (sudo systemctl stop palworld), обновите через SteamCMD командой app_update 2394010 validate, затем снова запустите. После крупных обновлений рекомендуется сделать бэкап мира перед обновлением.
Palworld сервер требует серьёзных ресурсов — не стоит экономить на железе и потом страдать от лагов и крашей. Тариф Ultra от 1500 ₽/месяц на Cheap-Host даёт 20 vCPU, 32 ГБ RAM и 192 ГБ NVMe на KVM-виртуализации с аптаймом 99,9% и сервером в Москве. Этого хватит даже для крупного сервера на 20+ игроков. Сервер готов через 45–60 секунд после оплаты.