RCON-команды Palworld: полный список и примеры
Полный справочник RCON-команд Palworld: включение RCONEnabled и порт 25575, клиенты rcon-cli, mcrcon, ARRCON, таблица команд Shutdown, Broadcast, KickPlayer, ShowPlayers и bash-скрипты.
RCON (Remote Console) - штатный способ управлять Palworld dedicated server, не заходя в игру и не открывая SSH-сессию к процессу. Через сетевой протокол можно кикать и банить игроков, рассылать broadcast, сохранять мир и делать плановый рестарт с обратным отсчётом. Palworld реализует классический Source RCON, поэтому подойдёт любой совместимый клиент. В этой статье - полный список RCON-команд Palworld, тонкости синтаксиса (подчёркивания в Broadcast, работа со SteamID из ShowPlayers) и готовые bash-скрипты для авторестарта, бэкапа и мониторинга онлайна.
Если сервер ещё не установлен, начните с базовой инструкции: установка Palworld dedicated server. Полную настройку игрового мира разбираем в гайде по PalWorldSettings.ini - здесь мы фокусируемся строго на RCON.
Включение RCON в PalWorldSettings.ini
RCON выключен по умолчанию. Включается тремя параметрами внутри строки OptionSettings в файле Pal/Saved/Config/LinuxServer/PalWorldSettings.ini:
OptionSettings=(...,AdminPassword="strong-admin-pass",RCONEnabled=True,RCONPort=25575,...)
Ключевой момент: отдельного пароля для RCON нет. В качестве пароля используется AdminPassword. Если он пустой - RCON не поднимется, даже когда RCONEnabled=True. Поэтому пароль обязателен и должен быть стойким: он даёт полный контроль над сервером.
| Параметр | Значение | Назначение |
|---|---|---|
RCONEnabled | True | Включает RCON-слушатель |
RCONPort | 25575 | TCP-порт RCON (по умолчанию 25575) |
AdminPassword | "strong-admin-pass" | Пароль RCON и админ-пароль одновременно |
После правки конфига перезапустите сервер и откройте порт на firewall. RCON работает по TCP, в отличие от игрового трафика на 8211/UDP:
ufw allow 25575/tcp
ufw reload
Важное соображение по безопасности: RCON не шифруется, пароль и команды идут по сети открытым текстом. Не выставляйте 25575 в интернет. Держите порт закрытым и подключайтесь либо с самого сервера (127.0.0.1), либо через SSH-туннель:
ssh -L 25575:127.0.0.1:25575 palworld@server-ip
RCON-клиенты для Palworld
Palworld говорит по стандартному Source RCON, поэтому выбор клиента - вопрос удобства. Три рабочих варианта:
gorcon/rcon-cli
Самый удобный для скриптов - один статичный бинарник на Go, без зависимостей.
wget https://github.com/gorcon/rcon-cli/releases/download/v0.10.3/rcon-0.10.3-amd64_linux.tar.gz
tar xzf rcon-0.10.3-amd64_linux.tar.gz
sudo cp rcon-0.10.3-amd64_linux/rcon /usr/local/bin/
# Интерактивный режим
rcon -a 127.0.0.1:25575 -p strong-admin-pass
# Одиночная команда (single command) - идеально для скриптов
rcon -a 127.0.0.1:25575 -p strong-admin-pass "ShowPlayers"
Чтобы не светить пароль в истории bash и в списке процессов, вынесите настройки в YAML-конфиг ~/.config/rcon/rcon.yaml:
default:
address: "127.0.0.1:25575"
password: "strong-admin-pass"
Тогда вызов упрощается до rcon -c ~/.config/rcon/rcon.yaml "Info".
mcrcon
Классический клиент из мира Minecraft, тоже совместим:
mcrcon -H 127.0.0.1 -P 25575 -p strong-admin-pass "ShowPlayers"
ARRCON
Кроссплатформенный клиент (Windows/Linux/macOS), удобен если админите с рабочей станции:
ARRCON -H 127.0.0.1 -P 25575 -p strong-admin-pass "Info"
Во всех примерах ниже используется синтаксис rcon-cli, но команды идентичны для любого клиента - меняется только обёртка.
Полный список RCON-команд Palworld
Ниже - все RCON-команды, поддерживаемые Palworld dedicated server. Команды регистронезависимы к имени, но аргументы (SteamID, текст) чувствительны.
| Команда | Аргументы | Описание |
|---|---|---|
Info | - | Версия сервера и имя (ServerName). Удобно для health-check |
ShowPlayers | - | Список онлайна: name, playeruid, steamid через запятую |
Broadcast | <text> | Сообщение всем в чат. Пробелы недопустимы - см. ниже |
KickPlayer | <steamid> | Кик игрока по SteamID |
BanPlayer | <steamid> | Бан игрока по SteamID (запись в banlist.txt) |
UnBanPlayer | <steamid> | Снять бан по SteamID |
TeleportToPlayer | <steamid> | Телепорт к игроку (поддержка зависит от версии сервера) |
TeleportToMe | <steamid> | Телепорт игрока к вам (поддержка зависит от версии) |
Save | - | Принудительное сохранение мира |
Shutdown | <seconds> <text> | Плановая остановка через N секунд с сообщением. Мир сохраняется |
DoExit | - | Немедленный выход процесса без гарантии сейва |
Команды TeleportToPlayer и TeleportToMe требуют, чтобы вызывающий админ находился в мире, поэтому в чистом headless-RCON без активной админ-сессии они могут не сработать - это ограничение движка, а не клиента. Основной рабочий набор для автоматизации: ShowPlayers, Broadcast, Save, Shutdown, KickPlayer, BanPlayer, Info.
Особенность Broadcast: подчёркивания вместо пробелов
RCON-парсер Palworld разбивает строку команды по пробелам. Для Broadcast это значит, что многословный текст обрежется на первом слове:
# НЕПРАВИЛЬНО - в чат уйдёт только "Server"
rcon "Broadcast Server restart in 5 minutes"
# ПРАВИЛЬНО - подчёркивания превратятся в пробелы
rcon "Broadcast Server_restart_in_5_minutes"
Сервер сам заменяет _ на пробел при отображении, так что игроки увидят нормальный текст. Кириллица в Broadcast поддерживается частично и зависит от версии - для надёжности используйте латиницу на публичных серверах.
ShowPlayers и работа со SteamID
Вывод ShowPlayers - это CSV с заголовком:
name,playeruid,steamid
Alice,123456789,76561198000000001
Bob,987654321,76561198000000002
Три идентификатора выполняют разные роли:
- name - ник в игре, может содержать пробелы и юникод, для команд не годится.
- playeruid - внутренний UID Palworld, привязан к персонажу в мире.
- steamid - 17-значный SteamID64, именно его принимают
KickPlayer,BanPlayer,UnBanPlayer.
Пример: забанить Боба из примера выше.
rcon -a 127.0.0.1:25575 -p strong-admin-pass "BanPlayer 76561198000000002"
Забаненные SteamID пишутся в Pal/Saved/SaveGames/0/<world-id>/banlist.txt. Подробнее про баны и белые списки - в статье белый список и баны Palworld.
Pterohost - игровой хостинг с DDoS-защитой и NVMe-дисками, RCON доступен из панели. Промокод 4START даёт -20% на первый заказ. Развернуть сервер Palworld
Готовые bash-скрипты
Ниже - три практичных скрипта. Во всех предполагается, что клиент rcon-cli установлен в /usr/local/bin/rcon, а пароль вынесен в переменную (лучше - в файл с правами 600, а не в сам скрипт).
Авторестарт с предупреждением игроков
Скрипт palworld-restart.sh рассылает три предупреждения, сохраняет мир и корректно останавливает сервер через Shutdown. Сам перезапуск подхватит systemd (Restart=on-failure или отдельный .timer).
#!/bin/bash
set -euo pipefail
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p ${RCON_PASSWORD:?set RCON_PASSWORD}"
$RCON "Broadcast Server_restart_in_5_minutes"
sleep 240
$RCON "Broadcast Restart_in_60_seconds_-_save_your_progress"
sleep 50
$RCON "Broadcast Restart_in_10_seconds"
sleep 10
# Сейв и плановая остановка (Shutdown сохраняет мир сам, но подстрахуемся)
$RCON "Save"
sleep 3
$RCON "Shutdown 5 Server_is_restarting_now"
Ежедневный рестарт в 6:00 через cron:
0 6 * * * RCON_PASSWORD='strong-admin-pass' /home/palworld/palworld-restart.sh >> /var/log/palworld-restart.log 2>&1
Авто-Save перед бэкапом
Перед архивированием папки Saved нужно зафиксировать актуальный мир командой Save, иначе в бэкап попадёт состояние на момент последнего автосейва. Скрипт palworld-backup.sh:
#!/bin/bash
set -euo pipefail
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p ${RCON_PASSWORD:?set RCON_PASSWORD}"
SAVE_DIR=/home/palworld/palserver/Pal/Saved
BACKUP_DIR=/backups/palworld
DATE=$(date +%Y%m%d-%H%M)
mkdir -p "$BACKUP_DIR"
# Фиксируем мир и даём движку записать файлы на диск
$RCON "Save"
sleep 5
tar -czf "$BACKUP_DIR/palworld-$DATE.tar.gz" -C "$SAVE_DIR" SaveGames Config
# Ротация: держим 14 дней
find "$BACKUP_DIR" -name "palworld-*.tar.gz" -mtime +14 -delete
echo "$(date '+%F %T') backup done: palworld-$DATE.tar.gz"
Cron на ночной бэкап в 4:00:
0 4 * * * RCON_PASSWORD='strong-admin-pass' /home/palworld/palworld-backup.sh >> /var/log/palworld-backup.log 2>&1
Парсинг ShowPlayers для мониторинга онлайна
Вывод ShowPlayers легко распарсить, чтобы отдавать метрику онлайна в мониторинг или писать её в лог. Скрипт palworld-online.sh считает игроков (минус строка-заголовок) и печатает число плюс список ников:
#!/bin/bash
set -euo pipefail
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p ${RCON_PASSWORD:?set RCON_PASSWORD}"
raw=$($RCON "ShowPlayers")
# Убираем строку заголовка name,playeruid,steamid и пустые строки
players=$(echo "$raw" | tail -n +2 | grep -v '^[[:space:]]*$' || true)
count=$(echo "$players" | grep -c ',' || true)
echo "online=$count"
echo "$players" | cut -d',' -f1 | sed 's/^/ - /'
Пример интеграции с Prometheus textfile collector - пишем метрику в .prom-файл, который подхватит node_exporter:
#!/bin/bash
set -euo pipefail
RCON="/usr/local/bin/rcon -a 127.0.0.1:25575 -p ${RCON_PASSWORD:?}"
OUT=/var/lib/node_exporter/textfile/palworld.prom
count=$($RCON "ShowPlayers" | tail -n +2 | grep -c ',' || echo 0)
{
echo "# HELP palworld_players_online Current players online via RCON"
echo "# TYPE palworld_players_online gauge"
echo "palworld_players_online $count"
} > "$OUT.tmp" && mv "$OUT.tmp" "$OUT"
Запись через .tmp и mv делает обновление атомарным - node_exporter никогда не прочитает наполовину записанный файл. Ставьте этот скрипт в cron с интервалом * * * * * (раз в минуту).
Интеграция с systemd
Чтобы сервер корректно завершался с сохранением мира при systemctl stop, повесьте Shutdown на ExecStop в юните /etc/systemd/system/palworld.service:
[Service]
ExecStop=/usr/local/bin/rcon -a 127.0.0.1:25575 -p strong-admin-pass "Shutdown 10 Server_stopping"
TimeoutStopSec=30
TimeoutStopSec=30 даёт серверу время на отсчёт и запись сейва - если поставить меньше 10 секунд из Shutdown, systemd убьёт процесс раньше, чем мир сохранится.
RCON или REST API
С определённой версии Palworld получил ещё и REST API (порт 8212/TCP) - альтернативный канал управления с теми же по смыслу операциями плюс метрики /v1/api/metrics. Кратко разница:
- RCON - легковесный, TCP, поддерживается любым Source-RCON-клиентом, идеален для bash-скриптов и systemd.
- REST API - HTTP+JSON, удобнее для веб-панелей и внешних интеграций, отдаёт метрики tickrate и uptime, которых в RCON нет.
Оба включаются независимо и могут работать одновременно. Подробный разбор эндпоинтов - в статье REST API Palworld. Если вам нужны только базовые админ-действия из терминала - RCON достаточно.
Pterohost - готовый Palworld-хостинг с бэкапами, мониторингом онлайна и защитой от DDoS. Промокод 4START даёт -20% на первый заказ. Арендовать Palworld сервер
Часто задаваемые вопросы
Как включить RCON на сервере Palworld?
В PalWorldSettings.ini выставьте RCONEnabled=True, RCONPort=25575 и задайте AdminPassword. Пароль AdminPassword и есть пароль RCON - отдельного поля нет. После правки перезапустите сервер и откройте порт 25575/TCP на firewall.
Почему в Broadcast нельзя ставить пробелы?
RCON-протокол Palworld разбивает аргументы по пробелам, поэтому текст с пробелами обрезается на первом слове. Вместо пробелов ставьте подчёркивания: Broadcast Server_restart_in_5_min - сервер покажет их как обычные пробелы в чате.
Чем KickPlayer и BanPlayer оперируют - именем или SteamID?
SteamID игрока. Его берут из вывода ShowPlayers - там три колонки name, playeruid и steamid. Для кика или бана используйте именно значение steamid (17-значный SteamID64), имя может содержать пробелы и не подходит как аргумент.
Какой RCON-клиент выбрать для Palworld?
Для скриптов удобен gorcon/rcon-cli - один бинарник, поддержка YAML-конфига и режима single command. Также работают mcrcon и ARRCON. Все они реализуют стандартный Source RCON, который понимает Palworld.
Сохраняет ли RCON-команда Shutdown мир перед остановкой?
Да, Shutdown корректно завершает сервер с сохранением мира после отсчёта таймера. DoExit, наоборот, убивает процесс мгновенно без гарантии сейва - перед ним всегда давайте команду Save.