Сервер только для 48 протокола как Steam так и NoSteam при помощи dproto

Dproto это плагин для MetaMod позволяющий пользователям заходить на сервер как с NoSteam (47-48 протоколы), так и со Steam (48 протокол).
Разработчик Crock

В данной статье мы расскажем как запретить вход на сервер со старого 47 протокола игры.
Для начала посмотрим в конфигурационный файл dproto.cfg и переведем его :

# ========================================================
# Настройки DPROTO
# ========================================================

#Способ ведения логов:
# 1 = Консоль
# 2 = Лог файлы
# 3 = Оба метода
LoggingMode = 2

# UserinfoVerification - режим проверки информации пользователя
# 1 = Проверяется на максимальный размер при подключении игрока (С этим значением используется MaxUserInfoSize)
# 2 = Удаляет ненужные поля в информации (С этим значением используется ValidInfoFields)
# 3 = Оба режима
# Проверки необходимы чтобы избежать переполнения информации пользователя, что может привести к появлению svc_bad сообщений у игроков
UserinfoVerification = 3
MaxUserInfoSize = 230
ValidInfoFields_Engine = \name\bottomcolor\topcolor\model\cl_lc\cl_lw\cl_updaterate\cl_dlmax\rate\_pw\*hltv\password
ValidInfoFields_cstrike = \_vgui_menus\_cl_autowepswitch
ValidInfoFields_ag = \cl_autowepswitch

# ========================================================
# Управление AUTHID
# ========================================================

# Список возможных ID клиентов (для cid_* настройки)
# 1: Real steam (STEAM_xx:xx:xx)
# 2: Real 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

# Используйте следующие опции чтобы задать нужные ID из списка выше
cid_HLTV = 7
cid_NoSteam47 = 8
cid_NoSteam48 = 10

# Для игроков через легальный Steam
cid_Steam = 1

# Здесь задается ID для клиентов, которые вроде бы как авторизовались, но не получили Steam ID
# Примечание: На самом дел он получит Steam ID, но выглядить он будет примерно так STEAM_0:0:0
cid_SteamPending = 9

# Для игроков имеющих revEmu ( >= 9.74) на клиентской стороне:
cid_RevEmu = 1

# Для игроков имеющих старый revEmu на клиентской стороне:
cid_OldRevEmu = 1

# Для игроков имеющих hCupa's SteamEmu на клиентской стороне:
cid_SteamEmu = 1

# SteamEmuCompatMode (0 / 1)
# Аналог опции в eSTEAMATiON - EnforceSteamEmuCompatIDMode
# Влияет только на старые RevEmu и SteamEmu эмуляторы.
SteamEmuCompatMode = 1

# OldEstCompatMode (0 / 1)
# Включает/выключает исправление steamid сделанных EST в версии dproto 0.3.1.
# Установите 1, если вы хотите сделать steamids генерируемые EST, как в версии < 0.3.0 OldEstCompatMode = 0 # IPGen_Prefix1 (int) # STEAM_a:b:c # ^ - этот префикс для authid, сгенерированных по IP IPGen_Prefix1 = 0 # IPGen_Prefix2 (int) # STEAM_a:b:c # ^ - этот префикс для authid, сгенерированных по IP IPGen_Prefix2 = 4 # Обратите внимание, забаненные sieam id будут без префиксов # ======================================================== # Другие настройки # ======================================================== # DisableNativeAuth (0/1) # Отключит систему авторизации valve/steam. # Для протокола 47: сервер не будет подключаться к серверам авторизации. # Для всех: сервер не будет вызывать функции авторизации. # Это для исправления зависания при запуске старых, основанных на 47 протоколе, серверов. DisableNativeAuth = 0 # ServerInfoAnswerType (0/1) # Устанавливает тип ответов сервера на запросы # 0 = Новый стиль (Source Engine) # 1 = Старый стиль (Исправлен список избранное для п.47 клиентов) # 2 = Смешанный режим - лучшее решение для того, чтобы сервер был виден везде ServerInfoAnswerType = 2 # MasterClient (0/1) # Включает эмуляцию мастер-клиент; это помогает зарегистрировать сервер в мастер-листе. # если вы имеете "You server is old" ошибку. # ИСПОЛЬЗОВАТЬ ТОЛЬКО С ПАРАМЕТРОМ ЗАПУСКА -nomaster ! # you can use Master_GameVersion to set version of game MasterClient = 0 # Master_GameVersion (string) # Устанавливает версию игры, которую мастер-клиент будет отправлять на мастер-сервер Master_GameVersion = 1.1.2.6/Stdio # SubServer_Enable (0/1) # Включает вторичный мини-сервер, который переадресовывает клиентов на главный сервер. # Используйте параметр SubServer_AnswerType , чтобы установить тип ответа на информационные запросы . # Используйте параметр SubServer_Port , чтобы установить вторичный порт сервера. # Используйте параметр SubServer_MasterClient , чтобы включить master-client для вторичного сервера. # Это полезная функция, если вы хотите, чтобы все клиенты видели ваш сервер. # Это возможно, если вы установите различные типы ответов на главные и вторичные серверы. # Клиенты которые не видят главный сервер будут видеть вторичный сервер. SubServer_Enable = 0 SubServer_Port = 28015 SubServer_MasterClient = 0 SubServer_AnswerType = 0 SubServer_RedirectCommand = connect 169.254.141.3:27015 # Game_Name (string) # Установите имя игры отображающееся у игроков # Если отсавить пустым будет использоваться название игры по умолчанию. Game_Name = # Исправляет отображение ID игрока в мониторинге HLStats # Используйте только если у вас есть HLStats. HLStatsPlayerIdFix = 0 # ExportVersion (0 / 1) # Включение/Выключение экспорта версии dp_version # 1 = dp_version настройка будет экспортирована в правила сервера. Это будет отображаться в мониториге сервера (например в HLSW) # 0 = dp_version настройка не будет экспортирована в правила сервера. ExportVersion = 1

обратим внимание на следующие значения :

# ========================================================
# Управление AUTHID
# ========================================================

# Список возможных ID клиентов (для cid_* настройки)
# 1: Real steam (STEAM_xx:xx:xx)
# 2: Real 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

а именно на строку под номером 5

Deprecated — client will be rejected

означает что все клиенты NoSteam ниже 35 патча будут кикнуты с сервера,из чего получаем
игроков на сервер только с 35,36,43 патчем соответственно на 48 протоколе !

Чтобы все получилось как описано выше нужно в конфигурационном файле dproto.cfg
выставить следующие значения :


cid_NoSteam47 = 5
cid_NoSteam48 = 5
cid_Steam = 1
cid_SteamPending = 5
cid_RevEmu = 1
cid_OldRevEmu = 5
cid_SteamEmu = 5

5 комментариев

  • 1 alik написал(а) Мар 19, 2012 в 12:36

    спасибо огромное!!! два дня искал как запретить доступ на сервер со старыми патчами. +1 +1 +1 +1 +1 +1 +1 +1

  • 2 3aB}{o3 написал(а) Мар 26, 2012 в 02:05

    Пожалуйста

  • 3 тимур написал(а) Окт 29, 2012 в 00:05

    Спасибо огромное)))Очень помогло!!!

  • 4 3aB}{o3 написал(а) Дек 25, 2012 в 03:48

    Рады были помочь вам.

  • 5 ToJI9H написал(а) Дек 25, 2012 в 07:08

    @3aB}{o3, Спасибо огромное.