1. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.107
    Пол:
    Мужской
    dproto(Double Protocol) - это плагин для Metamod'а, который позволяет зайти на сервер клиентам Non Steam с 47 либо 48 протоколами. Проще говоря, пиратским копиям игры.
    Работает со всеми версиями HLDS.
    Требования:
    - Чистые (не патченные) файлы движка (swds.dll для Windows; engine_i686.so для билдов Linux до версии 6***, engine.so для билдов Linux версии 6***).
    - Metamod 1.19 и выше.

    Ставится точно так же, как и любой другой плагин для metamod.
    Если у вас Linux:
    - В папке addons создаем папку dproto и копируем в неё файл dproto.so
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    Код:
    linux addons/dproto/dproto_i386.so
    - Перезагрузите сервер

    Если у вас Windows:
    - В папке addons создаем папку dproto и копируем в неё файл dproto.dll
    - Открываем addons/metamod/plugins.ini (если такого файла нет, то создаем сами) и добавляем строчку
    Код:
    win32 addons\dproto\dproto.dll
    - Перезагрузите сервер

    ========================================================
    # DPROTO CONFIGURATION
    # ========================================================

    #
    # Главное правило при изменении этого файла:
    # НЕ ВНОСИТЕ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ, ЧТО ОЗНАЧАЕТ ТОТ ИЛИ ИНОЙ ПАРАМЕТР!
    #


    # ========================================================
    # УПРАВЛЕНИЕ идентификацией КЛИЕНТОВ
    # ========================================================

    # Тип ClientID (для cid_* параметров)
    # 1: Реальный (или сгенерированный HW) steam (STEAM_xx:xx:xx)
    # 2: Реальный (или сгенерированный HW) valve (VALVE_xx:xx:xx)
    # 3: STEAM_ генерированный по IP
    # 4: VALVE_ генерированный по IP
    # 5: Запрещенный - клиент не будет допущен до сервера с выводом dp_rejmsg_*, если таковой имеется
    # 6: Зарезервированно на будущее
    # 7: HLTV
    # 8: STEAM_ID_LAN
    # 9: STEAM_ID_PENDING
    # 10: VALVE_ID_LAN
    # 11: VALVE_ID_PENDING
    # 12: STEAM_666:88:666

    # Используйте эти значения что бы задать тип authid's для клиентов

    # Для HLTV (по умолчанию HLTV [7])
    cid_HLTV = 7

    # Для p.47 клиентов, которые не поддерживают генерацию уникальных ID (по умолчанию VALVE_ сгенерированный по IP [4])
    cid_NoSteam47 = 4

    # Для p.48 клиентов, которые не поддерживают генерацию уникальных ID (по умолчанию VALVE_ сгенерированный по IP [4])
    cid_NoSteam48 = 4

    # Для реальных Steam клиентов (по умолчанию реальный STEAM_xx:xx:xx [1])
    cid_Steam = 1

    # Клиент успешно прошел авторизацию, но не получил steam ID
    # ЗАМЕТКА: На самом деле он получил steam id, но абсолютно бесполезный (например STEAM_0:0:0)
    # по умолчанию STEAM_ID_PENDING [9]
    cid_SteamPending = 9

    # Для игроков имеющих revEmu (версии 9.74 и выше) на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_RevEmu = 1

    # Для игроков имеющих RevEmu 2013 на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_RevEmu2013 = 1

    # Для игроков имеющих SteamClient 2009 / revEmu выше версии 9.82 на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_SC2009 = 1

    # Для игроков имеющих старый revEmu на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_OldRevEmu = 1

    # Для игроков имеющих hCupa's SteamEmu на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_SteamEmu = 1

    # Для игроков имеющих AVSMP (Cracked Steam) на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_AVSMP = 1

    # Для игроков имеющих SmartSteamEmu > 1.2.4 на стороне клиента:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_SSE3 = 1

    # Для бота SETTI (ServerScanner):
    # по умолчанию STEAM_xx:xx:xx сгенерированный по IP [3]
    cid_Setti = 3

    # Для SXEI клиентов:
    # по умолчанию реальный STEAM_xx:xx:xx [1]
    cid_SXEI = 1

    # EnableSXEIdGeneration (0 / 1)
    # Включает генерацию SteamID на основе присланной информации клиентом sXeI.
    # Включайте только если у вас установлена серверная часть sXeI!
    EnableSXEIdGeneration = 0

    # SC2009_RevCompatMode (0 / 1)
    # Включает исправление SteamID сгенерированных эмулятором SteamClient 2009 для совместимости с revEmu.
    SC2009_RevCompatMode = 1

    # SteamEmuCompatMode (0 / 1)
    # Это аналог настроек eSTEAMATiON's EnforceSteamEmuCompatIDMode.
    # Влияет только на Old RevEmu и SteamEmu эмуляторы.
    SteamEmuCompatMode = 1

    # OldEstCompatMode (0 / 1)
    # Вкл/Выкл исправления SteamID сгенерированных eST версии 0.3.1.
    # Установите 1 если вы хотите что бы для eST генерировались SteamID как в версиях до 0.3.0.
    OldEstCompatMode = 0

    # SteamIdHashSalt (строка)
    # Строка соли для хеширования SteamID. Необратимо меняет SteamID. Применяется только к SteamID сгенерированных эмуляторами.
    # Строка должна быть заполненна более чем 16 символами. Если строка остается пустой, хеширование не применяется.
    SteamIdHashSalt =

    # IPGen_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных по IP.
    IPGen_Prefix1 = 0

    # IPGen_Prefix2 (int)
    # STEAM_a:b:c
    # Второй префикс (b) для AuthID, сгенерированных по IP.
    IPGen_Prefix2 = 4

    # Native_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных легальной системой авторизации (Steam)
    Native_Prefix1 = 0;

    # RevEmu_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных эмулятором Steamclient 2009
    SC2009_Prefix1 = 0;

    # RevEmu_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных эмулятором RevEmu
    RevEmu_Prefix1 = 0;

    # RevEmu2013_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных эмулятором RevEmu2013
    RevEmu2013_Prefix1 = 0;

    # OldRevEmu_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных старым эмулятором RevEmu
    OldRevEmu_Prefix1 = 0;

    # SteamEmu_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, сгенерированных эмулятором SteamEmu
    SteamEmu_Prefix1 = 0;

    # SteamEmu_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, назначенного для клиентов AVSMP (Cracked steam)
    AVSMP_Prefix1 = 0;

    # SSE3_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, назначенного для клиентов SSE3
    SSE3_Prefix1 = 0;

    # Setti_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, назначенного боту Setti (server scanner)
    Setti_Prefix1 = 0;

    # SXEI_Prefix1 (int)
    # STEAM_a:b:c
    # Первый префикс (a) для AuthID, назначенного клиенту sXeI
    SXEI_Prefix1 = 0;


    # Обратите внимание что banid (стандартный бан HLDS) будет использовать SteamID БЕЗ каких либо префиксов!


    # ========================================================
    # ПОДАВЛЕНИЕ АТАК
    # ========================================================

    # FakePlayers_AntiReconnect (0/1)
    # Включает обнаружен поддельных игроков которые быстро переподключаются (каждые 10 секунд и меньше)
    # до завершения всех проверок на поддельных игроков.
    # По умолчанию 1 (Вкл).
    FakePlayers_AntiReconnect = 1

    # FakePlayers_BanTime (минуты)
    # Dproto забанит IP с которого подключаются поддельные игроки на время (в минутах) указанное в этом параметре.
    # По умолчанию 120 минут.
    # Используйте 0 для бана навсегда.
    # Используйте отрицательное значение для отключения бана (поддельные игроки будут только кикнуты).
    FakePlayers_BanTime = 120

    # Exploits_CheckDownloads (0/1)
    # Включить проверку запроса загрузки файлов подлежаших прекешу.
    # По умолчанию 1 (Вкл).
    Exploits_CheckDownloads = 1

    # Exploits_DisableUploads (0/1)
    # Отключить загрузку файлов (не кастомизаций) на сервер.
    # По умолчанию 1 (Вкл).
    Exploits_DisableUploads = 1


    # ========================================================
    # ДРУГИЕ НАСТРОЙКИ
    # ========================================================

    # Тип логирования:
    # 0 = Отключено
    # 1 = Консоль
    # 2 = Лог файлы (HLDS)
    # 3 = Оба варианта
    LoggingMode = 2

    # ThreatsLoggingMode (0/1)
    # Включить логирование деталей обнаруженных угроз.
    # По умолчанию 0 (Выкл).
    ThreatsLoggingMode = 0

    # DisableNativeAuth (0/1)
    # Отключить систему авторизации valve/steam.
    # Для p.47 Based: Сервер не будет подключаться к серверам авторизации.
    # Для всех: Сервер не будет вызывать функции авторизации.
    # Это исправление остановки загрузки старых серверов (p.47).
    # По умолчанию 0 (Выкл).
    DisableNativeAuth = 0

    # ServerInfoAnswerType (0/1/2)
    # Устанавливает тип ответа для query запросов
    # 0 = Новый стиль (Source Engine)
    # 1 = Старый стиль (Исправление списка избранногодля клиентов p.47)
    # 2 = Гибридный режим (Старый стиль отправляется первым)
    # По умолчанию 0 (Source Engine).
    ServerInfoAnswerType = 0

    # Game_Name (string)
    # Устанавливает имя игры отображаемое у клиентов
    # Если Game_Name останется пустой, будет использовано настоящее имя игры.
    Game_Name =

    # Включает исправление для правильного отображения ID игрока в мониторинге HLStats
    # Включайте только если у вас есть HLStats
    HLStatsPlayerIdFix = 0

    # Включает рассылку пользовательских настроек setinfo topcolor и bottomcolor.
    # Отключите если ваш мод не поддерживает цветные модели игроков.
    SpreadUserInfoColors = 1

    # ExportVersion (0/1)
    # Вкл/Выкл экспорта квара dp_version.
    # 1 = dp_version квар будет экспортирован в правила сервера. Его будет видно в разных средствах мониторинга (например HLSW или gametracker.com).
    # 0 = dp_version квар не будет экспортирован в правила сервера.
    ExportVersion = 1

    # HLTVExcept_IP (ввести ip)
    # HLTV с этого IP смогут подключится к серверу если cid_HLTV установлено 5 (отклонить)
    HLTVExcept_IP = 127.0.0.1

    Официальный топик dproto находится здесь CS.RIN.RU - Steam Underground Community • View topic - dproto [0.9.356] - HLDS serverside crack (13/11/2013)
    Там же можно найти информацию по истории версий и связаться с автором. Сейчас автор - Flasher, он же Lev. Ранее Dproto писал Crock, в настоящее время отошёл от дел.
    Последняя версия на первой странице в официальной теме - 0.9.391. Это связано с тем, что Flasher не может редактировать первый пост.

    Когда скачаете архив с DProto, то в папке amxx увидите 2 плагина. Ставить их не нужно.
    dp_test просто тестирует работу префиксов, а updatehint призывает обновить клиент. За последний можно получить бан в раскрутках, очень не советую использовать.

    Если вы используете статистику, ведущую учёт игроков по Steamid, то желательно настройте префиксы. Это связано с тем, что у разных эмуляторов периодически наблюдаются коллизии. Например, разные клиенты с эмуляторами RevEmu и SteamEmu могут сгенерировать одинаковый steamid.
    Клиентам Steam обязательно оставьте префикс 0(Native_Prefix1 = 0), остальным эмуляторам - по желанию. Пример префиксов:
    PHP:
    IPGen_Prefix2 4
    Native_Prefix1 
    0
    SC2009_Prefix1 
    2
    RevEmu_Prefix1 
    3
    OldRevEmu_Prefix1 
    5
    SteamEmu_Prefix1 
    5
    RevEmu2013_Prefix1 
    // только для DProto 0.9.548. В случае с dproto 0.9.391 не прописывайте.
    AVSMP_Prefix1 6
    Setti_Prefix1 
    7
    SSE3_Prefix1 
    // только для DProto 0.9.548. В случае с dproto 0.9.391 не прописывайте.
    SXEI_Prefix1 8
    ------------------------------------------------
    Обязательно пропишите в конфиге SteamIdHashSalt. Представляет собой произвольные цифры и буквы латинского алфавита числом 16 и более. Это позволит защитить игроков вашего сервера от подмены Steamid. Реализуется защита изменением алгоритма превращения данных от игрока в ID, в этом процессе участвует произвольная строка, заданная в строке SteamIdHashSalt. Работает только для эмуляторов. Из полученного ID нельзя восстановить исходный, чтобы подменить. Но учтите, что подменить можно, если игрока заманить на сервер без SteamIdHashSalt. В таком случае злоумышленник узнает реальный SteamID. Никому не сообщайте ваш SteamIdHashSalt.
    Примеры:
    PHP:
    SteamIdHashSalt 346gdsgbvfw55y7xfghxdFFFr54
    SteamIdHashSalt 
    1206HgTRl5630ufn
    SteamIdHashSalt 
    56w356hgesyyyrhtsYJNGHgvgnv6y7668G
    Проще говоря, ты посылаешь на сервер свой steamid. Сервер его получает, добавляет в него SteamIdHashSalt и получает другой steamid, с которым работает и который всем показывает. Злоумышленник набирает status и видит steamid, дополненный SteamIdHashSalt. Меняет свой steamid на увиденный, но не знает, что увиденный steamid уже изменён. Он посылает серверу увиденный им steamid, который уже не steamid, а steamid + SteamIdHashSalt. Сервер к полученному steamid+SteamIdHashSalt ещё раз прибавляет SteamIdHashSalt, в итоге злоумышленник получает нечто левое.
    Но! Если злоумышленник узнает твой РЕАЛЬНЫЙ steamid, то сперва подменит свой steamid на твой реальный, потом зайдёт на сервер. Тогда SteamIdHashSalt не поможет.
    Пример:
    PHP:
    Ваш steamid 12
    SteamIDHAshSALT
    =1
    Вы заходите в игру и по запросу status видите steamid + SteamIDHAshSALT = 12+1 = 13. Злоумышленник получает 13, подменяет и заходит на сервер. А сервер ему вновь добавляет SteamIDHAshSALT! И получается 13+1=14. Подмена не удалась. Но если злоумышленник узнал ваш steamid без SteamIDHAshSALT. то есть знает, что Ваш steamid = 12. то он подменит и зайдёт на сервер. steamid + SteamIDHAshSALT = 12+1 = 13, что у вас, что у злоумышленника. Так что не заходите на левые сервера и не добавляйтесь в друзья или группы к кому попало, это чревато неприятностями.
    Многие считают, что проблему можно решить, запретив команду status или заменив её на другую. Это не так, существует множество способов узнать SteamID. В современных протекторах для получения ID игроков существуют специальные команды, которые нельзя заблокировать. Соль (SteamIdHashSalt) своим существованием делает получаемые таким образом SteamID бесполезными цифрами.
    ------------------------------------------------
    Обязательно поставьте cid_HLTV = 5, то есть запретите вход с авторизацией HLTV в целях безопасности.
    Если у вас есть HLTV, который пишет демки на сервере, то добавьте его ip в исключения в параметре
    HLTVExcept_IP =
    Сюда вписываем ip вашего HLTV БЕЗ порта.
    Пример
    PHP:
    cid_HLTV 5
    HLTVExcept_IP 
    174.64.78.254
    -----------------------------------------------
    Также желательно запретите вход с Cracked Steam(AVSMP), SXEI и неопределённым steamid, от них могут быть проблемы. Игроки с подобной авторизацией к вам никогда не зайдут, а вот эксплойтов и уязвимостей под них хватает.
    PHP:
    cid_AVSMP=5
    cid_SteamPending
    =5
    cid_SXEI
    =5

    Если вас по каким-то причинам не устраивает последняя версия DProto, скачать старый DProto 0.9.391 вы можете по этой ссылке. Так как он уязвим ко многим эксплойтам, желательно ознакомьтесь с темой по защите сервера.
     

    Вложения:

    Последнее редактирование: 15.11.15
    BENDERJKE, def, Dmitry и 7 другим нравится это.
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    Gudaus, рекомендации понравились.
    Чотко;)
    --- добавлено 26.05.15 ---
    для билдов 6xxx название сошки engine.so
     
    gudaus нравится это.
  3. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.107
    Пол:
    Мужской
    Ок.
    В принципе можно натаскать много чего, добавив чутка своего описания. VTC, Metamod'ы разные. Если ресурс развивать, то подобие файлопомойки придётся делать в любом случае.
     
  4. jokin Команда форума

    Регистрация:
    28.02.15
    Сообщения:
    828
    Симпатии:
    212
    Неплохая статеечка получилась, вроде одно и то же, но разложено по полочкам :smile:
     
  5. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    сижу на 391 и все устраивает :D
    а по делу,можно добавить старые версии тоже)
     
  6. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.107
    Пол:
    Мужской
    Я тоже. Но её смысла продвигать нет.
     
  7. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    А как же защита сервера? :smile:
     
  8. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    BaJIepbI4, localizebuf fix + fullupd вот и вся защита =)
     
  9. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Ну localizebuf fix в любом случае ставить не зависимо от версии дпрото, а вот Сплойт Buffer Overload v2 и v3 надо закрывать доп модулями/плагинами, если дпрото 391.
     
  10. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    BaJIepbI4, buffer overload v3 даже на 0.9.548 надо закрывать :)
    в некоторых случаях сервер удается пробить.
     
  11. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Ого, даже так...:confused:
     
  12. Ruslan18 Пользователь

    Регистрация:
    25.06.15
    Сообщения:
    28
    Симпатии:
    4
    На 6ххх билдах актуально fullupd ?
     
  13. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    Ruslan18, нет =)
     
    Ruslan18 нравится это.
  14. Ruslan18 Пользователь

    Регистрация:
    25.06.15
    Сообщения:
    28
    Симпатии:
    4
    Cпасибо-)
     
  15. xopoIIIuu Пользователь

    Регистрация:
    22.04.15
    Сообщения:
    234
    Симпатии:
    51
    Пол:
    Мужской
    Из-за localizebuf fix у меня сервер слетает после 2-3 смен карт на csserv, на иных хостингах всё нормально, не знаю почему так)
     
  16. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    xopoIIIuu, потому что сайлент днина)
    замечал утечку памяти при установке этого плагина
     
  17. XyLiGaN Guest

    neygomon, лол, потому что хостинг УГ, вот и падают сервы... Не находишь странным то, что везде всё нормально, а на ксерв падает? xD
    Если бы была утечка памяти как ты выразился, то падали бы сервера на всех хостингах с определённой ошибкой, но они же почему то не падают? Та же арена, тот же фортим допустим... Ыы
     
  18. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    XyLiGaN, ога. УГ.
    твой игрохост пиздатый?
     
  19. XyLiGaN Guest

    neygomon, А я что то говорил вообще про ИХ? Нет. А вообще, да.
    Я привёл в пример другие хостинги, где у всех всё нормально с данным модулем. Тот же мультиплей, тот же "СИСА" и т.п. хосты, почему тогда сервер падает именно на кссерв? Хотя, на Арене они совсем зависают на глухо, но это уже совсем другая история, да и причина там этих зависаний не известна.
     
  20. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.594
    Симпатии:
    4.169
    Пол:
    Мужской
    XyLiGaN, ну да. ИХ пиздат. только fps нарисован.