1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

АнтиБот на ProtocolLib

Тема в разделе "Разработка плагинов для новичков", создана пользователем Shevchik, 18 авг 2013.

  1. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Существуют отличные антибот плагины такие ANtiJoinBot, и ANtiBotUltra, но у них есть одна проблема - они работают на PlayerJoinEvent, а значит время на обработку эвента всё равно тратится. Дык я тут подумал, ведь HandShake пакет(когда приходит и его перехватывает сначала ProtocolLib) в самом начале логина с клиента обрабатывается асинхронно, а значит никакой нагрузки на основной поток нет, если ещё на этом этапе чекать бота и отсеивать то вообще круто будет.
    Как думаете делать такое или нет?
     
  2. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    Ты вначале закончи все свои предыдущие наработки прежде чем хвататься. :3
     
    REZAYS нравится это.
  3. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Резонно, хотя данная вещь может решить большинство проблем с ботами.
     
  4. ptnk

    ptnk Старожил Пользователь

    Баллы:
    173
    у тебя каждая разработка способна побороть рак\спид\голод\нищету во всем мире, только проблематично сделать качественно, если ты одновременно делаешь и другие наработки. =\
     
  5. DimasForce

    DimasForce Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    DimasForce
    И точка.
     
  6. Jampire

    Jampire Старожил Пользователь

    Баллы:
    173
    Skype:
    jampire-h
    Имя в Minecraft:
    Jampire
    Нечего добавить, лично смотрел некоторые его плагины. Местами гк похуже моего)
     
  7. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Самое главное в лаунчер не смотри, плохо станет.
     
  8. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    А почему бы не чекать AsyncPlayerPreLoginEvent?
     
    Сникерсни нравится это.
  9. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Расскажи где он на online-mod : false
     
    I-Am-Black-Overlord нравится это.
  10. Den_Abr

    Den_Abr Старожил Девелопер Пользователь

    Баллы:
    173
    Skype:
    Den_Abr
    Имя в Minecraft:
    Den_Abr
    Блее, я опять брежу на ночь глядя. Взбрело в голову, что он вызывается независимо от онлайн мода и вспомнил как я делал очередь на вход...
     
    ВремяПриключений нравится это.
  11. OJIoJIoIIIa

    OJIoJIoIIIa Старожил Пользователь

    Баллы:
    153
    Skype:
    support.olymc
    Имя в Minecraft:
    FaNt1K
    Да да и еще раз да)
     
  12. Автор темы
    Shevchik

    Shevchik Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    _Shevchik_
    Итак открываю дискуссию на тему что делать в проверках.
    1.Блокировка входа под атакой.
    2.Вайтлист под атакой.
    3.Фильтрация айпишников.

    Предлагайте свои варианты.
     
  13. OJIoJIoIIIa

    OJIoJIoIIIa Старожил Пользователь

    Баллы:
    153
    Skype:
    support.olymc
    Имя в Minecraft:
    FaNt1K
    Думаю этого хватит.
     
    REZAYS нравится это.
  14. Sitmobedaf

    Sitmobedaf Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    SiT
    Как оказалось, боты как-то могут и без Handshake пакета подключаться.
     
  15. dimkaS

    dimkaS Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    dimkaS
    Посмотри дату последнего поста до твоего ;-)
     
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Не могут.
    И AsyncPlayerPreLoginEvent уже давно робит при офлайн моде кстати.
    Сори за некро ответ.
     
  17. Sitmobedaf

    Sitmobedaf Старожил Пользователь

    Баллы:
    103
    Имя в Minecraft:
    SiT
    И то и другое заметил.
    AsyncPlayerPreLoginEvent не стоит использовать при > 1000 подключений в секунду (мы же про анти-бот тут с Деном, из прошлого).
    Просто при данном коде:

    Код:
    protocolManager.addPacketListener(new PacketAdapter(AntiBot.getInstance(), ListenerPriority.NORMAL, PacketType.Handshake.Client.SET_PROTOCOL) {
                @Override
                public void onPacketReceiving(PacketEvent event) {
                    event.setCancelled(true);
                    kickPlayer(event.getPlayer(), ConfigManager.MSG_LIMIT_IP);
                }
            });
    Или если поменять PacketType.Handshake.Client.SET_PROTOCOL на PacketType.Login.Client.START ботам всё-равно удаётся подключаться. Я сначала подумал, что это баг такой, из-за большого количества пакетов... Но вряд ли. Сейчас ещё пару тестов проведу и смогу более точно скачать, что за беда. Ботов кстати беру из одного стрессера. Мои боты не проходят ни под каким напором (McProtocolLib).
     
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Да причем тут твоя хyита тупая. Я про подключение говорил. Оно начинается с хеншека, без него это пакетный мусор, сразу дисконект. Там игрок не создастся без него и не перейдет в другой пакет стат.
     
  19. SimMiMo

    SimMiMo Активный участник Пользователь

    Баллы:
    76
    в банже мне спокойно гигабитный аплинк заливали мусором и ничего в логе не было, значит и хендшейка ))
    Пришлось проверять хендш и прочее ))
     
  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Ну так это уже не боты. Такое антидос ловит, нормальный, заточенный под кубы. Все кривопакеты улетят в нулроутинг, а уж темболее подозрительно крупный трафик.
     

Поделиться этой страницей