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

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

    Скрыть объявление
  3. Цены на серверах: Админка 35грн/мес Випка 20грн/мес.

    Скрыть объявление
  4. Девушкам играющим на сервере Випка Бесплатно!

    Скрыть объявление
Скрыть объявление

Привет! Администрация проекта рада видеть тебя у нас на сайте! Все вопросы по поводу прав администратора на сервере, VIP привелегий, снятия бана и так далее решаются на форуме в специально отведенных темах для этого. В чате подобные посты будут игнорироваться. Для удобства рекомендуем войти на сайт, как пользователь.

Скрыть объявление

Для получения бонусов на сервере (Випка, антифлеш от своих, денежные), посещайте форум!

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

Тема в разделе "Reverse-engineering HLDS & mods", создана пользователем qpi3ik, 27 сен 2016.

  1. TopicStarter Overlay
    qpi3ik

    qpi3ik Создатель Команда форума Гл.Администратор

    Регистрация:
    28 дек 2014
    Сообщения:
    457
    Симпатии:
    220
    Баллы:
    162
    Команда разработки:
    • 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
    1Reunion RUN reunion_mm_i386.so vX.X.X ini Start Never
    … 
    Windows
    PHP:
    Currently loaded plugins:
    description stat pend file vers src load unlod
    1Reunion 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:
     

    Вложения:

    :
  2. TopicStarter Overlay
    qpi3ik

    qpi3ik Создатель Команда форума Гл.Администратор

    Регистрация:
    28 дек 2014
    Сообщения:
    457
    Симпатии:
    220
    Баллы:
    162
    Обновлен первый пост. Метамод-плагин обновлен до версии 0.1.73
    • Фикс бага с автоматическим подключением забаненных игроков командой "banid" через любой доступный эмулятор
    • Добавлена функция кика игроков с одинаковым SteamID
    • Добавлена настройка "SteamIdHashDProtoCompat"
    • Подкорректирован подсчет силы флуда пакетами
     

Поделиться этой страницей

download cs by zombr

Покупка Админки/VIP

Купить прямо сейчас

download cs by zombr

ВАС ЗАБАНИЛИ?

ПОДАЙТЕ ЗАЯВКУ НА РОЗБАН!

download cs by zombr

АДМИН ОКАЗАЛСЯ НЕ ПРАВ?

ПОДАЙТЕ ЖАЛОБУ ПРЯМО СЕЙЧАС!