Dedicated-Server.RU  


Ответ
 
Опции темы Опции просмотра
Старый 25.03.2016, 14:02   #1
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

ВНИМАНИЕ: Публикация на сторонних ресурсах запрещена без согласования с автором!
ReAuthCheck

Автор:
  • Adidasman

Описание:
  • ReAuthCheck - это Metamod плагин, который дополнительно проверяет авторизацию игроков, делая ряд проверок на валидность, тем самым усиливает защиту сервера от сторонних программ (фейков).

Требования:
  • ReHLDS 714 (bugfixed) или новее
  • Reunion
  • MetaMod 1.20(p) или новее

Установка:

Подробней


Распаковываем reauthcheck_X_X.rar в папку <gamedir> вашей игры.
Добавляем библиотеку reauthcheck_mm_i386.so или reauthcheck_mm.dll в зависимости от используемой ОС в конфиг Metamod.
Для этого открываем <gamedir>/addons/metamod/plugins.ini (если его нет, создаем сами) и пишем Строго ниже Reunion.

Linux:
Цитата:
linux addons/reauthcheck/reauthcheck_mm_i386.so
Windows:
Цитата:
win32 addons\reauthcheck\reauthcheck_mm.dll
  • Из извлеченного архива reauthcheck_X_X.zip будет присутствовать файл reauthcheck.cfg который должен лежать рядом с библиотекой reauthcheck_mm.dll или reauthcheck_mm_i386.so
  • Запускаем сервер и командой meta list проверяем статус

Linux:
Цитата:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm_i386.so vX.X.X ini Start Never
[ 2] ReAuthCheck RUN - reauthcheck_mm_i386.so vX.X.X ini Start Never
Windows:
Цитата:
Currently loaded plugins:
description stat pend file vers src load unlod
[ 1] Reunion RUN - reunion_mm.dll vX.X ini Start Never
[ 2] ReAuthCheck RUN - reauthcheck_mm.dll vX.X ini Start Never
  • Установка ReAuthCheck завершена.
[свернуть]


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

Подробней


Код:
# ========================================================
# 		ReAuthCheck Конфигурация
# ========================================================


# Уровень Логирования
# Числовое Значение (0 | 3)
# 0 - Выключить, 1 - Обнаружения,  2 - Дебаг, 3 - Дебаг Полный.
LogMode = 2

# Включить Метод Обнаружения Невалидных Игроков #1
# Числовое Значение (0 | 1)
CheckMethod1 = 1

# Включить Метод Обнаружения Невалидных Игроков #2
# Числовое Значение (0 | 1)
CheckMethod2 = 1

# Включить Метод Обнаружения Невалидных Игроков #3
# Числовое Значение (0 | 1)
CheckMethod3 = 1

# Включить Метод Обнаружения Невалидных Игроков #4
# Числовое Значение (0 | 1)
CheckMethod4 = 1

# Включить Метод Обнаружения Невалидных Игроков #5
# Числовое Значение (0 | 1)
CheckMethod5 = 1

# Включить Метод Обнаружения Невалидных Игроков #6
# Числовое Значение (0 | 1)
CheckMethod6 = 1

# Включить Метод Обнаружения Невалидных Игроков #7
# Числовое Значение (0 | 1)
CheckMethod7 = 1

# Включить Метод Обнаружения Невалидных Игроков #8
# Числовое Значение (0 | 1)
CheckMethod8 = 1

# Включить Метод Обнаружения Невалидных Игроков #9
# Числовое Значение (0 | 1)
CheckMethod9 = 1

# Включить Метод Обнаружения Невалидных Игроков #10
# Числовое Значение (0 | 1)
CheckMethod10 = 1

# Включить Обнаружение XFake Players
# Числовое Значение (0 | 1)
CheckXFake = 1

# Включить Обнаружение HLProxy
# Числовое Значение (0 | 1)
CheckHLProxy = 1

# Включить Лимит для Игроков по IP Адресу
# Числовое Значение (0 | 1)
CheckMaxIp = 1

# Сколько Игроков с Одинаковым IP Могут Авторизоваться на Сервере
# Числовое Значение (1 | 31)
MaxIpNum = 3

# Включить Лимит для Игроков по Количеству Дисконнектов
# Числовое Значение (0 | 1)
CheckMaxDrop = 1

# Количество Максимальных Дисконнектов Для Наказания
# Числовое Значение (2 | 50)
MaxDropNum = 7

# За Какой Период Времени Считать Предупреждения Для "CheckMaxDrop"
# Дробное Значение (2.0 | 300.0)
MaxDropTime = 15.0

# Включить Отслеживание Состояния Соединения Игрока
# Числовое Значение (0 | 1)
StateTimeoutConnect = 1

# Время Для Обнаружения Простоя Авторизации 1 Стадия (Начало Соединения Игрока)
# Дробное Значение (5.0 | 120.0)
IdleTime1 = 15.0

# Время Для Обнаружения Простоя Авторизации 2 Стадия (Ожидание Команды От Игрока #1)
# Дробное Значение (7.0 | 120.0)
IdleTime2 = 14.0

# Время Для Обнаружения Простоя Авторизации 3 Стадия (Ожидание Команды От Игрока #2)
# Дробное Значение (7.0 | 120.0)
IdleTime3 = 10.0

# Время Для Обнаружения Простоя Авторизации 4 Стадия (Ожидание Ответа От Игрока #3)
# Дробное Значение (7.0 | 120.0)
IdleTime4 = 10.0

# Время Для Обнаружения Простоя Авторизации 5 Стадия (Проверка Ресурсов)
# Дробное Значение (10.0 | 180.0)
IdleTime5 = 70.0

# Время Для Обнаружения Простоя Авторизации 6 Стадия (Загрузка Файлов)
# Дробное Значение (60.0 | 1800.0)
IdleTime6 = 900.0

# Время Для Обнаружения Простоя Авторизации 7 Стадия (Валидация Игрока)
# Дробное Значение (7.0 | 120.0)
IdleTime7 = 8.0

# Время Для Обнаружения Простоя Авторизации 8 Стадия (Игрок Авторизовался)
# Дробное Значение (7.0 | 120.0)
IdleTime8 = 10.0

# Время Для Обнаружения Простоя Авторизации 9 Стадия (Полная Авторизация)
# Дробное Значение (7.0 | 120.0)
IdleTime9 = 20.0

# Дополнительная Строка Наказания за Обнаружение, Которая Будет Выполнена в Консоле Сервера
# Для Методов "#1, #2, #5, #6", "CheckXFake"
# Строковое Значение "Максимальной длиной до 96 символов"
PunishStringXFake = addip 1440.0 [ip]

# Дополнительная Строка Наказания за Обнаружение, Которая Будет Выполнена в Консоле Сервера
# Для Метода "CheckHLProxy"
# Строковое Значение "Максимальной длиной до 96 символов"
PunishStringHLProxy = addip 1440.0 [ip]

# Дополнительная Строка Наказания за Обнаружение, Которая Будет Выполнена в Консоле Сервера
# Для Метода "CheckMaxIp"
# Строковое Значение "Максимальной длиной до 96 символов"
PunishStringMaxIP = addip 180.0 [ip]

# Дополнительная Строка Наказания за Обнаружение, Которая Будет Выполнена в Консоле Сервера
# Для Метода "CheckMaxDrop"
# Строковое Значение "Максимальной длиной до 96 символов"
PunishStringMaxDrop = addip 60.0 [ip]

#
# Примечание
#
# Для Всех Методов По Умолчанию Наказание Kick
# Для Выключения Дополнительной Строки Нужно Очистить Значение
#
# Форматирование Строк Для Дополнительного Наказания
# [name] - Имя Игрока
# [ip] - IP Адрес Игрока
# [userid] - Идентификатор Игрока
# [steamid] - SteamID Игрока
#

#
# Список IP Адресов для Игнорирования Настройки "CheckMaxIp" и "CheckMaxDrop"
# Отключение Строки ";"
#
[List White IP]
;127.0.0.1
[свернуть]


Изменения:

Подробней


0.1.6 (8 Марта 2017)
  • Добавлен новый метод обнаружения "CheckMethod10".
  • Добавлен бан на 10 мин по addip для "Метода #3".
  • Добавлено чтение конфига с "UTF-8 BOM".

0.1.5 (24 Декабря 2016)
  • Поддержка ReHLDS с версией API 3.х
  • Добавлен лимит максимальных "Дисконнектов" по времени
  • Удален метод "CheckXFakeFlood"
  • Удалено обнаружение с одинаковым SteamID (реализовано в reunion)

0.1.4 (10 августа 2016)
  • Добавлено отслеживание "Состояния Соединения" Игрока.
  • Добавлено обнаружение за отклонения "Протокола Подключения".
  • Добавлено обнаружение игроков с одинаковым "SteamID".
  • Добавлена проверка IP адреса в списке "List White Max IP".
  • Исправлен баг движка повторный вызов "spawn" после авторизации (Спасибо PRoSToTeM@).
  • Изменено обнаружение "CheckMethod5" на начало соединения.

0.1.3 (8 Июля 2016)
  • Добавлено обнаружение "XFakePlayers" (до проверки консистенции файлов).
  • Исправлено чтение конфига.
  • Для всех методов "По Умолчанию" наказание Kick.
  • Строка наказания в конфиге теперь "дополнительная".
  • Список "List White Max IP" активируется когда настройка "CheckMaxIp" включена.

0.1.2 (1 Июля 2016)
  • Обновлена совместимость, строго требуется наличие ReHLDS (версия от 795).
  • Добавлено обнаружение последних "XFakePlayers".
  • Добавлен белый список IP адресов для настройки "CheckMaxIp".
  • Изменен квар "CheckXFakeNew1" на "CheckXFakeNew".
  • Удалён квар "IgnoreDefaultPort".

0.1.1 (26 Марта 2016)
  • Рефакторинг кода
  • Изменена функция проверки на валидность (раньше до putinserver)
  • Изменены некоторые функции наказания (теперь только кик)
  • Убраны некоторые квары (сделаны по умолчанию)
  • Перенесен конфиг к библиотеке

0.1.0 (25 Марта 2016)
  • Первый релиз
[свернуть]


FAQ:

Подробней



Вопрос: Какую лучше версию ReHLDS использовать?
Ответ: Последнюю свежую версию (bugfixed).

Вопрос: нужно ли какие то серверные квары изменять?
Ответ: Да, mp_consistency "1" (иначе не будут работать некоторые методы обнаружения).

Вопрос: Как лучше настроить конфиг модуля?
Ответ: Конфиг по стандарту настроен оптимально.

Вопрос: Модуль правда обнаруживает все программы фейков?
Ответ: На данный момент все существующие софты обнаруживает (то есть 99.9%).

Вопрос: Если модуль ошибочно обнаруживает игрока?
Ответ: В таком случае нужно предоставить информацию Автору, личным сообщением, и перед этим записать Дебаг логи кваром LogMode = 3.

Вопрос: Если у меня есть приватный софт который не обнаруживает?
Ответ: Тогда нужно предоставить информацию Автору, личным сообщением.

Вопрос: Модуль сильно нагружает сервер?
Ответ: Нет.

Вопрос: Что если у меня есть какие то пожелания для реализации в модуле?
Ответ: Сообщить Автору личным сообщением.

Вопрос: Как мне отключить определенный метод обнаружения?
Ответ: В конфиге от модуля ясно описаны значения настроек, там и можно отключить нужную.

Вопрос: Если я поменял настройку в конфиге мне нужно делать полный рестарт?
Ответ: Нет, конфиг подгружается каждую смену карты.

Вопрос: Модуль отправляет какие то команды игроку, за которые потом забанят в раскрутках?
Ответ: Нет, все проверки проводятся на серверной стороне.
[свернуть]



Благодарности:
  • dreamstalker за проект ReHLDS


Текущая версия 0.1.6:
Вложения
Тип файла: rar reauthcheck_0.1.0.rar (120.1 Кб, 50 просмотров)
Тип файла: rar reauthcheck_0.1.1.rar (121.4 Кб, 180 просмотров)
Тип файла: rar reauthcheck_0.1.2.rar (119.6 Кб, 56 просмотров)
Тип файла: rar reauthcheck_0.1.3.rar (123.9 Кб, 107 просмотров)
Тип файла: rar reauthcheck_0.1.4.rar (143.8 Кб, 249 просмотров)
Тип файла: rar reauthcheck_0.1.5.rar (168.0 Кб, 368 просмотров)
Тип файла: rar reauthcheck_0.1.6.rar (149.4 Кб, 477 просмотров)

Последний раз редактировалось Adidasman; 08.03.2017 в 19:51.
Adidasman вне форума   Ответить с цитированием
40 пользователей сказали cпасибо:
Показать/Скрыть список поблагодаривших
Старый 25.03.2016, 15:46   #2
Не проверенный
 
Регистрация: 02.05.2015
Адрес: Прохладный
Сообщений: 27
Сказал спасибо: 15
Поблагодарили 1 раз в 1 сообщении
По умолчанию

Adidasman, Вопрос: Если у меня есть приватный софт который не ловит?
Ответ: Тогда нужно предоставить информацию Автору, личным сообщением.

Под софт подразумевается "Читы или программы типа XFake"?
SaShKa07rus вне форума   Ответить с цитированием
Старый 25.03.2016, 15:53   #3
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Цитата:
Сообщение от SaShKa07rus Посмотреть сообщение
Adidasman, Вопрос: Если у меня есть приватный софт который не ловит?
Ответ: Тогда нужно предоставить информацию Автору, личным сообщением.

Под софт подразумевается "Читы или программы типа XFake"?
какой либо софт который эмулирует игрока.
Adidasman вне форума   Ответить с цитированием
Старый 25.03.2016, 17:53   #4
Не проверенный
 
Регистрация: 03.12.2014
Адрес: Ростов
Сообщений: 97
Сказал спасибо: 45
Поблагодарили 6 раз(а) в 6 сообщениях
По умолчанию

Не совсем понятна необходимость некоторых функций.

"Включить Обнаружение HLDS Fake Flood" Это вроде как старючая вещь, то ли она уже в рехлдс пофикшена то ли просто это из за того что у меня много эмуляторов заблочено.

"Обнаружение Proxy" Что за прокси имеются в виду ? hltv proxy или что именно ? Вроде как в реюнион есть такой функционал.

"Включить Проверку Версии Игры" То есть можно чекать на версию игры и эмулятор отдельно ? Где настройки, от чего защищает ?

"Игнорировать Лицензионных Игроков" А зачем вообще эта функция ? ) Разве есть какие то причины их чекать.

"# Игнорировать Игроков со Стандартным Портом "27005"
# для Методов "#5, #6, #7, #8", "XFakeNew1", "CheckBuild"
# Числовое Значение (0 | 1)
IgnoreDefaultPort = 1"

А почему игроков с этим портом нет смысла чекать на #5, #6, #7, #8 ? Почему ?
Ссори что так много вопросов, но я думаю всем будет интересно.
VkriterT вне форума   Ответить с цитированием
Старый 25.03.2016, 18:04   #5
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

вопросы

Цитата:
Сообщение от VkriterT Посмотреть сообщение
Не совсем понятна необходимость некоторых функций.

"Включить Обнаружение HLDS Fake Flood" Это вроде как старючая вещь, то ли она уже в рехлдс пофикшена то ли просто это из за того что у меня много эмуляторов заблочено.

"Обнаружение Proxy" Что за прокси имеются в виду ? hltv proxy или что именно ? Вроде как в реюнион есть такой функционал.

"Включить Проверку Версии Игры" То есть можно чекать на версию игры и эмулятор отдельно ? Где настройки, от чего защищает ?

"Игнорировать Лицензионных Игроков" А зачем вообще эта функция ? ) Разве есть какие то причины их чекать.

"# Игнорировать Игроков со Стандартным Портом "27005"
# для Методов "#5, #6, #7, #8", "XFakeNew1", "CheckBuild"
# Числовое Значение (0 | 1)
IgnoreDefaultPort = 1"

А почему игроков с этим портом нет смысла чекать на #5, #6, #7, #8 ? Почему ?
Ссори что так много вопросов, но я думаю всем будет интересно.
[свернуть]


"HLDS Fake Flood" ну если есть данный квар значит есть необходимость (у кого то открыт 47 протокол)

"Обнаружение Proxy" еслиб там было хлтв прокси яб так и указал, ну нет суть идет за игровые прокси которые используют для обхода бана например или фейки (hlproxy)

"Включить Проверку Версии Игры" почти весь старый софт не имеет версию игры поэтому по данному параметру легко отсекать.

"Игнорировать Лицензионных Игроков" на стадии тестирования добавлял данную функцию в следующем обновлении уберу.

"Игнорировать Игроков со Стандартным Портом "27005" потому что фейки не могут зайти со стандартным портом обычно реальный игрок заходит по такому порту, ну если есть за ним роутер то там будет уже рандомный.
Adidasman вне форума   Ответить с цитированием
2 пользователей сказали cпасибо:
Старый 25.03.2016, 18:09   #6
Проверенный
 
Регистрация: 13.06.2013
Адрес: ----
Сообщений: 116
Сказал спасибо: 160
Поблагодарили 17 раз(а) в 16 сообщениях
По умолчанию

Adidasman, нат провайдера считается за роутер?
все игроки с серыми IP будут иметь левые порты поидее
LeninChan^^ вне форума   Ответить с цитированием
Старый 25.03.2016, 18:16   #7
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Цитата:
Сообщение от LeninChan^^ Посмотреть сообщение
Adidasman, нат провайдера считается за роутер?
все игроки с серыми IP будут иметь левые порты поидее
да значение вроде зависит белый или серый адрес.

например кабель интернета подключен напрямую, то у клиента будет порт 27005, если с этого же компа зайти еще на сервер через другой клиент то уже будет рандомный.

далее если интернет подключен через роутер то есть не напрямую то получается здесь рандомный идет, и вот у фейков без разницы как подключен так как это софт и он не может получить данный стандартный порт.
Adidasman вне форума   Ответить с цитированием
Старый 25.03.2016, 18:59   #9
Не проверенный
 
Регистрация: 03.12.2014
Адрес: Ростов
Сообщений: 97
Сказал спасибо: 45
Поблагодарили 6 раз(а) в 6 сообщениях
По умолчанию

Вопрос: нужно ли какие то серверные квары изменять?
Ответ: Да, mp_consistency "1" (иначе не будут работать некоторые методы обнаружения).

Плагин добавляет какие то файлы в прикэш ? Сейчас прочекал, вроде как нет.
VkriterT вне форума   Ответить с цитированием
Старый 25.03.2016, 19:02   #10
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Цитата:
Сообщение от VkriterT Посмотреть сообщение
Вопрос: нужно ли какие то серверные квары изменять?
Ответ: Да, mp_consistency "1" (иначе не будут работать некоторые методы обнаружения).

Плагин добавляет какие то файлы в прикэш ? Сейчас прочекал, вроде как нет.
да нет там фишка в другом по мимо прикэша есть другие вещи.
Adidasman вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 25.03.2016, 19:07   #11
Администратор
 
Регистрация: 20.10.2010
Адрес: Москва
Сообщений: 2,715
Сказал спасибо: 421
Поблагодарили 2,179 раз(а) в 705 сообщениях
По умолчанию

Цитата:
Сообщение от Adidasman Посмотреть сообщение
у фейков без разницы как подключен так как это софт и он не может получить данный стандартный порт.
С чего бы это? Забиндить можно на любой свободный.

А нат устроен так, что каждому серому соединению от каждого абонента соответствует свой порт белого адреса. Поэтому хоть 10 абонентов могут слать пакеты с 27005, но сервер от всех от них получит пакеты уже с портом 40к+. Это вообще не вариант селекции фейков.
Asmodai вне форума   Ответить с цитированием
Пользователь сказал cпасибо:
Старый 25.03.2016, 19:11   #12
Не проверенный
 
Регистрация: 05.03.2016
Адрес: Leningrad
Сообщений: 18
Сказал спасибо: 3
Поблагодарили 2 раз(а) в 2 сообщениях
По умолчанию

Вот такое у меня...
Миниатюры
Безымянный.png  
Diamonds671 вне форума   Ответить с цитированием
Старый 25.03.2016, 19:11   #13
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Цитата:
Сообщение от Asmodai Посмотреть сообщение
С чего бы это? Забиндить можно на любой свободный.

А нат устроен так, что каждому серому соединению от каждого абонента соответствует свой порт белого адреса. Поэтому хоть 10 серых абонентов могут слать пакеты с 27005, но сервер от всех от них получит пакеты уже с портом 40к+. Это вообще не вариант селекции фейков.
ну я сказал примерно как наблюдал, за все время софтов ни разу не видал их с таким портом, логи всегда сохраняю и пересматриваю детекты.

Добавлено:
Цитата:
Сообщение от Diamonds671 Посмотреть сообщение
Вот такое у меня...
в консоле внимательно посмотрите что выдает сообщение с префиксом модуля, я думаю что конфиг забыли положить.
Adidasman вне форума   Ответить с цитированием
Старый 25.03.2016, 19:14   #14
Администратор
 
Регистрация: 20.10.2010
Адрес: Москва
Сообщений: 2,715
Сказал спасибо: 421
Поблагодарили 2,179 раз(а) в 705 сообщениях
По умолчанию

Им просто влом порт назначить, юзают что система даст. Но нат назначает порты из того же самого диапазона. Хотя в последних фейках вроде биндят как надо.
Asmodai вне форума   Ответить с цитированием
Старый 25.03.2016, 19:16   #15
Проверенный
 
Регистрация: 04.05.2013
Адрес: Север
Сообщений: 469
Сказал спасибо: 126
Поблагодарили 647 раз(а) в 180 сообщениях
По умолчанию

Цитата:
Сообщение от Asmodai Посмотреть сообщение
Им просто влом порт назначить, юзают что система даст. Но нат назначает порты из того же самого диапазона.
я так и понял, ну и даже если исходить из того что получится сделать порт такой, то зайдет всего один фейк, у остальных же фейков будут рандомные порты.
Adidasman вне форума   Ответить с цитированием
Ответ

Метки
metamod plugin, reauthcheck, rehlds, reunion


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 20:24. Часовой пояс GMT +3.


Лицензия принадлежит Dedicated-Server.Ru