Найти в Дзене
FANTSCRIN

Выделенный сервер Palworld на Linux: Ubuntu, Debian

1. Установить SteamCMD ( ссылка ) 2. После установки SteamCMD нужно создать пользователя для запуска командной строки Steam. Не рекомендуется использовать пользователя с правами администратора для запуска этого программного обеспечения sudo useradd -m steam 3. После создания пользователя нужно изменить его файл «.bashrc», чтобы настроить переменную среды пути На данный момент пользователь не сможет найти только что установленный инструмент SteamCMD, так как отсутствует путь «/usr/games» Нужно открыть файл для редактирования sudo nano /home/steam/.bashrc Далее нужно в конце файла добавить строку export PATH="/usr/games/:$PATH" Эта строка добавляет каталог «/usr/games/» в начало переменной среды «PATH» После внесения изменений нужно сохранить и закрыть файл, нажав CTRL + X, Y, а затем ENTER 4. Далее нужно переключится на пользователя steam и перейти в домашний каталог sudo -u steam -s cd 5. Перед установкой сервера Palworld, нам нужно скачать пакет Steamworks SDK и достать steamclient.so

1. Установить SteamCMD ( ссылка )

2. После установки SteamCMD нужно создать пользователя для запуска командной строки Steam. Не рекомендуется использовать пользователя с правами администратора для запуска этого программного обеспечения

sudo useradd -m steam

3. После создания пользователя нужно изменить его файл «.bashrc», чтобы настроить переменную среды пути

На данный момент пользователь не сможет найти только что установленный инструмент SteamCMD, так как отсутствует путь «/usr/games»

Нужно открыть файл для редактирования

sudo nano /home/steam/.bashrc

Далее нужно в конце файла добавить строку

export PATH="/usr/games/:$PATH"

Эта строка добавляет каталог «/usr/games/» в начало переменной среды «PATH»

После внесения изменений нужно сохранить и закрыть файл, нажав CTRL + X, Y, а затем ENTER

4. Далее нужно переключится на пользователя steam и перейти в домашний каталог

sudo -u steam -s
cd

5. Перед установкой сервера Palworld, нам нужно скачать пакет Steamworks SDK и достать steamclient.so из этого пакета

steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/steamworks' +login anonymous +app_update 1007 +quit

Этот процесс может занять несколько минут

6. Далее нужно создать каталог, в котором сервер Palworld, будет искать файл steamclient.so

mkdir -p /home/steam/.steam/sdk64

7. После создания каталога нужно скопировать библиотеку steamclient.so, необходимую для запуска сервера.

cp '/home/steam/Steam/steamapps/common/steamworks/linux64/steamclient.so' /home/steam/.steam/sdk64/

8. Скачиваем сервер Palworld

steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/pw_server' +login anonymous +app_update 2394010 validate +quit

/home/steam/Steam/steamapps/common/pw_server - директория куда будет скачан сервер

При успешном скачивании сервера вы увидите строку: Success! App '2394010' fully installed.

9. Переходим в директорию с сервером и запускаем его

cd /home/steam/Steam/steamapps/common/pw_server/
./PalServer.sh

При успешном запуске сервера вы увидите строку Running Palworld dedicated server on :8211

10. Нажимаем CTRL + С для остановки сервера

11. Далее нужно изменить настройки сервера

Для удобства перенесем стандартные настройки и отредактируем их

cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

После открытия файла конфигурации для удобства поиска настроек можно использовать CTRL + W и в появившемся поле указать название настройки

Основные параметры которые часто изменяются:

  • ServerName - имя сервера ( отображается в поиске )
  • ServerDescription - описание сервера
  • ServerPassword - пароль сервера
  • PublicPort - порт сервера ( стандартный 8211 )
  • ServerPlayerMaxNum - количество игроков на сервере
  • BaseCampMaxNumInGuild - максимальное кол-во баз для каждой гильдии
  • BaseCampWorkerMaxNum - максимальное кол-во палов на базе ( Макс 50 )
  • ExpRate - множитель опыта
  • PalEggDefaultHatchingTime - скорость вылупления палов из яиц

🔵 Остальные названия параметров можно посмотреть в официальной документации ( ссылка )

После внесения изменений нужно сохранить и закрыть файл, нажав CTRL + X, Y, а затем ENTER

12. После настройки сервера, нужно зайти под пользователем с правами администратора и создать службу, которая при запуске или перезагрузки машины с Linux, будет запускать сервер

exit
sudo nano /etc/systemd/system/pw_server.service

13. Вставляем в файл строки

[Unit]
Description=Palworld Server
Wants=network-online.target
After=network-online.target

[Service]
User=steam
Group=steam
WorkingDirectory=/home/steam/
ExecStartPre=/usr/games/steamcmd +force_install_dir '/home/steam/Steam/steamapps/common/pw_server' +login anonymous +app_update 2394010 +quit
ExecStart=/home/steam/Steam/steamapps/common/
pw_server/PalServer.sh -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS > /dev/null
Restart=always

[Install]
WantedBy=multi-user.target
  • -useperfthreads: Это опция Unreal Engine, которая позволяет использовать потоки для повышения производительности
  • -NoAsyncLoadingThread: Используя это, мы сообщаем серверу, что не будем использовать отдельный поток для асинхронной загрузки. Это сделано для сокращения количества запущенных потоков и повышения производительности сервера
  • -UseMultithreadForDS: Последний вариант — это опция, которая указывает движку использовать многопоточность для выделенного сервера

После завершения написания службы сохраните и закройте её, нажав CTRL + X, затем Y и ENTER

14. Теперь нужно включить запуск сервера при запуске машины и запустить его

sudo systemctl enable pw_server
sudo systemctl start
pw_server

Так же можно остановить работу сервера

sudo systemctl stop pw_server

И перезапустить работу сервера

sudo systemctl restart pw_server

15. Для того чтобы подключиться к серверу зайдите в клиент игры -> Присоединиться к совместной игре ->Введите внизу ip:порт сервера
( 127.0.0.1:8211 )
Если
сервер находится у вас в локальной сети не забудьте пробросить порты на своем маршрутизаторе, которые указали в настройках сервера ( стандартные 8211), чтобы игроки из вне подключались к вашему серверу.

16. Если на Linux машине включен firewall, нужно добавить порты в разрешенные

sudo ufw allow 8211

17. Если у вас уже есть мир, мы можете перенести его в директорию

/home/steam/Steam/steamapps/common/pw_server/Pal/Saved/SaveGames/0/