Установка игрового сервера Palworld на Linux

Материал из ARK-HOSTER.RU | Документация хостинга
Перейти к навигации Перейти к поиску

Инструкция по установке выделенного сервера Palworld на VDS с Ubuntu 24.04. Все команды и снимки экрана сняты с настоящего сервера: инструкция проверена 14 ноября 2026 года на чистой Ubuntu 24.04.4 с сервером версии 1.0.5.

Что понадобится

  • VDS с Ubuntu 24.04 LTS и доступом root по SSH.
  • Память: пустой сервер занимает около 1 ГБ, но с игроками расход быстро растёт. Разработчики называют 16 ГБ; на 8 ГБ сервер работает, но при большой базе возможны падения из-за нехватки памяти.
  • Диск: файлы сервера занимают 4,6 ГБ; с запасом на обновления и сохранения нужно от 10 ГБ свободного места.
  • Процессор: от 4 ядер.

Учётная запись Steam и купленная игра для установки сервера не нужны.

1. Обновите систему

sudo apt update && sudo apt upgrade -y

На свежей системе обновление идёт от 5 минут до получаса. По ходу могут появиться два места, где нужно ваше участие.

Окно выбора раскладки клавиатуры. Обновление остановится и покажет окно «Configuring keyboard-configuration». Ничего менять не нужно: нажмите Enter, в следующем окне снова Enter.

Сообщение о новом ядре. Если в конце вы видите «Pending kernel upgrade», система обновила ядро и ждёт перезагрузки.

Перезагрузите сервер и подключитесь снова через минуту:

sudo reboot

2. Установите нужные пакеты

sudo apt install -y wget lib32gcc-s1 lib32stdc++6
  • lib32gcc-s1 и lib32stdc++6 нужны программе SteamCMD, через которую скачивается сервер.

3. Создайте пользователя для сервера

Игровой сервер не должен работать от root. Создайте для него отдельного пользователя:

sudo useradd -m -s /bin/bash palworld

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

4. Скачайте SteamCMD

sudo mkdir -p /opt/steamcmd
cd /opt/steamcmd
sudo wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
sudo tar -xzf steamcmd_linux.tar.gz
sudo chown -R palworld:palworld /opt/steamcmd

Архив маленький (2,3 МБ), но с серверов Steam он может качаться около минуты — это нормально.

5. Установите сервер Palworld

Переключитесь на пользователя palworld и запустите SteamCMD:

sudo su - palworld
cd /opt/steamcmd
./steamcmd.sh

При первом запуске SteamCMD скачивает собственное обновление (около 40 МБ). С серверов Steam оно может идти несколько минут — дождитесь приглашения Steam> и ничего не вводите раньше.

Затем введите по очереди три команды. Порядок важен: каталог установки задаётся до входа.

force_install_dir /home/palworld/palworld-server
login anonymous
app_update 2394010 validate

Если вместо загрузки появилась строка «ERROR! Failed to install app … (Missing configuration)», просто введите команду app_update ещё раз: при первом запуске SteamCMD такое случается, со второго раза загрузка начинается.

Загрузка 4,5 ГБ занимает 10–15 минут. Дождитесь строки «Success! App '2394010' fully installed.»:

Выйдите из SteamCMD:

quit

Проверьте, что файлы на месте:

ls /home/palworld/palworld-server

6. Настройте сервер

Настройки сервера хранятся в файле PalWorldSettings.ini. Создайте его из образца, который лежит в каталоге сервера:

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

Все настройки в этом файле записаны одной длинной строкой, поэтому править их удобнее командами. Задайте название сервера, пароль администратора и включите встроенный интерфейс управления (REST API) — он нужен, чтобы сервер сохранял мир при остановке:

sed -i 's/ServerName="Default Palworld Server"/ServerName="My Palworld Server"/' Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
sed -i 's/AdminPassword=""/AdminPassword="Secret123"/' Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
sed -i 's/RESTAPIEnabled=False/RESTAPIEnabled=True/' Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Замените My Palworld Server и Secret123 на свои значения. Проверьте, что получилось:

tr ',' '\n' < Pal/Saved/Config/LinuxServer/PalWorldSettings.ini | grep -E 'ServerName|AdminPassword|ServerPassword|ServerPlayerMaxNum|RESTAPIEnabled'

Так же можно изменить остальное: ServerPassword — пароль для входа на сервер, ServerPlayerMaxNum — предел числа игроков. Все параметры описаны в статье Основные настройки сервера Palworld.

Скрипт остановки. Если сервер Palworld остановить обычным способом, он завершается сразу и мир не сохраняет. Через REST API он сохраняет мир и только потом выходит. Создайте скрипт, которым служба будет останавливать сервер:

nano ~/palworld-server/stop-server.sh
#!/bin/bash
INI=/home/palworld/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
PASS=$(grep -oP 'AdminPassword="\K[^"]*' "$INI")
curl -s -m 10 -u "admin:$PASS" -X POST -H 'Content-Type: application/json' -d '{"waittime":1,"message":"Server is stopping"}' http://127.0.0.1:8212/v1/api/shutdown > /dev/null || exit 0
for i in $(seq 1 30); do pgrep -u palworld -f "[P]alServer-Linux" > /dev/null || exit 0; sleep 1; done

Скрипт сам берёт пароль администратора из файла настроек. Сделайте его исполняемым и вернитесь к root:

chmod +x ~/palworld-server/stop-server.sh
exit

7. Настройте автозапуск

Чтобы сервер запускался вместе с системой и поднимался после сбоя, создайте для него службу:

sudo nano /etc/systemd/system/palworld-server.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=32 -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS
ExecStop=/home/palworld/palworld-server/stop-server.sh
TimeoutStopSec=60
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Чтобы сервер показывался в общем списке серверов сообщества, допишите в конец строки ExecStart ключ -publiclobby.

8. Запустите сервер и проверьте его

sudo systemctl daemon-reload
sudo systemctl enable palworld-server
sudo systemctl start palworld-server

Запуск занимает около минуты. Проверьте состояние службы — должно быть active (running):

sudo systemctl status palworld-server --no-pager -n 0

Сервер готов, когда в его журнале появилась строка «Running Palworld dedicated server». Порт 8211 — игровой, 27015 — для запросов Steam. Третья команда спрашивает сведения о сервере через REST API (подставьте свой пароль администратора):

sudo journalctl -u palworld-server -o cat | grep -E "Game version|REST API started|Running Palworld" | tail -3
sudo ss -uln | grep -E "8211|27015"
curl -s -u admin:Secret123 http://127.0.0.1:8212/v1/api/info; echo

Управление службой:

sudo systemctl stop palworld-server      # остановить (мир сохраняется)
sudo systemctl restart palworld-server   # перезапустить
sudo journalctl -u palworld-server -f    # смотреть журнал, выход — Ctrl+C

9. Откройте порты в файрволе

Внимание: сначала разрешите SSH и только потом включайте файрвол. Иначе связь с сервером оборвётся. Если SSH у вас на нестандартном порту, вместо первой команды выполните sudo ufw allow НОМЕР_ПОРТА/tcp.

sudo ufw allow OpenSSH
sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw enable

Если появится вопрос «Command may disrupt existing ssh connections. Proceed with operation (y|n)?», ответьте y. Проверьте результат:

sudo ufw status

10. Зайдите на сервер

В игре выберите сетевую игру и введите в поле адреса внизу экрана IP_СЕРВЕРА:8211. Пошагово со снимками — в статье Как зайти на сервер Palworld. Как получить права администратора в игре — в статье Как стать администратором Palworld.

REST API не открывайте наружу

REST API слушает порт 8212/tcp и позволяет управлять сервером: останавливать его, выгонять и блокировать игроков. В файрволе этот порт открывать не нужно — скрипт остановки обращается к нему с самого сервера. Команды из шага 9 его не открывают.

Обновление сервера

После выхода обновления игры остановите сервер, обновите файлы и запустите снова:

sudo systemctl stop palworld-server
sudo -u palworld /opt/steamcmd/steamcmd.sh +force_install_dir /home/palworld/palworld-server +login anonymous +app_update 2394010 validate +quit
sudo systemctl start palworld-server

Ваши настройки и сохранения при обновлении не затрагиваются.

Где лежат сохранения

  • Настройки: /home/palworld/palworld-server/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
  • Мир и данные игроков: /home/palworld/palworld-server/Pal/Saved/SaveGames/ — там же сервер хранит резервные копии в каталоге backup.

Чтобы перенести или сохранить сервер, остановите его и скопируйте каталог /home/palworld/palworld-server/Pal/Saved целиком.

При остановке службы сервер сохраняет мир — время изменения файла мира совпадает со временем остановки:

Если что-то пошло не так

Что видите Причина и решение
Настройки из PalWorldSettings.ini не действуют Проверьте, что файл лежит в Pal/Saved/Config/LinuxServer/, а не правился образец DefaultPalWorldSettings.ini: изменения в образце сервер не читает. После правки перезапустите службу.
Команда curl … /v1/api/info ничего не выводит REST API не включён (RESTAPIEnabled=True), не задан пароль администратора или сервер ещё запускается. Подождите минуту после запуска.
После перезапуска пропал последний прогресс Скрипт остановки не смог обратиться к REST API, и сервер был остановлен без сохранения. Проверьте, что в настройках включён REST API и задан пароль администратора.
SteamCMD отвечает «ERROR! Failed to install app '2394010' (Missing configuration)» Так иногда бывает при первом запуске SteamCMD. Введите команду app_update ещё раз — со второго раза загрузка начинается.
После установки нет каталога /home/palworld/palworld-server Команда force_install_dir была введена с ошибкой или после login, и сервер установился в /home/palworld/Steam/steamapps/common/. Запустите SteamCMD заново и повторите три команды из шага 5 по порядку.
Служба в состоянии «failed» Посмотрите причину: sudo journalctl -u palworld-server -n 50 --no-pager. Чаще всего это опечатка в пути или скрипт запуска не сделан исполняемым.
Сервер запущен, но зайти не удаётся Проверьте, что порты открыты (sudo ufw status) и что в игре указан верный адрес и порт.

Для размещения игровых серверов рекомендуем услуги ARK-HOSTER.RU: