Перейти к содержимому

Установка плагина RookHelm

Это руководство проведёт вас через подключение игрового сервера Source 1 к RookHelm. Самый быстрый путь — пакет плагина из панели управления: одна загрузка, закинуть, перезапустить и принять сервер одним кликом. Без правки конфигов.

RookHelm поставляет один пакет плагина для каждой игры на Source 1, где работает SourceMod. Поддержка идёт от SourceMod, а не от списка разрешённых игр: если ваша игра работает с SourceMod 1.12, плагин загрузится и будет работать одинаково.

Игра Движок Статус
Team Fortress 2 Source Поддерживается
Counter-Strike: Source Source Поддерживается
Day of Defeat: Source Source Поддерживается
Left 4 Dead 2 Source Поддерживается
Half-Life 2: Deathmatch Source Поддерживается
Любая другая игра с SourceMod Source Поддерживается
Garry’s Mod Source Пока не поддерживается
Counter-Strike 2 Source 2 Пока не поддерживается

Garry’s Mod не работает со стандартным SourceMod, поэтому ему нужна отдельная поддержка — она запланирована, но пока недоступна.

Нужна поддержка игры, которой нет в списке? Напишите на [email protected] — заявки определяют, что мы поддержим следующим.

Вам понадобятся:

  • SourceMod 1.12 (stable), установленный в addons/sourcemod/.
  • Доступ к файлам игрового сервера (FTP, SSH или файловый менеджер вашего хостера).
  • Место администратора в сообществе RookHelm — пакет плагина лежит на странице Servers («Серверы») вашей панели управления. (Ещё нет сообщества? Запросите доступ.)

Вам не нужно отдельно устанавливать REST in Pawn или любое другое расширение — расширение RookHelm включено в пакет. Копировать учётные данные для каждого сервера вручную тоже не нужно: сервер получает свой ключ автоматически, когда вы его принимаете.

Шаг 1 — скачайте пакет плагина

Section titled “Шаг 1 — скачайте пакет плагина”

На странице Servers нажмите Download plugin bundle («Скачать пакет плагина»). Вы получите rookhelm-sourcemod-<community>.zip, который содержит:

  • Расширение RookHelm для SourceMod и сопутствующий плагин.
  • cfg/sourcemod/rookhelm.cfg, уже заполненный двумя настройками вашего сообщества (rookhelm_api_url и rookhelm_enrollment_token).
  • README.txt и тексты лицензий.

Токен регистрации один и тот же для каждого сервера вашего сообщества, поэтому один пакет работает на всём парке. Повторная загрузка безопасна — токен при этом не меняется.

Шаг 2 — закиньте его и перезапустите

Section titled “Шаг 2 — закиньте его и перезапустите”

Распакуйте архив в папку мода вашей игры, ту, где уже есть addons/ (например, tf/ или cstrike/, а не корень сервера), так, чтобы его папки addons/ и cfg/ слились с существующей установкой:

Terminal window
unzip rookhelm-sourcemod-*.zip -d /path/to/srcds/tf/

Архив для CS2 (SwiftlyS2 или CounterStrikeSharp) распаковывайте в game/csgo/.

Затем перезапустите сервер. При запуске плагин автоматически загружает входящий в пакет cfg/sourcemod/rookhelm.cfg, читает обе настройки, открывает соединение с RookHelm и заявляет о себе.

Вернитесь на страницу Servers: примерно в течение минуты сервер появится в разделе Pending servers («Ожидающие серверы») с именем и адресом, которые он сообщил о себе сам. Нажмите Adopt («Принять»). Принятие выпускает ключ подписи сервера и доставляет его на сервер автоматически — копировать нечего.

Каждый сервер, включая первый в совершенно новом сообществе, ждёт одного явного клика Adopt. Это сделано намеренно: сервер бессилен, пока вы не подтвердите, что он ваш.

После принятия статус сервера меняется на Online, как только приходит его первый heartbeat — обычно в течение нескольких секунд. С этого момента баны, муты и число игроков начинают поступать в вашу панель управления.

Если вы запустили загрузку из панели, карточка установки на странице Servers продвигается сама — от шагов установки к «Server detected» (сервер обнаружен), когда появляется строка ожидающего сервера, и к «Heartbeat received. Plugin installed» (heartbeat получен, плагин установлен), когда принятый сервер отчитывается.

Проверка загрузки (необязательно)

Section titled “Проверка загрузки (необязательно)”

Каждый релиз включает файл SHA256SUMS. В нём перечислены и пакет, и архив исходников, поэтому --ignore-missing пропускает тот файл, который вы не скачивали. Чтобы убедиться, что пакет передан без повреждений:

Terminal window
sha256sum -c --ignore-missing SHA256SUMS
# Expected: "rookhelm-sourcemod-v<version>.zip: OK"

Опубликованные бинарные файлы собираются релизным конвейером RookHelm. Расширение и плагин распространяются под GPL-3.0. Полные исходники установленной версии публикуются рядом с бинарными файлами, ссылка на них есть на странице Servers; файл NOTICE.txt внутри пакета содержит адрес.

Ручная настройка (для продвинутых)

Section titled “Ручная настройка (для продвинутых)”

Если вы управляете конфигами сами и не используете пакет, вам нужны всего две настройки. Скопируйте обе со страницы Servers и добавьте их в конфиг, который сервер выполняет при запуске, например cfg/server.cfg:

rookhelm_api_url "https://api.rookhelm.com"
rookhelm_enrollment_token "your-community-enrollment-token"

Перезапустите сервер (или смените карту), чтобы плагин прочитал их, затем примите сервер, как в шаге 3. Заданные таким способом значения в безопасности: плагин автоматически загружает cfg/sourcemod/rookhelm.cfg, только если этот файл присутствует (он поставляется только в пакете из панели), поэтому ручная настройка через server.cfg никогда не перезаписывается.

ConVar Описание
rookhelm_api_url Базовый URL точки подключения RookHelm. Пакет из панели предзаполняет его.
rookhelm_enrollment_token Токен регистрации вашего сообщества — одно значение, одинаковое на всех серверах, вставляется один раз. Пакет из панели предзаполняет его.

Обе ConVar имеют флаг FCVAR_PROTECTED, поэтому их значения скрыты из cvarlist и не читаются из чата. Ключ подписи сервера никогда не бывает ConVar — сервер получает и хранит его сам, когда вы его принимаете.

Ротация учётных данных

Section titled “Ротация учётных данных”
  • Токен регистрации: при утечке смените его из панели управления. Уже принятые серверы продолжат работать — их ключи не зависят от токена регистрации. Серверам, которые ещё не приняты, понадобится свежий пакет.
  • Ключ подписи сервера: если ключ сервера утерян или скомпрометирован, используйте Reissue keys («Перевыпустить ключи») на странице сервера. Новый ключ доставляется на сервер при следующем переподключении; вручную его копировать не нужно.

Если сервер не появляется среди ожидающих после перезапуска или не выходит в онлайн после принятия, см. Устранение неполадок.

Запросить доступ