DPROTO 0.8.68
Описание:
DPROTO - плагин для Metamod решающий проблему мультипротокола и эмулирующий SteamID для NoSteam-клиентов. Имеет гибкую систему настроек и богатые функциональные возможности.
Требования:
- чистые (не патченные) файлы движка (swds.dll для Windows; engine_i686.so для Linux)
- metamod 1.19 или 1.19p32
- любой билд 48-го протокола
Установка:
- в папке addons создаем папку dproto и копируем в неё файл dproto.so или dproto.dll в зависимости от операционной системы Linux или Windows соответственно.
- открываем .../addons/metamod/plugins.ini (если файла такого нет, то создаем сами) и добавляем следующую строчку:
Linux:
linux addons/dproto/dproto_i386.so
Windows:
win32 addons\dproto\dproto.dll
- файл dproto.cfg кидаем в корень сервера, тоисть там где у вас hlds.exe. Корректируем конфиг, устанавливая необходимые Вам параметры (настройки по умолчанию достаточны для работы модуля).
Также кому нужно переведенный конфиг dproto.cfg на русский:
#
# Общее правило для изменения этого файла:
# НЕ ВНОСИТЕ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ, ЧТО ЭТО ЗНАЧИТ
#
# ========================================================
# Конфигурация Dproto
# ========================================================
# LoggingMode - Режим ведения логов:
# 1 = Console - Консольный
# 2 = Log Files - Файловый
# 3 = Both - Оба режима
LoggingMode = 2
# ========================================================
# Управление AuthID'ами пользователей
# ========================================================
# ClientIDs (для cid_* опций)
# 1: Реальный (или сгенерированный HW) steam (STEAM_xx:xx:xx)
# 2: Реальный (или сгенерированный HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ сгенерированный по IP-адресу
# 4: VALVE_ сгенерированный по IP-адресу
# 5: Запрещен - клиент будет отключен
# 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 для клиентов
# Для HLTV
cid_HLTV = 7
# Для клиентов, которые не поддерживают уникальные идентификаторы:
cid_NoSteam47 = 8
cid_NoSteam48 = 10
# Для легальных Steam-игроков:
cid_Steam = 1
# Клиент успешно авторизирован, но не получает SteamID:
# Замечание: На самом деле, он получил SteamID, но это бесполезно (STEAM_0:0:0 например).
cid_SteamPending = 9
# Для игроков имеющих эмулятор revEmu версии 9.74 или выше:
cid_RevEmu = 1
# Для игроков имеющих эмулятор SteamClient 2009 или revEmu выше версии 9.82:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 1
# Для игроков имеющих старую версию эмулятора revEmu:
cid_OldRevEmu = 1
# Для игроков имеющих эмулятор hCupa's SteamEmu:
cid_SteamEmu = 1
# Для игроков имеющих AVSMP (Взломанный Steam)
cid_AVSMP = 1
# Для сканера серверов SETTI:
cid_Setti = 3
# SC2009_RevCompatMode (0 / 1)
# Включить исправление SteamID'ов сгенерированных эмулятором Steamclient 2009 на совместимость с эмулятором revEmu.
SC2009_RevCompatMode = 1
# SteamEmuCompatMode (0 / 1)
# Аналог для параметра EnforceSteamEmuCompatIDMode в eSTEAMATiON.
# Влияет только на старые RevEmu и SteamEmu эмуляторы.
SteamEmuCompatMode = 1
# OldEstCompatMode (0 / 1)
# Включает/Выключает исправление SteamID'ов сгенерированных eST в версии 0.3.1.
# Установите 1, если Вы хотите сделать SteamID'ы сгенерированные eST как в версии ниже 0.3.0.
OldEstCompatMode = 0
# 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;
# 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 (Взломанный Steam)
AVSMP_Prefix1 = 0;
# Setti_Prefix1 (int)
# STEAM_a:b:c
# Первый префикс (a) для AuthID отображаемых в сканере серверов Setti
Setti_Prefix1 = 0;
# Стоит отметить, что banid будет использовать SteamID без каких-либо приставок!
# ========================================================
# Другое
# ========================================================
# DisableNativeAuth (0 / 1)
# Отключение valve/steam системы авторизации.
# Для серверов основанных на 47-ом протоколе: Сервер не будет соединяться с серверами авторизации.
# Для всех: Сервер не сможет использовать функции авторизации.
# Это исправление для запуска старых серверов, основанных на 47-ом протоколе.
DisableNativeAuth = 0
# ServerInfoAnswerType (0 / 1 / 2)
# Тип ответа сервера на запросы:
# 0 = Новый способ (Движок Source)
# 1 = Старый способ (Исправляет список избранного для клиентов 47-го протокола)
# 2 = Гибридный режим - лучшее решение на данный момент, сервер видно везде.
ServerInfoAnswerType = 2
# MasterClient (0 / 1)
# Включает эмуляцию мастер-клиента; это помогает зарегистрировать сервер в мастер-листе.
# Если у Вас ошибка "You server is out of date".
# ИСПОЛЬЗУЙТЕ ЭТО ТОЛЬКО С ПАРАМЕТРОМ ЗАПУСКА -nomaster !
# Вы можете использовать параметр Master_GameVersion для установки версии игры.
MasterClient = 0
# Master_GameVersion (строка)
# Укажите версию игры, которую мастер-клиент будет отправлять на мастер-сервер.
Master_GameVersion = 1.1.2.6/Stdio
# SubServer_Enable (0 / 1)
# Включает вторичный мини-сервер, который перенаправляет клиента на основной сервер.
# Используйте параметр SubServer_AnswerType для установки типа ответа на запросы информации.
# Используйте параметр SubServer_MasterClient для включения мастер-клиента на вторичном сервере.
# Используйте параметр SubServer_IP для установки IP адреса вторичного сервера.
# Используйте параметр SubServer_Port для установки порта вторичного сервера.
# Это полезная функция, если Вы хотите, чтобы все клиенты видели Ваш сервер.
# Это возможно, если Вы установите различные типы ответа на запросы информации на главном и вторичном серверах.
# Клиенты которые не "видят" главный сервер, будут видеть вторичный.
SubServer_Enable = 0
SubServer_AnswerType = 0
SubServer_MasterClient = 0
SubServer_IP = 0.0.0.0
SubServer_Port = 28015
SubServer_RedirectCommand = connect 169.254.141.3:27015
# Game_Name (строка)
# Название отображаемое у клиентов.
# Если переменная Game_Name пустая, то будет использоваться стандартное название игры.
Game_Name =
# HLStatsPlayerIdFix (0 / 1)
# Включение/Выключение фикса отображения ID игрока в мониторинге HLStats.
# Включайте это только если используете HLStats.
HLStatsPlayerIdFix = 0
# ExportVersion (0 / 1)
# Включение/Выключение экспортирования переменной dp_version.
# 1 = Переменная dp_version будет экспортироваться в правила сервера. Это будет видно в средствах мониторинга (например в HLSW).
# 0 = Переменная dp_version не будет экспортироваться в правила сервера.
ExportVersion = 1
# HLTVExcept_IP (IP адрес)
# HLTV с этого IP адреса сможет присоединиться к серверу, даже если значение cid_HLTV равно 5 (Запрещен)
HLTVExcept_IP = 127.0.0.1
# FakePlayers_BanTime (минуты)
# Dproto будет банить IP адрес, с которого подключаются фейковые игроки на время, указанное в этой переменной.
# Используйте 0 для бана навсегда.
# Используйте отрицательное значение для отключения бана (Фейковых игроков будет только кикать).
FakePlayers_BanTime = 120
# Общее правило для изменения этого файла:
# НЕ ВНОСИТЕ КАКИЕ-ЛИБО ИЗМЕНЕНИЯ, ЕСЛИ ВЫ НЕ ЗНАЕТЕ, ЧТО ЭТО ЗНАЧИТ
#
# ========================================================
# Конфигурация Dproto
# ========================================================
# LoggingMode - Режим ведения логов:
# 1 = Console - Консольный
# 2 = Log Files - Файловый
# 3 = Both - Оба режима
LoggingMode = 2
# ========================================================
# Управление AuthID'ами пользователей
# ========================================================
# ClientIDs (для cid_* опций)
# 1: Реальный (или сгенерированный HW) steam (STEAM_xx:xx:xx)
# 2: Реальный (или сгенерированный HW) valve (VALVE_xx:xx:xx)
# 3: STEAM_ сгенерированный по IP-адресу
# 4: VALVE_ сгенерированный по IP-адресу
# 5: Запрещен - клиент будет отключен
# 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 для клиентов
# Для HLTV
cid_HLTV = 7
# Для клиентов, которые не поддерживают уникальные идентификаторы:
cid_NoSteam47 = 8
cid_NoSteam48 = 10
# Для легальных Steam-игроков:
cid_Steam = 1
# Клиент успешно авторизирован, но не получает SteamID:
# Замечание: На самом деле, он получил SteamID, но это бесполезно (STEAM_0:0:0 например).
cid_SteamPending = 9
# Для игроков имеющих эмулятор revEmu версии 9.74 или выше:
cid_RevEmu = 1
# Для игроков имеющих эмулятор SteamClient 2009 или revEmu выше версии 9.82:
# default is real STEAM_xx:xx:xx [1]
cid_SC2009 = 1
# Для игроков имеющих старую версию эмулятора revEmu:
cid_OldRevEmu = 1
# Для игроков имеющих эмулятор hCupa's SteamEmu:
cid_SteamEmu = 1
# Для игроков имеющих AVSMP (Взломанный Steam)
cid_AVSMP = 1
# Для сканера серверов SETTI:
cid_Setti = 3
# SC2009_RevCompatMode (0 / 1)
# Включить исправление SteamID'ов сгенерированных эмулятором Steamclient 2009 на совместимость с эмулятором revEmu.
SC2009_RevCompatMode = 1
# SteamEmuCompatMode (0 / 1)
# Аналог для параметра EnforceSteamEmuCompatIDMode в eSTEAMATiON.
# Влияет только на старые RevEmu и SteamEmu эмуляторы.
SteamEmuCompatMode = 1
# OldEstCompatMode (0 / 1)
# Включает/Выключает исправление SteamID'ов сгенерированных eST в версии 0.3.1.
# Установите 1, если Вы хотите сделать SteamID'ы сгенерированные eST как в версии ниже 0.3.0.
OldEstCompatMode = 0
# 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;
# 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 (Взломанный Steam)
AVSMP_Prefix1 = 0;
# Setti_Prefix1 (int)
# STEAM_a:b:c
# Первый префикс (a) для AuthID отображаемых в сканере серверов Setti
Setti_Prefix1 = 0;
# Стоит отметить, что banid будет использовать SteamID без каких-либо приставок!
# ========================================================
# Другое
# ========================================================
# DisableNativeAuth (0 / 1)
# Отключение valve/steam системы авторизации.
# Для серверов основанных на 47-ом протоколе: Сервер не будет соединяться с серверами авторизации.
# Для всех: Сервер не сможет использовать функции авторизации.
# Это исправление для запуска старых серверов, основанных на 47-ом протоколе.
DisableNativeAuth = 0
# ServerInfoAnswerType (0 / 1 / 2)
# Тип ответа сервера на запросы:
# 0 = Новый способ (Движок Source)
# 1 = Старый способ (Исправляет список избранного для клиентов 47-го протокола)
# 2 = Гибридный режим - лучшее решение на данный момент, сервер видно везде.
ServerInfoAnswerType = 2
# MasterClient (0 / 1)
# Включает эмуляцию мастер-клиента; это помогает зарегистрировать сервер в мастер-листе.
# Если у Вас ошибка "You server is out of date".
# ИСПОЛЬЗУЙТЕ ЭТО ТОЛЬКО С ПАРАМЕТРОМ ЗАПУСКА -nomaster !
# Вы можете использовать параметр Master_GameVersion для установки версии игры.
MasterClient = 0
# Master_GameVersion (строка)
# Укажите версию игры, которую мастер-клиент будет отправлять на мастер-сервер.
Master_GameVersion = 1.1.2.6/Stdio
# SubServer_Enable (0 / 1)
# Включает вторичный мини-сервер, который перенаправляет клиента на основной сервер.
# Используйте параметр SubServer_AnswerType для установки типа ответа на запросы информации.
# Используйте параметр SubServer_MasterClient для включения мастер-клиента на вторичном сервере.
# Используйте параметр SubServer_IP для установки IP адреса вторичного сервера.
# Используйте параметр SubServer_Port для установки порта вторичного сервера.
# Это полезная функция, если Вы хотите, чтобы все клиенты видели Ваш сервер.
# Это возможно, если Вы установите различные типы ответа на запросы информации на главном и вторичном серверах.
# Клиенты которые не "видят" главный сервер, будут видеть вторичный.
SubServer_Enable = 0
SubServer_AnswerType = 0
SubServer_MasterClient = 0
SubServer_IP = 0.0.0.0
SubServer_Port = 28015
SubServer_RedirectCommand = connect 169.254.141.3:27015
# Game_Name (строка)
# Название отображаемое у клиентов.
# Если переменная Game_Name пустая, то будет использоваться стандартное название игры.
Game_Name =
# HLStatsPlayerIdFix (0 / 1)
# Включение/Выключение фикса отображения ID игрока в мониторинге HLStats.
# Включайте это только если используете HLStats.
HLStatsPlayerIdFix = 0
# ExportVersion (0 / 1)
# Включение/Выключение экспортирования переменной dp_version.
# 1 = Переменная dp_version будет экспортироваться в правила сервера. Это будет видно в средствах мониторинга (например в HLSW).
# 0 = Переменная dp_version не будет экспортироваться в правила сервера.
ExportVersion = 1
# HLTVExcept_IP (IP адрес)
# HLTV с этого IP адреса сможет присоединиться к серверу, даже если значение cid_HLTV равно 5 (Запрещен)
HLTVExcept_IP = 127.0.0.1
# FakePlayers_BanTime (минуты)
# Dproto будет банить IP адрес, с которого подключаются фейковые игроки на время, указанное в этой переменной.
# Используйте 0 для бана навсегда.
# Используйте отрицательное значение для отключения бана (Фейковых игроков будет только кикать).
FakePlayers_BanTime = 120
Скачать новую версию: DPROTO 0.8.68
dproto_0_8_68.rar
[к сожалению, ссылка больше недоступна]
0.8.68:
- Improvements/bugfixes in fakeplayers/packet flood detection code
- AMXX API and example plugins updated
- Fixed bug with cid_AVSMP, it was always 1
- Added useful commands for threats monitoring, check Readme.txt
0.8.65:
- Bugfix, bugfix, bugfix, bugfix....
- Added support for AVSMP clients
0.8.61:
- Fix for random svc_bads on connect
0.8.60:
- Proper bots detection method in fakeplayers detector
0.8.59:
- Fixed problems with AMD engines
- Fixed hybrid answer mode
- Fakeplayers detector won't kick and ban bots anymore
0.8.58:
- Fixed crash when working with bans DB (banid)
- Fix in new revEmu auth code
0.8.57:
- Project moved to new versioning system; version format for now is MAJOR.MINOR.REVISION
- Added support for latest linux engine.
- Added support for new revEmu/SteamClient2009 clients
- Added config options to set first prefix of steamid for clients. For example, revEmu clients may be marked as STEAM_4_0_xx
- Added 2-level protection against all kinds of fake players
- Added protection against flooding server with connectionless (PlayerList, ServerInfo, Rules) queries.
- Added option (HLTVExcept_IP) to allow HLTVs from specified address to join the server even if cid_HLTV is 5 (deprectated). May be useful if you using HLTVReport plugin, but you dont want to allow another HLTVs to join your server.
- Source code will not be available anymore.
- (untested) "The VAC problem" (when VAC banned clients are able to join server) should be fixed.
0.4.8p:
- Fixed buffer overflow vulnerability in SV_ParseCvarValue2()
- Fixed crash for linux servers, when server started as unprivileged user that not able to write to server root directory.
0.4.8:
- Fixed problem with dropping clients with "Unknown HLTV Type" message
- Fix in anti-svc_bad code, it should work fine now
- Improvements/bugfixes in fakeplayers/packet flood detection code
- AMXX API and example plugins updated
- Fixed bug with cid_AVSMP, it was always 1
- Added useful commands for threats monitoring, check Readme.txt
0.8.65:
- Bugfix, bugfix, bugfix, bugfix....
- Added support for AVSMP clients
0.8.61:
- Fix for random svc_bads on connect
0.8.60:
- Proper bots detection method in fakeplayers detector
0.8.59:
- Fixed problems with AMD engines
- Fixed hybrid answer mode
- Fakeplayers detector won't kick and ban bots anymore
0.8.58:
- Fixed crash when working with bans DB (banid)
- Fix in new revEmu auth code
0.8.57:
- Project moved to new versioning system; version format for now is MAJOR.MINOR.REVISION
- Added support for latest linux engine.
- Added support for new revEmu/SteamClient2009 clients
- Added config options to set first prefix of steamid for clients. For example, revEmu clients may be marked as STEAM_4_0_xx
- Added 2-level protection against all kinds of fake players
- Added protection against flooding server with connectionless (PlayerList, ServerInfo, Rules) queries.
- Added option (HLTVExcept_IP) to allow HLTVs from specified address to join the server even if cid_HLTV is 5 (deprectated). May be useful if you using HLTVReport plugin, but you dont want to allow another HLTVs to join your server.
- Source code will not be available anymore.
- (untested) "The VAC problem" (when VAC banned clients are able to join server) should be fixed.
0.4.8p:
- Fixed buffer overflow vulnerability in SV_ParseCvarValue2()
- Fixed crash for linux servers, when server started as unprivileged user that not able to write to server root directory.
0.4.8:
- Fixed problem with dropping clients with "Unknown HLTV Type" message
- Fix in anti-svc_bad code, it should work fine now