Endzhey
Пользователь
- Регистрация
- 8 Июн 2017
- Сообщения
- 166
- Симпатии
- 36
Первоисточник - Reunion (эмулятор + мультипротокол для ReHLDS) - Dedicated-Server.RU
Команда разработки:
Описание:
Reunion является продолжением DProto для ReHLDS.
Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Разработку начал Crock, но, в связи с появлением новых проектов, не успел закончить. На данный момент разработкой и поддержкой занимаются Asmodai и s1lent.
Особенности:
Требования:
Установка:
CVAR:
Конфигурационный файл:
Команды:
Изменения:
FAQ:
Благодарности:
English Topic
Команда разработки:
- Crock
- Asmodai
- s1lent
Описание:
Reunion является продолжением DProto для ReHLDS.
Это metamod плагин, который позволяет заходить 47/48 Non-Steam на сервер.
Разработку начал Crock, но, в связи с появлением новых проектов, не успел закончить. На данный момент разработкой и поддержкой занимаются Asmodai и s1lent.
Особенности:
- Поддержка всех известных steam/non-steam клиентов.
- Поддержка 48/47 протоколов.
- Эмуляция AuthID по железу клиента. Для этого на клиенте должен быть установлен один из поддерживаемых эмуляторов.
- Эмуляция AuthID по IP-адресу клиента. Для каждого типа клиента можно выбрать свой AuthID.
Например, для клиентов 48 протокола сделать STEAM_ , а для 47 — VALVE_ , либо вообще не пускать их на сервер.
- Гибкая настройка разрешенных типов авторизации и префиксов для них.
- Выбор протокола ответа на запрос к серверу.
Требования:
- Движок ReHLDS 653 или новее
- MetaMod 1.20(p) или новее
Установка:
- Устанавливаем один из последних билдов сервера через SteamCMD.
- Устанавливаем MetaMod в <gamedir>/addons/metamod/, где <gamedir> — папка мода Half-Life, например /cstrike/ для Counter-Strike
- Создаем папку <gamedir>/addons/reunion/
- Копируем в нее из архива reunion_X_X_X.zip файл reunion_mm_i386.so или reunion_mm.dll в зависимости от используемой ОС
- Добавляем эту библиотеку в конфиг MetaMod. Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем:
Linux:
linux addons/reunion/reunion_mm_i386.so
win32 addons\reunion\reunion_mm.dll - Копируем из архива reunion_X_X_X.rar файл reunion.cfg в корень сервера или папку мода. Вносим в него необходимые изменения в соответствии с вашими требованиями к конфигурации.
- Запускаем сервер и командой meta list проверяем статус
Linux:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm_i386.so vX.X.X ini Start Never
…
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm.dll vX.X.X ini Start Never
… - Установка Reunion завершена, теперь нужен ReHLDS, переходим по ссылке -> Click...
скачиваем архив rehlds-0.X-XXXXXXXX.XXXXXX-XX.zip по последней дате
Более подробнее о ReHLDS можно почитать здесь -> Click...
CVAR:
- dp_rejmsg_steam "Sorry, legit clients are not allowed on this server"
- dp_rejmsg_nosteam47 "Sorry, no-steam p47 clients are not allowed on this server"
- dp_rejmsg_nosteam48 "Sorry, no-steam p48 clients are not allowed on this server"
- dp_rejmsg_hltv "Sorry, HLTV is not allowed on this server"
- dp_rejmsg_pending "Sorry, unauthorized clients are not allowed on this server"
- dp_rejmsg_revemu "Sorry, RevEmu clients are not allowed on this server"
- dp_rejmsg_revemu2013 "Sorry, RevEmu2013 clients are not allowed on this server"
- dp_rejmsg_steamemu "Sorry, SteamEmu clients are not allowed on this server"
- dp_rejmsg_oldrevemu "Sorry, Old RevEmu clients are not allowed on this server"
- dp_rejmsg_avsmp "Sorry, AVSMP clients are not allowed on this server"
- dp_rejmsg_revemu_sc2009 "Sorry, revEmu/SC2009 clients are not allowed on this server"
- dp_rejmsg_sxei "Sorry, sXe Injected clients are not allowed on this server"
- dp_rejmsg_sse3 "Sorry, SSE3 clients are not allowed on this server"
Конфигурационный файл:
Цитата:
# ========================================================
# REUNION CONFIGURATION
# ========================================================
#
# General rule for modifying this file:
# DONT CHANGE ANYTHING IF YOU DONT KNOW WHAT IT MEANS!
#
# ========================================================
# AUTHID MANAGEMENT
# ========================================================
# ClientID types (for cid_* options)
# 1: Real (or generated by HW) steam (STEAM_xx:xx:xx)
# 2: Real (or generated by HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprecated - client will be rejected
# 6: reserved for future use
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666
# Use these options to set authid's for clients
### AUTH CONTROL ###
# For Legit Steam clients (default is real STEAM_xx:xx:xx [1])
cid_Steam = 1
# Client recognized as pending when they sucessfully authorized, but did not get steam id
# REMARK: Actually, it got steamid, but it is useless (STEAM_0:0:0 for example)
# default is STEAM_ID_PENDING [9]
cid_SteamPending = 9
# for HLTV (default is HLTV [7])
cid_HLTV = 7
# for p.47 clients that do not support unique id generation (default is STEAM_ID_LAN [8])
cid_NoSteam47 = 8
# for p.48 clients that do not support unique id generation (default is VALVE_ID_LAN [10])
cid_NoSteam48 = 10
# For players having revEmu ( >= 9.74) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu = 1
# For players having RevEmu 2013 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu2013 = 1
# For players having SteamClient 2009 / revEmu > 9.82 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 1
# For players having old revEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_OldRevEmu = 1
# For players having hCupa's SteamEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SteamEmu = 1
# For players having AVSMP (Cracked Steam) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_AVSMP = 1
# For SETTI ServerScanner
# default is STEAM_xx:xx:xx generated by IP [3]
cid_Setti = 3
# For SXEI Clients
# default is real STEAM_xx:xx:xx [1]
cid_SXEI = 1
# For players having SmartSteamEmu > 1.2.4 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SSE3 = 1
### AUTH SETTINGS ###
# ServerInfoAnswerType (0/1/2)
# Sets server answer type for query requests
# 0 = New style (Source Engine)
# 1 = Old Style (Fix favorites list for p.47 clients)
# 2 = Hybrid mode - Server is visible anywhere, but there are 3 packets generated for every serverinfo request
ServerInfoAnswerType = 0
# EnableSXEIdGeneration (0 / 1)
# Turns on steamid generation based on info sent by sXeI client
# Enable this ONLY if you have sXeI server installed!
EnableSXEIdGeneration = 0
# SC2009_RevCompatMode (0 / 1)
# Enable fix to make steamids generated for SC2009 compatible with revEmu
SC2009_RevCompatMode = 1
# SteamIdHashSalt (string)
# Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulators.
# Should be more than 16 chars length. If string is empty, hashing is not applied.
SteamIdHashSalt =
# EnableGenPrefix2 (0 / 1)
# Enable second prefix (0 or 1) for generated by HW authids. Reduces chance of authid collisions.
EnableGenPrefix2 = 0
# HLTVExcept_IP (ip addr)
# HLTV from this IP will be able to join the server even if cid_HLTV is set to 5 (deprecated)
HLTVExcept_IP = 127.0.0.1
### AUTHID PREFIXES ###
# IPGen_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by IP
IPGen_Prefix1 = 0
# IPGen_Prefix2 (int)
# STEAM_a:b:c
# second prefix (b) for authids generated by IP
IPGen_Prefix2 = 4
# Native_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by native auth method (Steam)
Native_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by Steamclient 2009
SC2009_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu
RevEmu_Prefix1 = 1;
# RevEmu2013_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu2013
RevEmu2013_Prefix1 = 1;
# OldRevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by old RevEmu
OldRevEmu_Prefix1 = 2;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by SteamEmu
SteamEmu_Prefix1 = 3;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for AVSMP Clients (Cracked steam)
AVSMP_Prefix1 = 4;
# Setti_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for Setti server scanner
Setti_Prefix1 = 5;
# SXEI_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for sXeI clients
SXEI_Prefix1 = 6;
# SSE3_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for SSE3
SSE3_Prefix1 = 7;
# Note that banid will use steamid WITHOUT any prefixes!
# ========================================================
# OTHER STUFF
# ========================================================
# LoggingMode:
# 0 = None
# 1 = Console
# 2 = Log Files
# 3 = Both
LoggingMode = 2
# ========================================================
# REUNION CONFIGURATION
# ========================================================
#
# General rule for modifying this file:
# DONT CHANGE ANYTHING IF YOU DONT KNOW WHAT IT MEANS!
#
# ========================================================
# AUTHID MANAGEMENT
# ========================================================
# ClientID types (for cid_* options)
# 1: Real (or generated by HW) steam (STEAM_xx:xx:xx)
# 2: Real (or generated by HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ by IP
# 4: VALVE_ by IP
# 5: Deprecated - client will be rejected
# 6: reserved for future use
# 7: HLTV
# 8: STEAM_ID_LAN
# 9: STEAM_ID_PENDING
# 10: VALVE_ID_LAN
# 11: VALVE_ID_PENDING
# 12: STEAM_666:88:666
# Use these options to set authid's for clients
### AUTH CONTROL ###
# For Legit Steam clients (default is real STEAM_xx:xx:xx [1])
cid_Steam = 1
# Client recognized as pending when they sucessfully authorized, but did not get steam id
# REMARK: Actually, it got steamid, but it is useless (STEAM_0:0:0 for example)
# default is STEAM_ID_PENDING [9]
cid_SteamPending = 9
# for HLTV (default is HLTV [7])
cid_HLTV = 7
# for p.47 clients that do not support unique id generation (default is STEAM_ID_LAN [8])
cid_NoSteam47 = 8
# for p.48 clients that do not support unique id generation (default is VALVE_ID_LAN [10])
cid_NoSteam48 = 10
# For players having revEmu ( >= 9.74) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu = 1
# For players having RevEmu 2013 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_RevEmu2013 = 1
# For players having SteamClient 2009 / revEmu > 9.82 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 1
# For players having old revEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_OldRevEmu = 1
# For players having hCupa's SteamEmu on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SteamEmu = 1
# For players having AVSMP (Cracked Steam) on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_AVSMP = 1
# For SETTI ServerScanner
# default is STEAM_xx:xx:xx generated by IP [3]
cid_Setti = 3
# For SXEI Clients
# default is real STEAM_xx:xx:xx [1]
cid_SXEI = 1
# For players having SmartSteamEmu > 1.2.4 on client-side:
# default is real STEAM_xx:xx:xx [1]
cid_SSE3 = 1
### AUTH SETTINGS ###
# ServerInfoAnswerType (0/1/2)
# Sets server answer type for query requests
# 0 = New style (Source Engine)
# 1 = Old Style (Fix favorites list for p.47 clients)
# 2 = Hybrid mode - Server is visible anywhere, but there are 3 packets generated for every serverinfo request
ServerInfoAnswerType = 0
# EnableSXEIdGeneration (0 / 1)
# Turns on steamid generation based on info sent by sXeI client
# Enable this ONLY if you have sXeI server installed!
EnableSXEIdGeneration = 0
# SC2009_RevCompatMode (0 / 1)
# Enable fix to make steamids generated for SC2009 compatible with revEmu
SC2009_RevCompatMode = 1
# SteamIdHashSalt (string)
# Salt string for SteamIDs hashing. Irreversibly changes SteamIDs. Applies only to SteamIDs generated by emulators.
# Should be more than 16 chars length. If string is empty, hashing is not applied.
SteamIdHashSalt =
# EnableGenPrefix2 (0 / 1)
# Enable second prefix (0 or 1) for generated by HW authids. Reduces chance of authid collisions.
EnableGenPrefix2 = 0
# HLTVExcept_IP (ip addr)
# HLTV from this IP will be able to join the server even if cid_HLTV is set to 5 (deprecated)
HLTVExcept_IP = 127.0.0.1
### AUTHID PREFIXES ###
# IPGen_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by IP
IPGen_Prefix1 = 0
# IPGen_Prefix2 (int)
# STEAM_a:b:c
# second prefix (b) for authids generated by IP
IPGen_Prefix2 = 4
# Native_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by native auth method (Steam)
Native_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by Steamclient 2009
SC2009_Prefix1 = 0;
# RevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu
RevEmu_Prefix1 = 1;
# RevEmu2013_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by RevEmu2013
RevEmu2013_Prefix1 = 1;
# OldRevEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by old RevEmu
OldRevEmu_Prefix1 = 2;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids generated by SteamEmu
SteamEmu_Prefix1 = 3;
# SteamEmu_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for AVSMP Clients (Cracked steam)
AVSMP_Prefix1 = 4;
# Setti_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for Setti server scanner
Setti_Prefix1 = 5;
# SXEI_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for sXeI clients
SXEI_Prefix1 = 6;
# SSE3_Prefix1 (int)
# STEAM_a:b:c
# first prefix (a) for authids assigned for SSE3
SSE3_Prefix1 = 7;
# Note that banid will use steamid WITHOUT any prefixes!
# ========================================================
# OTHER STUFF
# ========================================================
# LoggingMode:
# 0 = None
# 1 = Console
# 2 = Log Files
# 3 = Both
LoggingMode = 2
Команды:
- dp_clientinfo - сохраняет в квары информацию о типе авторизации игрока. Смотрите пример плагина в комплекте.
Изменения:
- 0.1.0.135 Beta (26.10.2019)
- Расширено API.
- Добавлен Whitelist IP-адресов для настройки [QueryLimiterExceptIP].
- 0.1.0.133 Beta (15.09.2018)
- Улучшена защита от атак. Требуется последний ReHlds.
- Исправлено несрабатывание фикса зависаний багнутых клиентов.
- 0.1.0.130 Beta (15.09.2018)
- Исправлено отображение аватаров.
- 0.1.0.129 Beta (15.09.2018)
- Исправлена ошибка в обработке query-запросов (thx BombermaG). К проблеме TAB-а скорее всего отношения не имеет.
- 0.1.0.127 Beta (09 июля 2018)
- В версии есть мелкие баги, в том числе с отображением steam игроков, решается кваром ServerInfoAnswerType 2
- Исправлены ошибки беты
- Пускает HLTV и умеет отдельно фильтровать запросы с нескольких портов одного ip (количество задается в конфиге)
- 0.1.92c (11 февраля 2018)
- Добавлена опция EnableQueryLimiter
- QueryFloodBanTime может быть установлен в 0 для блокировки флуда без бана
- Расширено API.
- Добавлены некоторые безопасные проверки.
- 0.1.0.89 (25 января 2018) (Related post#488)
- Hotfix: Bugfixes (Требуется ReHLDS API не ниже 3.4.X.X)
- 0.1.75 (20 декабря 2016)
- исправлена совместимость хеширования с dproto
- 0.1.74 (12 декабря 2016)
- rehlds api обновлено до версии 3.0
- 0.1.73 (27 сентября 2016)
- забаненные через banid клиенты больше не будут автоматически перезаходить с другим доступным эмулятором
- добавлен кик клиентов с одинаковым steamid
- добавлена опция SteamIdHashDProtoCompat
- поправлен подсчет силы флуда пакетами
- 0.1.67 (22 февраля 2016)
- исправлен бан игроков с VALVE_ID_*
- улучшена обработка сильного флуда запросами
- 0.1.66 (7 февраля 2016)
- исправлена авторизация steam игроков, которые были забанены через banid
- 0.1.65 (31 января 2016)
- в информацию о сервере добавлен опциональный параметр 'port' для поддержки некоторых новых версий revemu и мониторингов
- увеличен буфер для запроса серверных правил (как в steamclient, а не как по протоколу)
- getchallenge имеет больший приоритет, чем запрос информации о сервере
- чтение appversion из steam.inf
- 0.1.62 (25 января 2016)
- Исправлена ошибка неправильной конвертации steamid для внесения в список банов
- HLTV получает корректный steamid при подключении с ExceptIP
- Теперь не банятся игроки, зажимающие enter для быстрого обновления информации о сервере
- В конфиг добавлен параметр QueryFloodBanTime
- 0.1.61 (13 января 2016)
- Чтение id приложения из steam_appid.txt
- Корректное число играющих ботов для модов
- Много небольших исправлений
- 0.1.58 (8 января 2016)
- Исправлена генерация steamid по ip
- Увеличен лимит опросов сервера для бана
- 0.1.57 (27 декабря 2015)
- Изменен метод определения кривого сервербраузера
- 0.1.56 (27 декабря 2015)
- Исправлена ошибка "STEAM userid keysize is bogus (0/1024)"
- Исправлено неверное количество фрагов в информации о сервере
- Исправлено зависание клиентов с кривым сервербраузером
- 0.1.52 (17 декабря 2015)
- Исправлен список игроков в информации о сервере
- 0.1.51 (15 декабря 2015)
- Исправлено несоответствие алгоритма хеширования между версиями 0.1.46 и 0.1.50
- EnableGenPrefix2 теперь не затрагивает account id (большое число в steamid)
- 0.1.50 (14 декабря 2015)
- Разрешен старый p47 запрос списка игроков
- Добавлено C++ API для плагинов
- 0.1.46 (14 Октября 2015)
- Исправлена проблема Bad challenge в HLSW
- Исправлена dp_clientinfo для первого слота
- 0.1.43 (11 Октября 2015)
- Исправлены query со steam клиента
- 0.1.42 (11 Октября 2015)
- Улучшено хеширование steamid для большей безопасности
- Добавлен параметр EnableGenPrefix2, разрешающий генерировать второй префикс steamid
FAQ:
Q: Я установил SteamIdHashSalt также, как было в конфиге dproto, но у игроков изменились steamid. Почему?
A: Reunion использует другой, более безопасный алгоритм хеширования. Знание steamid другого игрока до установки SteamIdHashSalt не поможет получить такой же steamid после включения хеширования.
Q: Можно ли что-то сделать против подменяльщиков steamid?
A: Нет, id-чейнджеры генерируют корректную авторизационную информацию, поэтому со стороны сервера нельзя узнать, что steamid был подменен. Вы можете только настроить SteamIdHashSalt чтобы не допустить подмену на конкретный steamid другого игрока.
Q: У меня есть проблемы с использованием HLSW.
A: Используйте наиболее стабильную версию HLSW 1.3.1
Q: Игроки с ноустима не учитываются при отображении информации о сервере в мастерсервере Valve. Можно ли это исправить?
A: Нет, клиент стима получает информацию о количестве игроков с авторизационных серверов стима. Полученное с сервера значение просто игнорируется.
Q: Почему amxbans и некоторые другие скрипты не могут получить список игроков на сервере?
A: Они используют некорректный формат запроса и должны быть переписаны с использованием последнего PHP-Source-Query или аналогичного скрипта.
Q: В dproto была опция Game_Name, но в reunion её нет. Как поменять название игры?
A: Используйте плагин.
Q: В AmxBans 6.0/6.1/gmbans в информации о сервере не отображается список серверных переменных, что делать?
A: Вам потребуется заменить файл include/rcon_hl_net.inc или include/serverinfo_helper.php,
скачать вы можете ниже к прикрепленному посту архив fix_scripts.zip.
A: Reunion использует другой, более безопасный алгоритм хеширования. Знание steamid другого игрока до установки SteamIdHashSalt не поможет получить такой же steamid после включения хеширования.
Q: Можно ли что-то сделать против подменяльщиков steamid?
A: Нет, id-чейнджеры генерируют корректную авторизационную информацию, поэтому со стороны сервера нельзя узнать, что steamid был подменен. Вы можете только настроить SteamIdHashSalt чтобы не допустить подмену на конкретный steamid другого игрока.
Q: У меня есть проблемы с использованием HLSW.
A: Используйте наиболее стабильную версию HLSW 1.3.1
Q: Игроки с ноустима не учитываются при отображении информации о сервере в мастерсервере Valve. Можно ли это исправить?
A: Нет, клиент стима получает информацию о количестве игроков с авторизационных серверов стима. Полученное с сервера значение просто игнорируется.
Q: Почему amxbans и некоторые другие скрипты не могут получить список игроков на сервере?
A: Они используют некорректный формат запроса и должны быть переписаны с использованием последнего PHP-Source-Query или аналогичного скрипта.
Q: В dproto была опция Game_Name, но в reunion её нет. Как поменять название игры?
A: Используйте плагин.
Q: В AmxBans 6.0/6.1/gmbans в информации о сервере не отображается список серверных переменных, что делать?
A: Вам потребуется заменить файл include/rcon_hl_net.inc или include/serverinfo_helper.php,
скачать вы можете ниже к прикрепленному посту архив fix_scripts.zip.
Благодарности:
- dreamstalker за проект ReHLDS
- Crock / Lev за Dproto и всем остальным людям, которые помогали в развитии dproto.
- kazakh758 за помощь с тестированием фикса зависания клиентов с кривым сервербраузером
English Topic
Вложения
-
200,2 KB Просмотры: 160
-
246,8 KB Просмотры: 140
Последнее редактирование модератором: