← Blog

Настройка приватного сервера Palworld для сообщества

Par Benjamin D. · PDG

· Mis à jour le 9 сентября 2026 г. · Lecture 8 min

Содержание

Приватный сервер Palworld — это не отдельный режим игры, а обычный выделенный процесс PalServer, у которого корректно закрыт вход: пароль, админ-доступ, RCON и правила поведения гильдий. Вся настройка сводится к одному файлу — PalWorldSettings.ini. Ниже разбираем, где он лежит, какие параметры реально влияют на доступ и как удержать закрытое сообщество от случайных гостей.



Где лежит PalWorldSettings.ini и как его правильно править

Дедик Palworld при первом запуске не создаёт готовый конфиг с вашими значениями. Он копирует шаблон и ждёт, пока вы его заполните. Порядок такой:

  • Эталонный файл: PalServer/DefaultPalWorldSettings.ini — только для чтения значений по умолчанию, править его бессмысленно.
  • Рабочий файл на Linux: PalServer/Pal/Saved/Config/LinuxServer/PalWorldSettings.ini.
  • Рабочий файл на Windows: PalServer\Pal\Saved\Config\WindowsServer\PalWorldSettings.ini.

Если рабочего файла ещё нет, запустите процесс один раз, остановите его и скопируйте шаблон:

cd ~/PalServer
cp DefaultPalWorldSettings.ini Pal/Saved/Config/LinuxServer/PalWorldSettings.ini
nano Pal/Saved/Config/LinuxServer/PalWorldSettings.ini

Три правила синтаксиса, которые ломают конфиг чаще всего

  1. Одна строка. Вся секция OptionSettings=(...) должна быть в одну строку. Любой перенос — и движок молча откатывается на значения по умолчанию, включая пустой пароль.
  2. Кавычки только у строк. ServerPassword="mypass" — правильно, bIsPvP="True" — нет, булевы значения пишутся без кавычек.
  3. Правки только на остановленном процессе. При выключении Palworld перезаписывает конфиг из памяти, и ваши изменения исчезнут.

Заголовок секции всегда один и тот же:

[/Script/Pal.PalGameWorldSettings]
OptionSettings=(Difficulty=None,ServerName="Closed Guild",ServerPassword="Kx7-tuna-91",AdminPassword="A9!vLp2sQd",PublicPort=8211,ServerPlayerMaxNum=16,RCONEnabled=True,RCONPort=25575)

Официальную таблицу всех ключей и допустимых диапазонов держите под рукой: техническая документация Palworld. Она обновляется вместе с патчами, и часть параметров с версиями меняет поведение.

Если вы разворачиваете площадку через панель Pterodactyl, редактор файлов и живая консоль уже под рукой — хостинг Palworld у Fly-Serv запускает экземпляр с готовой структурой каталогов, автоматическими бэкапами и анти-DDoS, так что остаётся только править PalWorldSettings.ini и перезапускать процесс из панели.



Приватный сервер Palworld: пароль, админ-доступ и RCON

Закрытый вход в Palworld держится на трёх ключах. Разделяйте их: игровой пароль знают все участники, админский — только вы и один-два доверенных модератора.

ПараметрЗначениеЧто делает
ServerPasswordстрокаПароль на вход. Пустая строка = открытый доступ для всех, кто нашёл вас в списке.
AdminPasswordстрокаПароль администратора для команды /AdminPassword в игровом чате и для RCON/REST.
ServerNameстрокаИмя в общем списке. Нейтральное имя без «join me» снижает поток случайных попыток входа.
PublicPort8211UDP-порт игры. Меняется, если на машине несколько экземпляров.
ServerPlayerMaxNum1–32Потолок слотов. Для закрытого состава ставьте ровно по числу людей + 1 запасной.
RCONEnabledTrue/FalseУдалённая консоль администратора.
RCONPort25575TCP-порт RCON. Наружу открывать не нужно.

Как игрок заходит на закрытую площадку

В клиенте: Присоединиться к мультиплееру → строка адреса внизу → IP:8211 → окно с паролем. Прямое подключение по IP надёжнее поиска в общем списке: каталог сообщества кэшируется и часто показывает устаревшие записи. Дайте участникам готовую строку вида 91.0.0.0:8211 и пароль отдельным сообщением.

Права администратора внутри игры

Админ-права не привязаны к аккаунту, их получают вводом пароля в чат:

/AdminPassword A9!vLp2sQd
/ShowPlayers
/KickPlayer 76561198000000000
/BanPlayer 76561198000000000
/Broadcast Server_restart_in_5_min
/Save
/Shutdown 300 restart

Важная деталь: в игровом чате пробелы в аргументах не поддерживаются — сообщения пишите через подчёркивания. И помните, что права действуют до выхода из игры, после переподключения пароль вводится заново.

RCON вместо раздачи админского пароля

Чем меньше людей знают AdminPassword, тем лучше. Модерацию удобнее вынести на RCON-клиент, а сам порт закрыть от внешнего мира:

sudo ufw allow 8211/udp
sudo ufw allow 27015/udp
sudo ufw deny 25575/tcp
sudo ufw enable

# подключение через SSH-туннель с рабочей машины
ssh -L 25575:127.0.0.1:25575 [email protected]

Дальше — любой RCON-клиент на локальный порт. Пример разовой проверки состава онлайн:

rcon-cli --host 127.0.0.1 --port 25575 --password "A9!vLp2sQd" "ShowPlayers"
# name,playeruid,steamid
# Kaito,1234567890,76561198000000000

В панели Pterodactyl ту же задачу решают субпользователи: модератор получает доступ к консоли и рестарту, но не видит файлы конфигурации и не знает паролей. Для команды из нескольких человек это самая аккуратная схема разделения прав.



Whitelist, банлист и автоматический контроль доступа

Нативного списка допуска в Palworld нет — пароль остаётся первой линией. Но приватный сервер Palworld всё равно можно закрыть жёстко, если совместить три механизма: собственный банлист, REST API и фоновый скрипт-сторож.

BanListURL: свой список блокировок

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

BanListURL="https://example.com/palworld/banlist.txt"

Формат файла — по одному Steam ID в строке. Держите его на своём веб-ресурсе, тогда блокировку можно добавить без перезапуска процесса игры и переиспользовать на нескольких экземплярах.

REST API как панель модерации

Начиная с версий 0.3.x у дедика есть HTTP-интерфейс. Включается двумя ключами:

RESTAPIEnabled=True,RESTAPIPort=8212

Авторизация — Basic, логин всегда admin, пароль равен AdminPassword. Порт 8212 наружу не публикуем, работаем локально или через туннель:

# список игроков онлайн
curl -s -u "admin:A9!vLp2sQd" http://127.0.0.1:8212/v1/api/players | jq

# метрики: FPS сервера, аптайм, число активных объектов
curl -s -u "admin:A9!vLp2sQd" http://127.0.0.1:8212/v1/api/metrics

# кик по userid
curl -s -X POST -u "admin:A9!vLp2sQd" \
  -H "Content-Type: application/json" \
  -d '{"userid":"steam_76561198000000000","message":"closed_community"}' \
  http://127.0.0.1:8212/v1/api/kick

Метрики особенно полезны: serverfps ниже 25–30 — сигнал, что мир перегружен базами и пора чистить брошенные постройки или снижать плотность питомцев.

Скрипт-сторож: whitelist своими руками

Логика простая — раз в минуту опрашиваем состав онлайн и выкидываем всех, кого нет в списке допуска. Файл whitelist.txt содержит Steam ID участников, по одному в строке.

#!/bin/bash
# /opt/palworld/whitelist.sh
PASS="A9!vLp2sQd"
API="http://127.0.0.1:8212/v1/api"
WL="/opt/palworld/whitelist.txt"

curl -s -u "admin:$PASS" "$API/players" \
 | jq -r '.players[].userId' \
 | while read -r uid; do
     sid="${uid#steam_}"
     if ! grep -qx "$sid" "$WL"; then
       curl -s -X POST -u "admin:$PASS" \
         -H "Content-Type: application/json" \
         -d "{\"userid\":\"$uid\",\"message\":\"not_in_whitelist\"}" \
         "$API/kick" > /dev/null
       logger "palworld: kicked $sid"
     fi
   done

Ставим в cron и не забываем про права на файл с паролем:

chmod 700 /opt/palworld/whitelist.sh
crontab -e
* * * * * /opt/palworld/whitelist.sh

Схема не идеальна — незнакомец успевает провести в мире до минуты, — но в связке с паролем этого достаточно, чтобы никто не строился на вашей территории. Если хочется реакции за секунды, вешайте тот же скрипт на событие подключения, парся консольный лог через tail -F.

Гигиена доступа на уровне машины

  • Пароли не короче 12 символов, разные для игры и админки, хранение — в менеджере паролей, а не в общем чате гильдии.
  • Вход в систему только по ключу: ssh-keygen -t ed25519, затем PasswordAuthentication no в /etc/ssh/sshd_config.
  • fail2ban на SSH — базовая защита от перебора.
  • Порты 25575 и 8212 наружу закрыты, доступ через туннель.
  • Объёмный DDoS — забота инфраструктуры, на площадках Все наши игровые серверы фильтрация включена по умолчанию, отдельно её настраивать не нужно.


Параметры закрытого сообщества и поддержание стабильности

Когда вход закрыт, начинается вторая часть работы: подобрать правила мира под небольшую постоянную группу. Настройки для 8 знакомых людей и для публичной площадки на 32 слота отличаются принципиально.

Ключевые параметры для камерного состава

КлючРекомендацияПочему
bIsPvPFalseВ закрытой группе кооператив важнее конфликтов; включайте точечно под ивенты.
DeathPenaltyItem / NoneПолная потеря снаряжения демотивирует, когда играют по два часа в неделю.
bEnableNonLoginPenaltyFalseОтключает штрафы за долгое отсутствие — критично для взрослого состава.
GuildPlayerMaxNum= числу участниковОдна гильдия на всех упрощает общий доступ к базам и сундукам.
BaseCampMaxNumInGuild4–6Каждый лагерь тянет симуляцию; лишние базы бьют по производительности.
bAutoResetGuildNoOnlinePlayersFalseИначе базы неактивных участников исчезнут вместе с прогрессом.
PalEggDefaultHatchingTime0.5–2Стандартные 72 часа рассчитаны на постоянный онлайн.
bIsUseBackupSaveDataTrueВстроенное резервное копирование сохранений.
AutoSaveSpan300–600Компромисс между потерей прогресса и микрофризами при записи.

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

OptionSettings=(Difficulty=None,DeathPenalty=Item,ServerName="Guild Alpha",ServerPassword="Kx7-tuna-91",AdminPassword="A9!vLp2sQd",PublicPort=8211,ServerPlayerMaxNum=12,GuildPlayerMaxNum=12,BaseCampMaxNumInGuild=5,bIsPvP=False,bEnableNonLoginPenalty=False,bAutoResetGuildNoOnlinePlayers=False,PalEggDefaultHatchingTime=1.000000,bIsUseBackupSaveData=True,AutoSaveSpan=300.000000,RCONEnabled=True,RCONPort=25575,RESTAPIEnabled=True,RESTAPIPort=8212,BanListURL="https://example.com/palworld/banlist.txt")

Производительность: где Palworld проседает

Движок Palworld однопоточен в критичных участках, поэтому решает частота ядра, а не их количество. Ryzen с высокой частотой и NVMe под сохранениями дают заметно более ровный тик, чем «широкий, но медленный» процессор. Практические ориентиры:

  • ОЗУ: ~8 ГБ на старте, до 16–24 ГБ на разросшемся мире с 16 игроками.
  • Сохранение Level.sav растёт вместе с числом построек и питомцев — держите его под контролем и периодически чистите заброшенные лагеря.
  • Автосейв реже 300 секунд экономит нагрузку на диск, но увеличивает риск потери прогресса при падении.
  • Перезапуск раз в 12–24 часа снимает накопленные утечки памяти. В панели это ставится расписанием, вручную — таймером systemd.
# мягкий перезапуск с предупреждением
rcon-cli --host 127.0.0.1 --port 25575 --password "$PASS" "Broadcast Restart_in_5_minutes"
sleep 240
rcon-cli --host 127.0.0.1 --port 25575 --password "$PASS" "Save"
sleep 10
rcon-cli --host 127.0.0.1 --port 25575 --password "$PASS" "Shutdown 60 maintenance"

Резервные копии: правило трёх точек

Встроенный bIsUseBackupSaveData спасает от повреждения файла, но не от ошибки администратора. Держите копию каталога Pal/Saved/SaveGames вне игровой машины:

tar czf pal-$(date +%F-%H%M).tar.gz ~/PalServer/Pal/Saved/SaveGames
rsync -az pal-*.tar.gz [email protected]:/backups/palworld/

Автоматические бэкапы панели закрывают ежедневный сценарий, локальный архив перед крупным патчем — точечный. Обновления Palworld иногда меняют формат мира, и откат без свежей копии становится невозможен. Разборы конфигураций других песочниц — Блог Fly-Serv, логика доступа там во многом схожая: например, у Сервер Valheim тот же принцип «пароль + прямое подключение по IP».



Итог

Закрытый мир Palworld собирается из четырёх слоёв: пароль на вход, отдельный админский ключ, RCON или REST для модерации без раздачи паролей и скрипт допуска по Steam ID. Добавьте регулярные копии сохранений, перезапуск по расписанию и контроль числа лагерей — и небольшая группа получит стабильный мир, куда не заходят посторонние.



FAQ

Почему пароль не срабатывает и игроков пускает без запроса?

Почти всегда причина — файл редактировали на запущенном процессе или строка OptionSettings разорвана переносом. Остановите дедик, откройте Pal/Saved/Config/LinuxServer/PalWorldSettings.ini, убедитесь, что вся секция в одну строку, значение ServerPassword в двойных кавычках, и запустите заново. Проверьте, что правите рабочий файл, а не DefaultPalWorldSettings.ini.

Можно ли убрать площадку из общего списка сообщества?

Отдельного ключа «скрыть» в Palworld нет: экземпляр публикуется в каталоге автоматически. Практическое решение — непримечательное ServerName, обязательный ServerPassword и раздача участникам прямого адреса IP:8211 для подключения по строке ввода. Дополнительно ограничивайте состав через банлист и скрипт допуска по Steam ID.

Как выдать модератору права, не сообщая AdminPassword?

Создайте ему субпользователя в панели Pterodactyl с доступом к консоли и перезапуску, но без прав на файловый менеджер. Команды ShowPlayers, KickPlayer и Broadcast он сможет выполнять из консоли, а пароли останутся у вас. Альтернатива — обёртка над RCON, принимающая только разрешённый набор команд.