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

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

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

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

ИграДвижокСтатус
Team Fortress 2SourceПоддерживается
Counter-Strike: SourceSourceПоддерживается
Day of Defeat: SourceSourceПоддерживается
Left 4 Dead 2SourceПоддерживается
Half-Life 2: DeathmatchSourceПоддерживается
Любая другая игра с SourceModSourceПоддерживается
Garry’s ModSourceПока не поддерживается
Counter-Strike 2Source 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/ и cfg/ слились с существующей установкой:

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

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

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

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

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

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

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

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

Каждый релиз включает файл SHA256SUMS. Чтобы убедиться, что пакет передан без повреждений:

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

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

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

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 («Перевыпустить ключи») на странице сервера. Новый ключ доставляется на сервер при следующем переподключении; вручную его копировать не нужно.

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

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