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

Настройки

ReUnion настраивается целиком через файл reunion.cfg. Файл по умолчанию снабжён подробными комментариями — эта страница кратко описывает каждый его раздел.

предупреждение

Файл открывается предупреждением в духе «не меняйте ничего, если не понимаете, что это значит», и не без причины — большинство значений по умолчанию уже подобраны. Меняйте их осознанно и по одному.

Типы идентификаторов клиентов (cid_*)

Каждый параметр cid_* назначает тип идентификатора определённой категории клиентов. Доступны следующие коды типов:

КодЗначение
1Настоящий (или сгенерированный по оборудованию) Steam ID (STEAM_xx:xx:xx).
2Настоящий (или сгенерированный по оборудованию) Valve ID (VALVE_xx:xx:xx).
3Идентификатор STEAM_, сгенерированный по IP-адресу клиента.
4Идентификатор VALVE_, сгенерированный по IP-адресу клиента.
5Устаревшее значение — клиент отклоняется.
6Зарезервировано для будущего использования.
7HLTV.
8STEAM_ID_LAN.
9STEAM_ID_PENDING.
10VALVE_ID_LAN.
11VALVE_ID_PENDING.
12STEAM_666:88:666.
ПараметрПо умолчаниюПрименяется к
cid_Steam1Легитимные клиенты Steam.
cid_SteamPending5Клиенты, успешно прошедшие авторизацию, но не получившие пригодный Steam ID.
cid_HLTV5Ретрансляторы HLTV.
cid_NoSteam475Клиенты протокола 47 без поддержки генерации уникального идентификатора.
cid_NoSteam485Клиенты протокола 48 без поддержки генерации уникального идентификатора.
cid_RevEmu1revEmu ≥ 9.74.
cid_RevEmu20131RevEmu 2013.
cid_SC20091SteamClient 2009 / revEmu > 9.82.
cid_OldRevEmu1Более старые версии revEmu.
cid_SteamEmu1SteamEmu авторства hCupa.
cid_AVSMP1AVSMP (взломанный Steam).
cid_Setti3Сканер серверов SETTI.
cid_SXEI1Клиенты sXeI.

Параметр HLTVExcept_IP (по умолчанию 127.0.0.1) позволяет HLTV с указанного IP-адреса подключиться даже тогда, когда cid_HLTV отклоняет HLTV-клиентов.

Настройки авторизации

ПараметрПо умолчаниюНазначение
AuthVersion4Версия протокола авторизации: 1 — DProto (устарела), 2 — Reunion 2015–2018, 3 — Reunion 2018–2024, 4 — текущая (рекомендуется).
SteamIdHashSalt(пусто)Соль для хеширования генерируемых Steam ID: необратимо изменяет их и тем самым препятствует краже идентификаторов. Рекомендуемая длина — от 32 символов, минимальная — 16. При AuthVersion >= 3 пустое значение приводит к сбою инициализации ReUnion — чтобы отключить хеширование (не рекомендуется), укажите явно 0, а не оставляйте поле пустым.
SC2009_RevCompatMode1Делает идентификаторы, сгенерированные SC2009, совместимыми с revEmu. Не может быть отключён при AuthVersion >= 3.
EnableSXEIdGeneration0Включает генерацию идентификаторов на основе данных клиента sXeI. Включайте только в том случае, если у вас действительно развёрнута конфигурация с поддержкой sXeI.
EnableGenPrefix20Добавляет второй префикс идентификатора, снижая вероятность коллизий среди генерируемых идентификаторов. Действует только при заданном SteamIdHashSalt; не может быть отключён при AuthVersion >= 3.

Устаревшие префиксы authid

Параметры IPGen_Prefix1/2, Native_Prefix1, RevEmu*_Prefix1, SC2009_Prefix1, OldRevEmu_Prefix1, SteamEmu_Prefix1, AVSMP_Prefix1, Setti_Prefix1 и SXEI_Prefix1 применяются только при значении AuthVersion, равном 1 или 2. При рекомендуемом AuthVersion = 4 весь этот раздел игнорируется — оставьте значения по умолчанию.

Независимо от версии, banid всегда использует SteamID без какого-либо префикса.

Серверные запросы

ПараметрПо умолчаниюНазначение
ServerInfoAnswerType00 — ответы нового образца, как у Steam (рекомендуется), 1 — ответы старого образца GoldSrc, 2 — гибридный режим: сервер виден и там, и там, но отвечает на каждый запрос трижды.
FixBuggedQuery1Исправляет поведение клиентов с некорректным браузером серверов, которые иначе зависают при подключении.
EnableQueryLimiter1Ограничивает частоту серверных запросов (TSource, список игроков и т. п.). Укажите 0, если частота уже ограничивается внешними средствами.
QueryFloodBanLevel400Количество запросов в секунду, при котором IP-адрес блокируется. Диапазон 3202048; легитимный трафик редко превышает ~80 запросов в секунду.
QueryFloodBanTime10Длительность блокировки за флуд запросами в минутах, 060. Значение 0 блокирует запросы, не выдавая бан.
QueryLimiterExceptIP(раздел, пуст)Список IP-адресов (по одному в строке в разделе [QueryLimiterExceptIP]), на которые ограничитель запросов не распространяется.
AllowSplitPackets0Разрешает разбивать исходящие пакеты размером более 1400 байт, как это делает оригинальный клиент Steam. Некоторые средства мониторинга такое разбиение не поддерживают.
IDClientsLimit1Максимальное число одновременных подключений с одним Steam ID, 032. Значение 0 снимает ограничение. Полезно при отладке с несколькими экземплярами клиента.

Журналирование

ПараметрПо умолчаниюНазначение
LoggingMode00 — выключено, 1 — в консоль, 2 — в файлы журнала, 3 — и то, и другое.

Частые вопросы

  • Я задал SteamIdHashSalt так же, как в DProto, но у игроков другие SteamID. В ReUnion используется другой, более надёжный алгоритм хеширования. Знание SteamID игрока до включения SteamIdHashSalt не помогает воспроизвести его после.
  • Можно ли что-то сделать с подменой SteamID? Нет — программы подмены идентификаторов формируют корректные тикеты авторизации, поэтому сервер не в состоянии определить, что идентификатор подменён. Заданный SteamIdHashSalt по крайней мере не позволяет намеренно выдать себя за конкретного другого игрока.
  • Некоторые средства мониторинга серверов не могут получить список игроков. Скорее всего, они используют устаревший формат запроса; применяйте актуальную библиотеку запросов, например PHP-Source-Query или аналогичную.
  • В DProto был параметр Game_Name, а в ReUnion его нет. Изменяйте отображаемое название игры из плагина.