Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Стартап Идея защиты от FlyHack

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

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

    EnderChiken Старожил

    Баллы:
    103
    Skype:
    EnderChiken
    Имя в Minecraft:
    EnderChiken
    Всем привет, тут я занялся разработкой простого OpenSource АнтиЧита, и тут встал вопрос о защите от FlyHack, могу высказать свою версию как от него защищатся :D
    При открытии окна дебаггинга в Minecraft, мы можем увидеть внизу букву g (Ground), Она имеет 2 состояния, true и false то есть когда ты стоишь на земле она имеет состояние true, когда летишь она естественно в состоянии false, так вот сам плагин будет отсчитывать секунды этого false, если он летит дольше чем время падения с высоты 256 до пустоты то его выкикивает с надписью fly is not enabled on this server (Или с другой), я озадачился вопросом как это все зделать, может подскажите? ;)

    Скрин той самой g
    На земле
    [​IMG]
    В воздухе
    [​IMG]

    Что я хочу знать по этой теме :trf:
    Как проверять гейммод
    Как обращатся к Debug окну клиента
    Как выкикивать игрока с сервера, и выводить об этом сообщение в чат
    Как записывать это в лог плагина (Не сервера, а плагина)
    И... Все :)
    Извеняюсь если столько всяких сложных (глупых, а зачем это мне? и т.д.) вопросов :rolleyes:
     
    zuma2 нравится это.
  2. Хостинг MineCraft
    <
  3. slenky

    slenky Модератор

    Баллы:
    173
    Skype:
    slenky2
    1) org.bukkit.entity.player.getAllowFlight() , также поможет org.bukkit.entity.player.isFlying , org.bukkit.entity.player.getFlyghtSpeed
    3) org.bukkit.event.player.PlayerKickEvent, org.bukkit.event.player.PlayerKickEvent.setReason(String kickReason) .
    Возрадуйся. Остальное можешь поискать тут.
     
  4. BrilZliaN

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

    Баллы:
    88
    Skype:
    brillianikz
    Имя в Minecraft:
    BrilZliaN
    Античит, о котором ты рассказал уже встроен в ваниллу (не зря же g = bool onGround).
    Единственное, чем можно усовершенствовать встроенный антифлай - автобан при кике.
    Делается оче легко:

    Код:
    @EventHandler
    public void onPlayerKick(PlayerKickEvent e) {
        if (e.getReason().contains("is not enabled")) {
            e.getPlayer().setBanned(true);
        }
    }
     

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