Авторизироваться у нас на сайте можно только через STEAM. Если у Вас нет STEAM аккаунта, зарегистрируйте бесплатный на официальном сайте steamcommunity.com, после чего нажмите на кнопку ниже и войдите на сайт. Авторизированным пользователям доступны много разных функций, позволяющих с комфортом серфить по нашему магазину. Чтобы покупать плагины, менять IP и восстанавливать ключ, авторизация не нужна.
ECD или EasyCheatDetector - новейший сканер читов для Counter-Strike 1.6. Один из самых эффективных средств по борьбе с читерами. Суть работы сканера проста: 1) администратор сервера просит подозрительного игрока пройти сканирование 2) игрок не выходя с сервера, скачивает EasyCheatDetector.exe и запускает его 3) после сканирования создается отчет на нашем сайте и администратор смотрит, читер игрок или нет, и принимает уже дальнейшее решение Более подробно читайте на главной странице ECD
Плагин ECD Helper сильно облегчает всю процедуру сканирования, начиная от объяснения, как чего и где скачать, заканчивая автобаном. Удобное меню, гибкая настройка, автоматическая загрузка результатов скана через API, разумеется автобан и еще множество интересных вещей, постарались продумать все до мелочей.
Команды
ecd_menu или /scan - вызов меню игроков ecd_scan - стартовать игроку сканирование или отменить его ecd_start_all - запустить сканирование для всех игроков (только из консоли сервера) ecd_stop_all - остановить всем игрокам сканирование (только из консоли сервера)
Логика работы
Админ вызывает меню консольной командой ecd_menu или /scan в чат
Меню игроков как и во всех наших плагинах в стиле FG Menu
Так же можно написать в чат /scan ник_игрока, откроется меню с игроками с этими никами
В меню видно, кто из игроков проходил недавно сканирование, а кто проходит в данный момент
Админ выбирает игрока и нажимает: Запустить сканирование
Игроку, в зависимости от настроек плагина, показывается MOTD окно с подробной информацией, что делать. Окно нельзя закрыть в течении 5-ти секунд, игрок точно прочтет информацию в нем. Пишется так же информация в чат и консоль (на случай, если сборка игрока не поддерживает MOTD окна). В HUD тоже пишется сообщение, и постоянно висит перед глазами, а так же в нем идет обратный отсчет до автоматического бана, чтобы не затягивал с прохождением скана. Все эти действия настраиваются в конфиге
Игрок переносится в спектаторы на время сканирования, и не сможет зайти обратно, пока не пройдет сканирование
Игрок предупрежден, что если выйдет с сервера, то получит автоматически бан, так оно и будет. Игрок должен находится на сервере во время сканирования, иначе он сможет выгрузить читы и почистить систему, и сканирование не будет иметь смысла
И так, игрок свернул cs, прошел сканирование, плагин в свою очередь отсылает запросы API на наш сайт, чтобы узнать, прошел ли юзер сканирование или нет. Как только плагин загружает данные репорта, он автоматически уведомляет админа о результатах, воспроизводится звук, и в зависимости от статуса репорта, плагин делает следующие вещи:
если статус "Чисто" - показывает MOTD окно юзеру и благодарит за пройденное сканирование
при статусе "Подозрительно" - тоже показывает MOTD, но уже с другой инфой, а администратору открывается меню, в котором показана ссылка на репорт. Далее админ уже решает, банить игрока или нет, в меню есть для этого кнопка
при статусе "Обнаружены читы" или "Обход сканера" - автоматически дает бан такому игроку. В конфиге можно настроить, чтобы так же админу показывалось меню для подтверждения бана
Учтены разные мелкие нюансы, например меню админу открывается с неактивными кнопками первые несколько секунд, чтобы случайно не забанить игрока. При смене карте не забанит игрока, который проходил сканирование. Есть админская иерархия флагов, с помощью которых можно запретить сканировать вышестоящих админов. И много других вещей, смотрите видео, скриншоты и конфиг.
Требования
cURL или gRIP - для автоматической загрузки результата репорта (модули идут в комплекте с плагином)
AMXMODX 1.9.0 и выше - так же для автоматической загрузки результата репорта
ReAPI и ReChecker - для определения операционной системы игрока и его уникального id
Плагин будет работать на любой версии amxx и hlds/rehlds, просто не будут работать определенные функции плагина
ВАЖНО! Требуется отредактировать Ваш плагин AFK, чтобы тот не кикал игроков, которые проходят сканирование. Сделать это можно с помощью нативов. Наш AfkKicker RBS имеет поддержку ECD как и некоторые плагины AFK других авторов.
P.S. античит на сервере, это конечно хорошо, но софт, который запускается непосредственно на компьютере игрока будет в разы эффективнее. У нас уже более 10 000 репортов, игроки постепенно привыкают к тому, что их просят пройти сканирование, и уже относятся к этому с пониманием. Проверьте своих постоянных игроков, будете удивлены ;)
25.12.21BETA - обновить .amxx и .cfg - добавлен квар ecd_cache, который включает или отключает кеширование - исправлено кеширование игроков - фикс чтения квара ecd_freq - не сбивается ecd_freq при перезаходе админа на сервер 25.12.15BETA - обновить .amxx - исправлен id админа при загрузки сканов из кеша - добавлены дополнительные логи для отладки - мелкие исправления 25.11.30BETA - обновить .amxx - исправлены незначительные ошибки - добавлены дополнительные логи для отладки 25.11.07BETA - обновить .amxx - сканирование не сбивается при смене карты
25.11.05 - обновить .amxx, .cfg и .txt - добавлены квары ecd_freq и ecd_temp_immunity для ограничения админов - добавлены переменные [admin_name], [admin_authid] и [admin_userid] для команды бана - обновите AMXBans RBS, теперь можно банить от имени админа
25.06.24 - обновить .amxx и .cfg - добавлен квар ecd_player_action - добавлены серверные команды ecd_start_all и ecd_stop_all 25.05.29 - обновить .amxx - еще один фикс с setinfo (сбивался счетчик записи демо)
25.05.25 - обновить .amxx - фикс предупреждения с setinfo в консоли клиента - фикс длинной причины бана - логи от плагина теперь пишутся отдельно - отключили автоматический бан, если по каким то причинам у игрока разный IP на сервере и сайте
25.05.18 - обновить .amxx - докинули в архив файлы стилей из ядра наших плагинов - исправили ошибку квара amx_steam_method, при старте сервера он не подгружал значения из конфига
25.05.15 - обновить .amxx - у кого не стоит reunion, можно указать квар в amxx.cfg: amx_steam_method "4" - - это исправит ошибку: [ReAPI] Reunion: isn't available
25.05.13 - обновить .amxx - исправлен конфликт с vanga_detector (кикало за fake)
На данный плагин присутствует скидка в размере 250руб на вторую покупку.
Если ранее Вы уже покупали этот плагин, то на второй сервер и последующие плагин будет стоить на 250руб дешевле!
// RU: Для перевода файлов плагина используйте серверную консольную команду: fg_lang
// Лицензионный ключ вводить в файл amxmodx/data/fg_keys.ini (если файла нет, он создастся сам при рестарте/смены карты сервера)
// Логирование плагина
// 0 - выключить
// a - информационные логи
// b - ошибки
// c - предупреждения
// d - подробный лог (для отладки)
// e - записывать в стандартные логи
ecd_logs "abc"
// Флаг админа, у которого есть доступ к команде /scan
// Можно указывать несколько флагов, например lmd:
// Админ с флагом "l" может сделать /scan над админом с флагом "m", а он может только над флагом "d". Админы с флагом "d" могут сделать /scan всем остальным, у кого нет иммунитета.
ecd_access "lmd"
// Ограничивает частоту использования команды /scan администраторами
// Чтобы предотвратить слишком частые проверки игроков
// Первая цифра соответствует минутам первого флага в ecd_access
// В примере ниже, игрок с флагом "l" не имеет ограничений, "m" ограничение на 1 раз в минуту, "d" 1 раз в 5 минут
// Максимум 9 минут
ecd_freq "015"
// Флаг иммунитета
ecd_immunity "a"
// Когда игрок успешно прошел сканирование, у него появляется иммунитет до конца карты
// Другие админы не смогут заставить игрока проходить проверку еще раз
// Укажите тут флаг админа, который может делать проверки всегда
// 0 - отключает временный иммунитет
ecd_temp_immunity "l"
// Модуль для соединения с API
// Рекомендуется изменить на gRIP (смотрите документацию)
// 0 - выключить API (будет работать только бан при выходе игрока, а так же, админ должен будет сам отменить игроку проверку)
// 1 - используется модуль gRIP (рекомендуется)
// 2 - используется модуль cURL
ecd_module "2"
// Включить кеширование
// Сохраняет и не сбрасывает активные сканирования при смене карты
ecd_cache "1"
// Какую информацию показывать игроку
// a - сообщение в чате
// b - сообщение в консоли
// c - сообщение в HUD
// d - открыть MOTD окно
// e - запретить закрывать окно в течении 5-ти секунд
ecd_info_player "abcde"
// Звук при завершении сканирования
// Для игрока и админа соответственно
// Закомментируйте для отключения звука
// Полный путь до звука:
// cstrike/sound/folder/sound.wav - звук будет закачан клиенту
// valve/sound/folder/sound.wav - стандартные звуки, есть у всех клиентов, поэтому закачиваться не будет
ecd_sound_player "valve/sound/items/suitchargeok1.wav"
ecd_sound_admin "valve/sound/buttons/blip2.wav"
// Максимальное кол-во минут, в течении которого игрок должен пройти сканирование
// Максимум 30 минут
ecd_max_timeout "10"
// Требовать подтверждение бана у админа, который запустил сканирование
// Если админ вышел, то бан пройдет автоматически
// Если статус "Подозрительно", то в любом случае, будет решать администратор
// Если администратор вышел с сервера, или скан был запущен от имени сервера, то игрока забанит по соответствующему шаблону
// Если игрок вышел или сработал таймаут, то бан пройдет автоматически
// 0 - автоматический бан
// 1 - админ банит
ecd_confirm_ban "1"
// Что делать с игроком, при старте сканирования?
// 0 - ничего не делать
// 1 - перекинуть в спектаторы
ecd_player_action "1"
// Команда для вызова меню бана вышедших игроков вашей бан системы
// Вызывается, если вы нажали в меню "забанить игрока", но он вышел с сервера
ecd_disconnect_menu "amx_bandisconnectedmenu"
// Шаблоны бана
// Закомментируйте квар, если не хотите, чтобы за это давался автоматический бан
// Поддерживает переменные:
// [userid] - #userid юзера (пример: #30542)
// [ip] - IP юзера (пример: 210.24.51.26)
// [authid] - authid юзера (пример: STEAM_0:1:12345678)
// [name] - ник юзера
// [report] - номер отчета
// [admin_userid] - #userid админа
// [admin_authid] - ник админа
// [admin_name] - ник админа
//
// Примеры шаблонов для разных систем бана:
// AMXBans & AMXBans RBS - "amx_ban 1440 [userid] 'ECD: Report #[report]'"
// FreshBans - "fb_ban 1440 [userid] 'ECD: Report #[report]'"
// Стандартный ban в amxx - "amx_ban [userid] 1440 'ECD: Report #[report]'"
// Бан от лица админа (AMXBans RBS) - "amx_ban_from [admin_userid] 1440 [userid] 'ECD: Report #[report]'"
// Игрок вышел с сервера
// Важно! Используйте команду, которая банит offline игрока
// AMXBans RBS - "amx_ban 1440 '[authid]' 'ECD: Disconnected'"
// FreshBans - "fb_ban 1440 [userid] 'ECD: Disconnected'"
ecd_template_disconnected "amx_ban 1440 '[authid]' 'ECD: Disconnected'"
// Сработал ecd_max_timeout
ecd_template_timeout "amx_ban 1440 '[userid]' 'ECD: Timeout'"
// Статус "Подозрительно", ручная проверка
ecd_template_warning "amx_ban 10080 [userid] 'ECD: Warning (report #[report])'"
// Игрок пытался обмануть плагин
ecd_template_hack "amx_ban 10080 [userid] 'ECD: Hack (report #[report])'"
// Найден чит в отчете
ecd_template_detect "amx_ban 10080 [userid] 'ECD: DETECTED (report #[report])'"
// Мотд окно, которое будет показано игроку при старте сканирования
// В html код можно вставить переменные
// Вместо них конечный юзер увидит соответствующие им значения
// %name% - ник игрока
// %ip% - IP игрока
// %authid% - стим айди игрока
// %hostname% - название Вашего сервера
// %hostip% - IP адрес Вашего сервера
// %style% - получить html код подключения стиля, который выбрал юзер в /style. Эти стили используются во многих FunGun плагинах, настраиваются они в style.ini
// %stylename% - получит просто название стиля из style.ini
// .label{background:#3498db;padding:.2em .6em .3em;font-size:75%;color:#fff;border-radius:.25em;}
[ecd_motd_start]
<html lang="ru">
<head>
<meta charset="utf-8">
%style%
<style>
p{font-size:22px}
table{width:100%;line-height:160%;font-size:16px;}
img{width:100%}
.c{background:#d52927;width:7px;height:7px;border-radius:50%;display:inline-block;margin:0 5px}
.g{background:#32cd32}
.r{line-height:0}
</style>
</head>
<body>
<center><p>Вас подозревают в нечестной игре! Докажите, что у Вас нет читов - пройдите сканирование!</p></center>
<table cellspacing="10" cellpadding="0">
<tr>
<td width="42%" valign="top" class="q">
<table cellspacing="0">
<tr><th>Что нужно сделать?</th></tr>
<tr ><td><b class="c"></b> Не выходите из игры! Иначе получите автоматический БАН!</td></tr>
<tr class="b"><td><b class="c"></b> Зайдите на сайт: <b class="label">FUNGUN.NET/ECD</b></td></tr>
<tr ><td><b class="c"></b> Скачайте сканер и запустите его</td></tr>
<tr class="b"><td><b class="c"></b> Нажмите кнопку "SCAN"</td></tr>
<tr ><td> </td></tr>
<tr class="b"><td><b class="c g"></b> По окончанию сканирования, Вы сможете продолжить игру</td></tr>
</table>
</td>
<td width="56%" valign="top" class="q r">
<img src="http://shop.fungun.net/motd/ecd-960.jpg">
</td>
</tr>
</table>
</body>
</html>
// Мотд окно, будет показано при успешном завершении сканирования
[ecd_motd_success]
<html lang="ru">
<head>
<meta charset="utf-8">
<style>table{width:100%;line-height:160%;}p{padding-left:10px;}</style>
%style%
</head>
<body>
<center><p style="font-size:22px;">Сканирование пройдено!</p></center>
<table cellspacing="10" cellpadding="0">
<tr>
<td width="36%" valign="top" class="q">
<table cellspacing="0">
<tr><th colspan="2">Результат</th></tr>
<tr ><td>Ник</td> <td><b>%name%</b></td></tr>
<tr class="b" ><td>Authid</td> <td><b>%authid%</b></td></tr>
<tr ><td>Report</td> <td><b>https://fungun.net/ecd/report/%report%/</b></td></tr>
<tr class="b" ><td>Статус</td> <td><b style="color:#28a745;">Чисто</b></td></tr>
</table>
</td>
<td width="60%" valign="top" class="q">
<table cellspacing="0">
<tr><th>ИНФО</th></tr>
<tr><td style="padding:5px;"><b>
Читы не обнаружены, Вы можете спокойно продолжать игру на нашем сервере.<br>
Администрация может периодически требовать пройти сканирование еще раз, так как это эффективное средство по борьбе с читерами.
</b></td></tr>
</table>
</td>
</tr>
</table>
<p>Спасибо за пройденное сканирование!</p>
</body>
</html>
// Мотд окно, будет показано, если статус сканирования "Подозрительно"
[ecd_motd_warning]
<html lang="ru">
<head>
<meta charset="utf-8">
<style>table{width:100%;line-height:160%;}p{padding-left:10px;}</style>
%style%
</head>
<body>
<center><p style="font-size:22px;">Сканирование пройдено!</p></center>
<table cellspacing="10" cellpadding="0">
<tr>
<td width="36%" valign="top" class="q">
<table cellspacing="0">
<tr><th colspan="2">Результат</th></tr>
<tr ><td>Ник</td> <td><b>%name%</b></td></tr>
<tr class="b" ><td>Authid</td> <td><b>%authid%</b></td></tr>
<tr ><td>Report</td> <td><b>https://fungun.net/ecd/report/%report%/</b></td></tr>
<tr class="b" ><td>Статус</td> <td><b style="color:#ffc107;">Подозрительно</b></td></tr>
</table>
</td>
<td width="60%" valign="top" class="q">
<table cellspacing="0">
<tr><th>ИНФО</th></tr>
<tr><td style="padding:5px;"><b>
Администратор посмотрит репорт и решит, что делать с таким результатом сканирования. А пока что, Вы можете продолжать игру.
Администрация может периодически требовать пройти сканирование еще раз, так как это эффективное средство по борьбе с читерами.
</b></td></tr>
</table>
</td>
</tr>
</table>
<p>Спасибо за пройденное сканирование!</p>
</body>
</html>
/* RU:ECD Helper Functions
*
* by SKAJIbnEJIb
*
* This file is provided as is (no warranties).
*/
#if defined _ecd_helper_included
#endinput
#endif
#define _ecd_helper_included
/**
* Вызывается при старте сканирования игрока
*
* @param player player id
* @param admin admin id (кто запустил сканирование)
* @param post 0 до вызова всех функций и проверок, 1 после
*/
forward ecd_start_scan(player, admin, post);
/**
* Вызывается при остановке сканирования
* Либо админ остановил, либо готовы результаты сканирования
*
* @param player player id
* @param admin admin id (кто остановил сканирование или 0)
* @param post 0 до вызова всех функций и проверок, 1 после
*/
forward ecd_stop_scan(player, admin, post);
/**
* Вызывается при получении результатов сканирования
* Не вызовется, если игрок вышел или сработал таймаут сканирования
*
* @param player player id
* @param admin admin id (кто запускал сканирование)
* @param status success/warning/danger/hack
* @param report_id report id
* @param post 0 до бана или показа motd, 1 после
*/
forward ecd_result_scan(player, admin, status[], report_id, post);
/**
* Вызывается через 3 секунды после выхода игрока с сервера, при активном сканировании
* Игрока уже нет на сервере
*
* @param admin admin id (кто запускал сканирование)
* @param name ник игрока
* @param authid authid игрока
* @param ip ip игрока
* @param post 0 до бана, 1 после
*/
forward ecd_disconnected(admin, name, authid, ip, post);
/**
* Вызывается при срабатывании таймаута (игрок долго проходил сканирование)
*
* @param player player id
* @param admin admin id (кто запускал сканирование)
* @param post 0 до бана, 1 после
*/
forward ecd_timeout(player, admin, post);
/**
* Вернет 1 если игрок проходит сканирование на данный момент
* Используйте этот натив в плагинах AFK, чтобы добавить проверку, и не кикать игроков
*
* @param player player
* @return 1 or 0
*/
native ecd_is_scanning(player);
/**
* Вернет report_id если игрок прошел сканирование
*
* @param player player
* @return report_id
*/
native ecd_is_scanned(player);
/**
* Вернет 1 если у игрока windows
*
* @param player player
* @return 1 or 0
*/
native ecd_is_win(player);
/**
* Вернет hwid игрока, если он ранее уже проходил сканирование
* С помощью этого хеша, можно найти репорты игрока через API
*
* @param player player
* @return hwid or 0
*/
native ecd_is_hwid(player);