На сервере Evrima администрирование идёт через RCON. Вы включаете его в Game.ini строкой bRconEnabled=True, портом и паролем, перечисляете SteamID64 своих админов в AdminsSteamIDs и подключаетесь клиентом, написанным для The Isle, - не инструментом для Source RCON, потому что у Evrima свой протокол. Дальше команды - короткие слова в нижнем регистре с аргументами через запятую: announce, directmessage, playerlist, getplayerdata, kick, ban, save, wipecorpses, переключатели вайтлиста и живое управление AI и ростом. В этом руководстве разобраны настройка, все команды, которые стоит знать, с их точным синтаксисом, и порядок модерации, который поддерживает порядок на сервере с динозаврами.
Установка сервера, полный Game.ini и порты описаны в руководстве по выделенному серверу Evrima. Настройка AI и роста - в статье AI, рост и моды в Evrima.
Включение RCON#
RCON находится в основной секции игровой сессии Game.ini - TheIsle/Saved/Config/LinuxServer/Game.ini в Linux и аналог с WindowsServer в Windows:
[/Script/TheIsle.TIGameSession]bRconEnabled=TrueRconPort=8888RconPassword=use-a-long-random-string-hereДействуют три правила:
- Перед правкой остановите сервер. Unreal перезаписывает
Game.iniпри остановке, так что изменения, внесённые на работающем сервере, затираются, когда он останавливается. - Порт - TCP. Сама игра использует UDP, но RCON - это TCP-соединение. Правило файрвола только для UDP ему ничем не поможет.
- Порт должен реально принадлежать серверу. На хостинге с панелью это значит порт из списка сетевых выделений сервера.
8888- лишь привычный пример.
После перезапуска проверьте в логе, что слушатель RCON запустился. Если его нет, неверен заголовок секции - ключ должен стоять под [/Script/TheIsle.TIGameSession], написанным в точности, - или булево значение не True.
Админы и кого признаёт RCON#
Админы перечислены в другой секции того же файла, по одному SteamID64 на повторяющийся ключ:
[/Script/TheIsle.TIGameStateBase]AdminsSteamIDs=76561198012345678AdminsSteamIDs=76561198087654321WhitelistIDs=76561198011112222VIPs=76561198033334444ID - это 17-значный SteamID64, а не имя профиля или красивый URL. Надёжно получить его можно, попросив человека один раз зайти и прочитав ID в логе сервера или в выводе playerlist, когда RCON уже работает.
Список админов и пароль RCON - разные вещи. Пароль позволяет клиенту подключиться к порту RCON; список админов определяет, кого игра считает администратором внутри игры. На практике те, у кого есть пароль RCON, должны быть и в AdminsSteamIDs, а модераторам, которым пароль иметь не положено, его не дают - подробнее ниже.
Что админы могут делать внутри игры, а не через RCON, отличалось от сборки к сборке Evrima. В Legacy-версии The Isle была внутриигровая админ-панель; внутриигровые инструменты Evrima были скромнее и менялись с обновлениями. Считайте RCON надёжным путём для модерации, а для того, что требует взгляда на мир, используйте те внутриигровые инструменты, которые даёт ваша текущая сборка.
Выбор RCON-клиента#
Поскольку протокол собственный у Evrima, привычные инструменты для Source - rcon-cli, mcrcon, RCON-консоли в универсальных серверных утилитах - подключаются, а затем не работают. Вам нужно что-то одно из:
- Настольный или веб-клиент RCON от сообщества, написанный для The Isle. Их несколько; выберите поддерживаемый, чей исходный код можно прочитать или чьих авторов можно установить.
- Бот для Discord, который оборачивает протокол. Так модерирует большинство сообществ Evrima: персонал вводит команды в закрытом канале, а бот записывает, кто что выполнил.
- Библиотека, если хотите построить собственные инструменты. Есть открытые реализации на нескольких языках, и они же - лучшая документация протокола, потому что официальной документации мало.
Что бы вы ни выбрали, у этого инструмента будет ваш пароль RCON, то есть фактически ключи от сервера. Облачный бот означает, что пароль хранит третья сторона. Ради удобства это может быть разумным обменом, но делайте его осознанно и меняйте пароль, если перестали пользоваться инструментом. Общие риски описаны в статье о безопасной работе с RCON.
Справочник команд#
Аргументы разделяются запятыми, а не пробелами. Это самая важная особенность: directmessage 76561198000000000,Hello работает, а то же самое с пробелом после ID - нет. Имена команд пишутся в нижнем регистре.
Общение
| Команда | Что делает |
|---|---|
announce <message> | Сообщение всем игрокам |
directmessage <SteamID64>,<message> | Личное сообщение одному игроку |
toggleglobalchat | Выключить или включить глобальный чат |
Игроки
| Команда | Что делает |
|---|---|
playerlist | Подключённые игроки с их ID |
getplayerdata | Подробные данные об игроках: вид, рост, позиция и прочее |
kick <SteamID64>,<reason> | Выкинуть игрока; он может зайти снова |
ban <SteamID64>,<reason> | Забанить игрока |
slay <SteamID64> | Убить динозавра игрока, если сборка это поддерживает |
Вайтлист и очередь
| Команда | Что делает |
|---|---|
togglewhitelist | Выключить или включить режим вайтлиста |
addwhitelist <SteamID64> | Добавить ID в вайтлист |
removewhitelist <SteamID64> | Убрать ID |
getqueuestatus | Текущее состояние очереди на вход |
Сервер и мир
| Команда | Что делает |
|---|---|
save | Принудительное сохранение |
serverdetails | Имя, карта, число игроков и сводка настроек |
wipecorpses | Убрать все трупы с карты |
updateplayables <classes> | Изменить, какие виды можно выбрать |
toggleai | Выключить или включить спавн AI |
aidensity <value> | Изменить плотность AI на лету |
disableaiclasses <classes> | Остановить спавн конкретных видов AI |
togglemigrations | Выключить или включить зоны миграции |
togglehumans | Выключить или включить игровых людей |
Рост
| Команда | Что делает |
|---|---|
togglegrowthmultiplier | Выключить или включить множитель роста |
setgrowthmultiplier <value> | Изменить скорость роста на лету |
Не каждая команда есть в каждой сборке: набор команд RCON рос по ходу разработки Evrima, а некоторые команды в разных клиентах отличаются именем или порядком аргументов. Если команда отклоняется, сверьте версию своего инструмента с текущей сборкой сервера, прежде чем решать, что синтаксис здесь неверен.
Кики, баны и доказательства за ними#
Споры в Evrima в основном касаются поведения, которое игра не ограничивает: убийство детёныша из своей же группы, охота в зоне гнездования, которую защищают ваши правила, злоупотребление механикой. Команды простые; работа в том, чтобы решение выдержало проверку.
Порядок, который работает:
- Опознавайте по ID. Выполните
playerlistи скопируйте SteamID64. Имена динозавров и имена в Steam не уникальны, а забанить не того человека хуже, чем не забанить никого. - Проверьте записи. Лог сервера записывает подключения; ваш RCON-бот, если он логирует чат и убийства, записывает остальное. Отметьте время и то, что вы увидели.
- Сначала предупреждайте лично во всём, что не дотягивает до читов.
directmessageс причиной исправляет больше людей, чем публичный кик. - Кикайте с причиной при повторе. Причину видит игрок.
- Баньте с причиной, в которой названо правило. Запишите ID, дату, причину и доказательства в канал персонала или таблицу. Если вам когда-нибудь придётся отменить бан или бан оспорят, эта запись - единственное, что у вас будет.
Храните эту запись о банах отдельно от сервера. Переустановка, переезд на другой хостинг или ошибка в конфиге могут стереть собственный список сервера, и читер, которого вы забанили в прошлом месяце, заметит это раньше вас. Делайте backup папок конфигурации и базы данных вместе - см. раздел о backup в руководстве по серверу Evrima.
Что касается политики - написания правил, обжалований, выбора модераторов, - статья правила сервера, модерация и персонал применима к The Isle так же, как к чему угодно.
Объявления и предупреждения о перезапуске#
announce - команда, которой вы будете пользоваться чаще всего. Схемы, которые работают:
- Предупреждения о перезапуске за 15, 5 и 1 минуту до планового перезапуска, а затем
save. Игроки успеют найти безопасное место и выйти, а не потерять динозавра из-за отключения посреди боя. - Уведомления о событиях - миграциях, охотах или ивентах сообщества.
- Напоминания о правилах в часы пик, короткие и конкретные.
Большинство RCON-ботов умеют отправлять объявления по расписанию. Если ваш не умеет, перезапускать сервер в фиксированное время всё равно может планировщик хостинга; на RE:NODE вкладка Schedules принимает cron-выражение и выполняет упорядоченные задачи с задержками, так что backup и штатный перезапуск всегда будут приходиться на один и тот же тихий час. Как часто это имеет смысл, описано в статье расписания перезапусков, которые помогают.
Делайте объявления достаточно редкими, чтобы их читали. Сервер, который вещает каждые десять минут, приучает игроков пропускать то единственное сообщение, которое важно.
Повседневные задачи админа и команды для них#
Большинство дней на сервере Evrima проходят без банов. Это горстка мелких задач, с которыми RCON хорошо справляется, если знать, какая команда подходит.
Игрок застрял или забагован. Динозавр, застрявший в рельефе или замёрзший после рассинхронизации, - достаточно частый случай, чтобы у каждого сервера был на него ответ. Если ваша сборка поддерживает slay, убийство застрявшего динозавра позволит игроку возродиться, - но он потеряет рост, так что сначала спросите и запишите это. Некоторые сообщества потом компенсируют это ивентом с ускоренным ростом. Не обещайте восстановлений, которые не можете выполнить: без мод-фреймворка нет поддерживаемого способа вернуть игроку выращенного динозавра командой.
Карта завалена телами. После массовой миграции или большой драки скапливаются трупы. wipecorpses убирает их все разом. Заодно он убирает еду, на которую рассчитывали хищники, так что объявите об этом за минуту, а не запускайте посреди пиршества.
Перед перезапуском. Отправьте предупреждения через announce, затем save прямо перед остановкой. Штатная остановка и так сохраняет мир, но явное сохранение непосредственно перед ней означает, что падение во время остановки ничего не унесёт.
Проверка жалобы. playerlist подтверждает, кто онлайн и какие у них ID; getplayerdata показывает, кем играет каждый игрок и насколько вырос, - часто этого достаточно, чтобы понять, правдоподобна ли жалоба «взрослый убил детёныша в зоне гнездования», ещё до чтения логов.
Тихие часы. getqueuestatus и serverdetails в пик показывают, заполнен ли сервер и разворачивает ли он людей, - а это нужная информация, прежде чем решать, поднимать ли число слотов или урезать AI.
announce Server restart in 5 minutes - find a safe spot and log out.savedirectmessage 76561198000000000,Your report is logged; staff will review the kill tonight.wipecorpsesВайтлисты, VIP и очередь#
Вайтлист пускает на сервер только тех, кто в списке. Для него нужны и переключатель, и заполненный список:
[/Script/TheIsle.TIGameSession]bServerWhitelist=True[/Script/TheIsle.TIGameStateBase]WhitelistIDs=76561198011112222WhitelistIDs=76561198033334444Добавление людей через addwhitelist вступает в силу без перезапуска - это главная причина делать это через RCON. Как и с другими изменениями на лету, проверьте, записывает ли ваша сборка добавление в файл; если нет, при следующей остановке добавьте ID в Game.ini, чтобы он пережил перезапуск.
VIPs проходят мимо очереди на вход. На загруженном публичном сервере дайте статус VIP тем, на ком держится сообщество, - персоналу, организаторам ивентов, давним постоянным игрокам, - и очередь станет фичей, а не поводом для жалоб.
getqueuestatus показывает, кто ждёт, что полезно, когда решаете, поднимать ли MaxPlayerCount. Очередь, заполненная каждый вечер, и сервер, который остаётся здоровым при такой нагрузке, - оба признака того, что пора; очередь при задыхающемся сервере - признак того, что нет.
Защита админского доступа#
Пароль RCON - это root-пароль для игры. Обращайтесь с ним соответственно:
- Длинный и случайный, хранится в менеджере паролей и никогда не вставляется в канал Discord.
- У как можно меньшего числа людей. Если модераторы пользуются ботом, пароль хранит бот, а у модераторов есть роли в Discord. Тогда снять модератора - значит снять роль, а не менять пароль, который знают все.
- Меняется, когда уходит человек с доступом или когда вы перестаёте пользоваться инструментом, у которого он был.
- Отдельно от доступа к хостингу. Модераторам нужны команды RCON, а не ваш аккаунт хостинга. Если кому-то нужны файлы или консоль, дайте ему отдельного субпользователя только с этими правами - почему, объясняет статья субпользователи и минимальные привилегии.
Если пароль утёк, смените его в Game.ini, перезапустите сервер, а затем прочитайте в логе, что с ним делали. Порядок локализации описан в статье что делать, если сервер взломали.
Устранение неполадок#
RCON-клиент не может подключиться. Порт не выделен серверу, заблокирован или проверяется как UDP. Убедитесь, что bRconEnabled=True стоит под правильным заголовком секции и что слушатель запустился согласно логу.
Подключается, но команды не работают. Вы используете инструмент для Source RCON или клиент, написанный под старый протокол. Используйте поддерживаемый клиент для Evrima.
Команды с аргументами ничего не делают. Аргументы разделяются запятой без пробела после неё. kick 76561198000000000,Spawn killing.
Изменение на лету пропало после перезапуска. Изменения через RCON не записываются в Game.ini. Правьте файл при остановленном сервере.
Игроки из вайтлиста не могут зайти. Вайтлист включён, но ID записаны неправильно или в не той секции. Каждый должен быть голым SteamID64 на отдельной строке WhitelistIDs= под [/Script/TheIsle.TIGameStateBase].
Правки списка админов исчезают. Файл правили на работающем сервере, и при остановке он был перезаписан. Остановите, отредактируйте, запустите.
FAQ#
Работает ли The Isle Evrima с обычными RCON-инструментами?
Нет. Evrima использует собственный протокол RCON, поэтому клиенты для Source RCON подключаются, но не могут выполнять команды. Используйте клиент или бота, созданного для The Isle.
Как добавить админа на сервер Evrima?
Остановите сервер, добавьте строку AdminsSteamIDs= с его SteamID64 под [/Script/TheIsle.TIGameStateBase] в Game.ini и снова запустите. Одна строка на админа.
Почему не работает моя команда RCON с сообщением?
Evrima разделяет аргументы запятыми. Пишите directmessage 76561198000000000,Your message - запятая сразу после ID.
Как отправить объявление на весь сервер?
Используйте announce, а за ним сообщение. Большинство RCON-ботов также умеют отправлять объявления по расписанию для предупреждений о перезапуске.
Переживают ли изменения через RCON перезапуск?
Обычно нет. Изменения плотности AI, роста или доступных видов на лету действуют только на работающий сервер. Чтобы сохранить их, внесите то же изменение в Game.ini при остановленном сервере.
Могут ли модераторы кикать и банить без пароля RCON?
Да, через бота, который хранит пароль и открывает команды для роли в Discord. Так можно снять модератора, не меняя пароль.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.