Настройка приватного сервера 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
Три правила синтаксиса, которые ломают конфиг чаще всего
- Одна строка. Вся секция
OptionSettings=(...)должна быть в одну строку. Любой перенос — и движок молча откатывается на значения по умолчанию, включая пустой пароль. - Кавычки только у строк.
ServerPassword="mypass"— правильно,bIsPvP="True"— нет, булевы значения пишутся без кавычек. - Правки только на остановленном процессе. При выключении 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» снижает поток случайных попыток входа. |
PublicPort | 8211 | UDP-порт игры. Меняется, если на машине несколько экземпляров. |
ServerPlayerMaxNum | 1–32 | Потолок слотов. Для закрытого состава ставьте ровно по числу людей + 1 запасной. |
RCONEnabled | True/False | Удалённая консоль администратора. |
RCONPort | 25575 | TCP-порт 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 слота отличаются принципиально.
Ключевые параметры для камерного состава
| Ключ | Рекомендация | Почему |
|---|---|---|
bIsPvP | False | В закрытой группе кооператив важнее конфликтов; включайте точечно под ивенты. |
DeathPenalty | Item / None | Полная потеря снаряжения демотивирует, когда играют по два часа в неделю. |
bEnableNonLoginPenalty | False | Отключает штрафы за долгое отсутствие — критично для взрослого состава. |
GuildPlayerMaxNum | = числу участников | Одна гильдия на всех упрощает общий доступ к базам и сундукам. |
BaseCampMaxNumInGuild | 4–6 | Каждый лагерь тянет симуляцию; лишние базы бьют по производительности. |
bAutoResetGuildNoOnlinePlayers | False | Иначе базы неактивных участников исчезнут вместе с прогрессом. |
PalEggDefaultHatchingTime | 0.5–2 | Стандартные 72 часа рассчитаны на постоянный онлайн. |
bIsUseBackupSaveData | True | Встроенное резервное копирование сохранений. |
AutoSaveSpan | 300–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.
Создайте ему субпользователя в панели Pterodactyl с доступом к консоли и перезапуску, но без прав на файловый менеджер. Команды ShowPlayers, KickPlayer и Broadcast он сможет выполнять из консоли, а пароли останутся у вас. Альтернатива — обёртка над RCON, принимающая только разрешённый набор команд.