1. Factor VIP user

    Регистрация:
    10.05.15
    Сообщения:
    65
    Симпатии:
    49
    Пол:
    Мужской
    Добрый день! В связи с текущей проблемой, а именно с фейковыми игроками (ботами), выкладываю плагин. Пока не придумали более автоматизированную и продвинутую защиту. Это простой плагин от ботов на АМХХ. Плагин отсеивает ботов путём простой капчи, которая состоит из 4 цифр (рандом).
    Сразу хочется сказать, что плагин писал для своего сервера, хотел найти простой вариант от ботов на AMXX. Данный плагин может очень сильно повлиять на онлайн сервера. Конечно, всё зависит от того какой у вас контингент на сервере, если в основном заходят те кто не в состоянии открыть чат, не ставьте данный плагин.
    Теперь о плагине. Плагин отсеивает ботов путём простой капчи, которая состоит из 4 цифр (рандом). При заходе на сервер, после окна приветствия, игроку выводится информация т.е капча, которую он должен ввести в чат. Если игрок не вводит капчу за заданное время *(Настраивается в плагине) или вводит её неверно, то плагин кикает такого игрока. Хочу заметить, что данная процедура выполняется всего 1 раз, для одного игрока. И больше он её не увидит. Так как плагин автоматически записывает steamid авторизованного в файл и заносит его в память. От сюда следует, что плагин сверяет steamid из памяти, дабы не насиловать файл, т.к строк может быть очень много. (путь до файла: "addons/amxmodx/data/[Captcha] RealPlayers.ini"). Лагов и фризов при проверке с 500к stemid'ов не замечено.
    Я прекрасно понимаю, что такой метод проверок не самый лучший. Потому что может отпугнуть и реальных игроков, но мне даже понравилось, не пускает совсем дурачков :).
    P.S: Решайте сами, пользоваться вам данным плагином или нет. Написал на добровольной основе, поэтому просьба, не срать в теме. А лучше подкидывайте хорошие идеи и по коду в том числе.

    Возможности и особенности плагина:
    • Проверяет игрока 1 раз, затем сохраняет его в файл. (Если игрок не сменил ник или steamid).
    • Не даёт зайти в игру (за команду) пока не пройдешь проверку.
    • Блокирует чат и голосовой чат полностью, кто не прошел проверку.
    • Кикает сразу же, если сообщение в чат не совпадает с капчей.
    • Кикает любого клиента, если тот не прошел проверку по времени. (настраивается в плагине)
    • Не проверяет игрока по указ.флагу (настройки исходнике).
    • Не проверяет steam игроков.
    • Не проверяет серверных ботов и hltv. (настраивается в плагине)

    Настройки в исходнике:
    PHP:
    #define CHECK_TIME 30 // Время в сек, которое дается на ввод капчи. Но не менее 15.
    #define IMMUNITY_FLAGS ADMIN_IMMUNITY // Не проверять игрока с иммунитетом.
    #define DARK_SCREEN // Затемнять экран в момент проверки. Закомментируейте, если не нужно.
    //#define HLTV_BOT_KICK // Раскомментируйте, чтобы кикать серверных ботов и HLTV.
    //#define BLOCK_VOICE // Блокировать микрофон, если не прошел проверку. Не используете эту опцию, если есть плагины с голосовым чатом.
    //#define CHECK_ALWAYS // Раскомментируйте, чтобы выключить сохранение данных в файл и проверять клиентов каждый раз при входе. Если боты обходят все проверки o_O.
    Важные замечания:
    • В настройке CHECK_TIME можно задать любое значение, но не ниже 15. Да и не советую ставить меньше 30, т.к не все успеют понять, что за. В крайнем случае, нормальные игроки перезайдут :).
    • Не используйте опцию BLOCK_VOICE, если пользуетесь другими плагинами работающими с голосовым чатом.

    Установка и настройка:
    • Скачиваем исходник плагина.
    • Компилируем.
    • В plugins.ini ставим выше остальных, работающих с чатом.
    • Устанавливаем на сервер, делаем рестарт.
    [​IMG]

    Изменения:
    1.1
    : Исправил мелкие недочеты. (спасибо neygomon).
    1.2: Добавил: проверку на steam игрока (спасибо ex3m777, Phantom), блок микрофона (взял код отсюда).
    1.3: Исправил баг с падением сервера.
    1.4: Улучшил/поменял проверки игрока (теперь проверяет ник & steamid). Убрал лишний код. Добавлена настройка CHECK_ALWAYS.
    1.5: Важный фикс. Некоторые доработки кода. Добавлена настройка DARK_SCREEN.

    Автор: Factor.
     

    Вложения:

    • CaptchaV1.5.sma
      Размер файла:
      6,5 КБ
      Просмотров:
      26
    Последнее редактирование: 25.02.16
    N3UR0, Danyad, ZLODEICH и 6 другим нравится это.
  2. TJhack Пользователь

    Регистрация:
    15.03.15
    Сообщения:
    102
    Симпатии:
    6
    Пол:
    Мужской
    VKcom:
    %2Ffirante1989
    Интересное решение сделай что-бы игроку показывало сколько ему секунд даётся что-бы он написал и что-бы пошёл отсчёт ;)
     
  3. gudaus Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.516
    Симпатии:
    1.107
    Пол:
    Мужской
    В motd обратный отсчёт?
     
  4. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.691
    Симпатии:
    796
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    TJhack, можно самому вставить текст типа 'У вас есть 30 сек. для ввода капчи', обратной отсчет, думаю, не нужен
     
  5. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    молодец конечно) но это не спасет от забивания слотов ботами, пока кикнет одного бота зайти могут 2 других.
    Если на то пошло, то блокируй голосовой чат до момента ввода капчи
     
  6. TJhack Пользователь

    Регистрация:
    15.03.15
    Сообщения:
    102
    Симпатии:
    6
    Пол:
    Мужской
    VKcom:
    %2Ffirante1989
    В скрине где ты видишь мотд?
    --- добавлено 13.08.15 ---
    С обратным отсчётом интереснее ;)
     
  7. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.691
    Симпатии:
    796
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    TJhack, с обратным отсчетом оптимизации не жди
     
  8. Factor VIP user

    Регистрация:
    10.05.15
    Сообщения:
    65
    Симпатии:
    49
    Пол:
    Мужской
    Проверял на своём сервере, с задержкой в 30 сек могут висет в спектрах 5 ботов, если 15 сек, то 3. Но в любом случае, полностью они не забьют сервер, кикает то их по очереди. А если будут быстрые коннекты там и dproto справляется. Кстати, в основном боты заходят с командой say, поэтому их кикает тут же.
    Не стал заморачиваться с голосовым чатом, так как использую этот плагин https://www.neugomon.ru/threads/171/.
    --- добавлено 13.08.15 ---
    Вместо окна выбора команды, вылезает капча. А так как отображение идет сразу, то она срабатывает вместе с motd (можно увидеть за motd окном).
     
    Последнее редактирование: 13.08.15
    gudaus нравится это.
  9. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.596
    Симпатии:
    4.169
    Пол:
    Мужской
    Factor, принудительно вызвать.. не?
     
  10. ex3m777 Пользователь

    Регистрация:
    27.02.15
    Сообщения:
    761
    Симпатии:
    334
    Пол:
    Мужской
    VKcom:
    ex3m777
    Skype:
    ex3m777
    еще можешь добавить иммунитет steam игрокам
     
    Factor и Phantom нравится это.
  11. Phantom Команда форума

    Регистрация:
    27.02.15
    Сообщения:
    1.691
    Симпатии:
    796
    Пол:
    Мужской
    Telegram:
    ph4nt0m
    Кстати да, стимовцам капчи ни к чему
     
    Factor нравится это.
  12. Factor VIP user

    Регистрация:
    10.05.15
    Сообщения:
    65
    Симпатии:
    49
    Пол:
    Мужской
    ex3m777, Phantom, согласен :). Добавил проверку на steam игрока.
     
  13. like Пользователь

    Регистрация:
    30.03.15
    Сообщения:
    167
    Симпатии:
    18
    Пол:
    Мужской
    думаю из за этой проверки можно получить бан в мониторингах
     
  14. jokin Команда форума

    Регистрация:
    28.02.15
    Сообщения:
    828
    Симпатии:
    212
    В которых боты вместо игроков?)
    Если что-то путное выйдет и пойдет в массы, то мониторинги пойдут навстречу, если нет - то кс будут дальше добивать феями, ну и в итоге останутся стим сервера, а раскрутчики сдохнут от своей жадности.
     
  15. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.596
    Симпатии:
    4.169
    Пол:
    Мужской
    like, не пойдут.
    тут на клиенте ничего не выполняется такого.
    разве что боты от страйкес не смогут зайти в игру.
     
  16. Factor VIP user

    Регистрация:
    10.05.15
    Сообщения:
    65
    Симпатии:
    49
    Пол:
    Мужской
    ex3m777, 1.3: Исправил баг вызывающий падение сервера. Тестируйте. Первый пост обновлен, перекачайте плагин.
     
    Последнее редактирование: 16.08.15
  17. Евгений Пользователь

    Регистрация:
    24.04.15
    Сообщения:
    80
    Симпатии:
    3
    Пол:
    Мужской
    Этот файл надо самому создавать [Captcha] RealPlayers.ini ? Или он сам создастся?
     
  18. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.596
    Симпатии:
    4.169
    Пол:
    Мужской
    Евгений, сам
     
  19. Евгений Пользователь

    Регистрация:
    24.04.15
    Сообщения:
    80
    Симпатии:
    3
    Пол:
    Мужской
    Кто то уже установил,как работает?
     
  20. Spawner10 Разработчик

    Регистрация:
    14.07.15
    Сообщения:
    188
    Симпатии:
    95
    Well done, you forget to destroy trie on plugin_end/FM_ServerDeactivate.