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

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

Discussion in 'Разработка плагинов для новичков' started by EnderChiken, Aug 28, 2012.

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

    EnderChiken Старожил

    Trophy Points:
    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 likes this.
  2. Хостинг MineCraft
    <
  3. slenky

    slenky Модератор

    Trophy Points:
    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 Активный участник Пользователь

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

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

Share This Page