• Добро Пожаловать к нам на Форум Гость! Если вы еще не зарегистрировались просим вас зарегистрироваться!

  • Для того что бы скачивать с нашего форума, нужно зарегистрироватся!

  • Цены на серверах: Админка 35грн/мес Випка 20грн/мес.

  • Девушкам играющим на сервере Випка Бесплатно!

Reunion (эмулятор + мультипротокол для ReHLDS)

qpi3ik

Создатель
Команда форума
Гл.Администратор
Лучшие ответы
1
Команда разработки:
  • 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_ , либо вообще не пускать их на сервер.

  • Гибкая настройка разрешенных типов авторизации и префиксов для них.
  • Выбор протокола ответа на запрос к серверу.

Требования:
  • Платформа HLDS 6153
  • Движок ReHLDS >= build 546
  • MetaMod 1.20(p) или новее

Установка:
  1. Устанавливаем один из последних билдов сервера через SteamCMD.
  2. Устанавливаем MetaMod в <gamedir>/addons/metamod/, где <gamedir> — папка мода Half-Life, например /cstrike/ для Counter-Strike
  3. Создаем папку <gamedir>/addons/reunion/
  4. Копируем в нее из архива reunion_X_X_X.zip файл reunion_mm_i386.so или reunion_mm.dll в зависимости от используемой ОС
  5. Добавляем эту библиотеку в конфиг MetaMod. Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем:
    Linux:
PHP:
linux addons/reunion/reunion_mm_i386.so
Windows:
PHP:
win32 addons\reunion\reunion_mm.dll
  1. Копируем из архива reunion_X_X_X.rar файл reunion.cfg в корень сервера или папку мода. Вносим в него необходимые изменения в соответствии с вашими требованиями к конфигурации.

  2. Запускаем сервер и командой meta list проверяем статус
    Linux:
PHP:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm_i386.so vX.X.X ini Start Never
…
Windows
PHP:
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"

Конфигурационный файл:

PHP:
# ========================================================
# 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.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.

Благодарности:
  • dreamstalker за проект ReHLDS;
  • Crock / Lev за Dproto и всем остальным людям, которые помогали в развитии dproto.
Текущая версия 0.1.67:
 

Вложения

qpi3ik

Создатель
Команда форума
Гл.Администратор
Лучшие ответы
1
Обновлен первый пост. Метамод-плагин обновлен до версии 0.1.73
  • Фикс бага с автоматическим подключением забаненных игроков командой "banid" через любой доступный эмулятор
  • Добавлена функция кика игроков с одинаковым SteamID
  • Добавлена настройка "SteamIdHashDProtoCompat"
  • Подкорректирован подсчет силы флуда пакетами
 

Похожие темы

Ответы
0
Просмотры
402
Ответы
0
Просмотры
259
Ответы
0
Просмотры
293
Ответы
0
Просмотры
59
Ответы
0
Просмотры
56

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху