ReHLDS ReAuthCheck (проверка валидности игроков)

Inline

Пользователь
Регистрация
8 Июн 2017
Сообщения
233
Симпатии
77
Пол
Мужской
#1
Источник: ReAuthCheck (Проверка Валидности Игроков для ReHLDS) - Dedicated-Server.RU

Автор:
  • 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
 

Вложения

Последнее редактирование:

Makruxa

Пользователь
Регистрация
11 Июн 2017
Сообщения
2
Симпатии
0
Пол
Мужской
#2
[ 8] ReAuthCheck fail load reauthcheck_mm_i v0.1.6 ini Start Never что не так-то
 

Makruxa

Пользователь
Регистрация
11 Июн 2017
Сообщения
2
Симпатии
0
Пол
Мужской
#4
Всё последнее что есть на csserv
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
199
Симпатии
21
Пол
Мужской
#5
Ребят, а как разбанить игрока?
 

iOS

Пользователь
Регистрация
9 Июн 2017
Сообщения
199
Симпатии
21
Пол
Мужской
#7
Объясните по поводу лимита по количеству диссконектов, чёт не врублюсь
[doublepost=1499181770][/doublepost]И какие оптимальные значения для этих кваров?

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

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