Pterohost docs

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. Поэтому пароль обязателен и должен быть стойким: он даёт полный контроль над сервером.

ПараметрЗначениеНазначение
RCONEnabledTrueВключает RCON-слушатель
RCONPort25575TCP-порт 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.