Перейти к основному содержимому
Вернуться в категорию

Установка сервера Palworld: Руководство по Dedicated Server

Установка выделенного сервера Palworld с помощью SteamCMD, настройка портов, параметры сервера, поддержка модов, автозапуск и оптимизация производительности.

Время чтения: 14 мин. Настройка игровых серверов
palworldигровой серверsteamcmddedicated serverlinux

Содержание

Введение

Palworld — популярная многопользовательская игра на выживание в открытом мире, сочетающая коллекционирование существ со строительством базы. Настроив собственный выделенный сервер, вы можете создать приватный мир для друзей или сообщества. В этом руководстве подробно описана установка Palworld Dedicated Server на вашем REXE VDS.

Системные требования

РесурсМинимумРекомендуется
CPU4 ядра6+ ядер
RAM8 ГБ16+ ГБ
Диск30 ГБ SSD50+ ГБ NVMe
ОСUbuntu 22.04+Ubuntu 22.04 LTS
Пропускная способность5 Мбит/с10+ Мбит/с

Сервер Palworld требует много оперативной памяти. Настоятельно рекомендуется 16 ГБ и более, особенно для серверов с 10+ игроками.

Предварительная подготовка

Подключитесь к серверу по SSH и установите необходимые пакеты:

hljs bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 wget tar screen

Создайте отдельного пользователя для сервера:

hljs bash
sudo adduser palworld --disabled-login --gecos ""
sudo su - palworld

Установка SteamCMD

SteamCMD необходим для загрузки файлов сервера Palworld:

hljs bash
mkdir -p ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xzf steamcmd_linux.tar.gz
rm steamcmd_linux.tar.gz

Проверьте установку:

hljs bash
./steamcmd.sh +quit

Загрузка файлов сервера Palworld

Загрузите файлы выделенного сервера Palworld с помощью SteamCMD:

hljs bash
~/steamcmd/steamcmd.sh +force_install_dir ~/palworld-server \
  +login anonymous \
  +app_update 2394010 validate \
  +quit

App ID 2394010 — это Steam ID для Palworld Dedicated Server. Первоначальная загрузка составляет примерно 5-6 ГБ.

Настройка сервера

Создание файла настроек

Настройки сервера Palworld хранятся в PalWorldSettings.ini:

hljs bash
mkdir -p ~/palworld-server/Pal/Saved/Config/LinuxServer
cp ~/palworld-server/DefaultPalWorldSettings.ini \
   ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Основные настройки

Отредактируйте файл настроек:

hljs bash
nano ~/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Ключевые параметры:

hljs ini
[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,
DayTimeSpeedRate=1.000000,
NightTimeSpeedRate=1.000000,
ExpRate=1.000000,
PalCaptureRate=1.000000,
PalSpawnNumRate=1.000000,
PlayerDamageRateAttack=1.000000,
PlayerDamageRateDefense=1.000000,
DeathPenalty=All,
ServerName="Мой REXE Palworld Сервер",
ServerDescription="REXE Palworld Dedicated Server",
AdminPassword="НАДЕЖНЫЙ_ПАРОЛЬ_АДМИНА",
ServerPassword="",
PublicPort=8211,
PublicIP="IP_СЕРВЕРА",
RCONEnabled=True,
RCONPort=25575,
ServerPlayerMaxNum=32,
bIsPvP=False,
CoopPlayerMaxNum=4)

Описание ключевых параметров

ПараметрОписаниеПо умолчанию
ExpRateСкорость получения опыта1.0
PalCaptureRateШанс поимки палов1.0
ServerPlayerMaxNumМаксимум игроков32
DeathPenaltyШтраф за смерть (None/Item/ItemAndEquipment/All)All
bIsPvPРежим PvPFalse
RCONEnabledУдалённое управлениеTrue

Настройка портов

ПортПротоколНазначение
8211UDPИгровой порт Palworld
27015UDPSteam query порт
25575TCPRCON (удалённое управление)

Правила файрвола

hljs bash
sudo ufw allow 8211/udp comment "Palworld Game"
sudo ufw allow 27015/udp comment "Palworld Steam Query"
sudo ufw allow 25575/tcp comment "Palworld RCON"

Path Panel Firewall

Через REXE Path Panel:

  1. Palworld UDP: Протокол: UDP, Порт: 8211
  2. Steam Query: Протокол: UDP, Порт: 27015
  3. RCON: Протокол: TCP, Порт: 25575 (ограничьте доступ только вашим IP)

Открывайте порт RCON только для ваших IP-адресов управления. Публичный доступ создаёт угрозу безопасности.

Запуск сервера

Скрипт запуска

hljs bash
nano ~/palworld-server/start.sh
hljs bash
#!/bin/bash
cd ~/palworld-server

export tempLDPath="$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
export SteamAppId=1623730

./PalServer.sh \
  -port=8211 \
  -queryport=27015 \
  -useperfthreads \
  -NoAsyncLoadingThread \
  -UseMultithreadForDS \
  EpicApp=PalServer

export LD_LIBRARY_PATH="$tempLDPath"
hljs bash
chmod +x ~/palworld-server/start.sh

Запуск через Screen

hljs bash
screen -S palworld
~/palworld-server/start.sh

Отключиться от screen: Ctrl+A затем D.

Автозапуск через systemd

hljs bash
sudo nano /etc/systemd/system/palworld.service
hljs ini
[Unit]
Description=Palworld Dedicated Server
After=network.target
Wants=network-online.target

[Service]
Type=simple
User=palworld
Group=palworld
WorkingDirectory=/home/palworld/palworld-server
ExecStartPre=/home/palworld/steamcmd/steamcmd.sh +force_install_dir /home/palworld/palworld-server +login anonymous +app_update 2394010 +quit
ExecStart=/home/palworld/palworld-server/start.sh
Restart=on-failure
RestartSec=20
LimitNOFILE=100000

[Install]
WantedBy=multi-user.target
hljs bash
sudo systemctl daemon-reload
sudo systemctl enable palworld
sudo systemctl start palworld

Оптимизация производительности

Управление памятью

Сервер Palworld может со временем иметь утечки памяти. Создайте скрипт автоматического перезапуска:

hljs bash
nano ~/palworld-server/restart.sh
hljs bash
#!/bin/bash
MEM_LIMIT=12000
PROCESS="PalServer"

MEM_USAGE=$(ps aux | grep $PROCESS | grep -v grep | awk '{print $6/1024}' | head -1)

if [ ! -z "$MEM_USAGE" ]; then
  MEM_INT=${MEM_USAGE%.*}
  if [ $MEM_INT -gt $MEM_LIMIT ]; then
    echo "$(date): Превышен лимит памяти ($MEM_INT МБ). Перезапуск..."
    sudo systemctl restart palworld
  fi
fi
hljs bash
chmod +x ~/palworld-server/restart.sh
crontab -e
*/30 * * * * /home/palworld/palworld-server/restart.sh >> /home/palworld/restart.log 2>&1

Параметры ядра

hljs bash
sudo sysctl -w net.core.rmem_max=26214400
sudo sysctl -w net.core.wmem_max=26214400
echo 'net.core.rmem_max=26214400' | sudo tee -a /etc/sysctl.conf
echo 'net.core.wmem_max=26214400' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Поддержка модов

Для добавления модов на сервер Palworld:

hljs bash
mkdir -p ~/palworld-server/Pal/Content/Paks/Mods
cp /tmp/ModFile.pak ~/palworld-server/Pal/Content/Paks/Mods/
sudo systemctl restart palworld

Все игроки должны установить те же моды. Несовместимые моды могут вызвать сбои сервера.

Автоматическое резервное копирование

hljs bash
nano ~/palworld-server/backup.sh
hljs bash
#!/bin/bash
BACKUP_DIR="/home/palworld/backups"
SAVE_DIR="/home/palworld/palworld-server/Pal/Saved"
DATE=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR
tar -czf $BACKUP_DIR/palworld_$DATE.tar.gz -C $SAVE_DIR .
find $BACKUP_DIR -name "palworld_*.tar.gz" -mtime +7 -delete
echo "$(date): Резервное копирование завершено - palworld_$DATE.tar.gz"
hljs bash
chmod +x ~/palworld-server/backup.sh
crontab -e
0 */6 * * * /home/palworld/palworld-server/backup.sh >> /home/palworld/backup.log 2>&1

Управление через RCON

С включённым RCON вы можете отправлять удалённые команды с помощью rcon-cli:

hljs bash
./rcon -a localhost:25575 -p ПАРОЛЬ_АДМИНА "ShowPlayers"
./rcon -a localhost:25575 -p ПАРОЛЬ_АДМИНА "Broadcast Сервер_перезапустится_через_5_минут"
./rcon -a localhost:25575 -p ПАРОЛЬ_АДМИНА "Save"
./rcon -a localhost:25575 -p ПАРОЛЬ_АДМИНА "Shutdown 300 Перезапуск_сервера"

Устранение неполадок

Сервер не запускается

hljs bash
tail -50 ~/palworld-server/Pal/Saved/Logs/PalServer.log
sudo ss -tulnp | grep -E '8211|27015|25575'

Высокое потребление памяти

hljs bash
free -h
ps aux --sort=-%mem | head -5

Заключение

Установка выделенного сервера Palworld может быть быстро выполнена с помощью SteamCMD. При правильной настройке портов, оптимизации производительности и регулярном резервном копировании вы обеспечите стабильную работу сервера. Высокопроизводительная инфраструктура REXE VDS обеспечивает идеальную среду для вашего сервера Palworld.