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

Помогите Анти-анти афк

Тема в разделе "Помощь", создана пользователем Snezok, 5 ноя 2014.

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

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    Вообщем на серве стоит анти афк (есентайлс) он кикает если игрок стоит 10 мин без дела. НО есть дикий обход :
    [​IMG]
    Игрока двигает вода. Как пофикс. ?
     
  2. Хостинг MineCraft
    <
  3. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Бань и все!
     
  4. kursorik228

    kursorik228 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Kusorik
    Запрети воду!
     
  5. MrDeadPool

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

    Баллы:
    78
    Анти афк ориентируется на бездействие игрока и его кординаты.
    Если написать такой плагин который бы вычислял колибание кординат (например от 166,77,12 и до 170,90,12-14) то может и получилось.
     
  6. Автор темы
    Snezok

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    я задрался банить. Уже просто ставлю динамит и факел и с игроком взрываю.
     
  7. MrDeadPool

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

    Баллы:
    78
    Без дыма нет огня)
    Какой смысл им стоять афк?
    P.S: скинь ссылку проекта
     
  8. Konstantin773

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

    Баллы:
    153
    Skype:
    Konstantin77313
    Имя в Minecraft:
    K773
    Написал пример антиафк с проверкой дистанции. Если игрок 8 минут подряд не перемещался дальше 5 блоков в любую сторону, то кик.
    Код:
    public class AntiAFK extends JavaPlugin{
    public void onEnable(){
        antiAFK();
    }
    public void onDisable(){
        this.afk.cancel();
    }
    private BukkitTask afk;
    private HashMap<String,Integer> counter = new HashMap<String,Integer>();
    private HashMap<String,Location> locs = new HashMap<String,Location>();
    private void antiAFK()
    {
       this.afk = Bukkit.getScheduler().runTaskTimer(this, new Runnable()
       {
         public void run()
         {
           for (Player s1 : Bukkit.getOnlinePlayers()) {
              Location last = locs.get(s1.getName());
              if(last==null){
                  locs.put(s1.getName(), s1.getLocation());
              } else {
                  Location cur = s1.getLocation();
                  if(last.getWorld().equals(cur.getWorld())){
                      if(cur.distance(last)<5){
                          int old = counter.get(s1.getName())!=null ? counter.get(s1.getName()) : 0;
                          if(old==8){
                              counter.remove(s1.getName());
                              locs.remove(s1.getName());
                              s1.kickPlayer("АФК 8 минут!");
                              continue;
                          }
                          counter.put(s1.getName(), old+1);
                          locs.put(s1.getName(), cur);
                      } else {
                          counter.remove(s1.getName());
                          locs.put(s1.getName(), cur);
                      }
                  } else {
                      counter.remove(s1.getName());
                      locs.put(s1.getName(), cur);
                  }
              }
           }
         }
       }, 20*60, 20*60);
    }
    }
    
     
    Последнее редактирование: 6 ноя 2014
  9. MrDeadPool

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

    Баллы:
    78
    И как запилить плагин с этим кодом?))
    P.S:Помги есть такой плагин:
    Плагин должен редактировать прочность предмета.Например: у алмазной кирки 1500 ударов я пишу команду
    /команда 5000 и у кирки становится 5000 ударов.
     
  10. Автор темы
    Snezok

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    Спасибо вам, мне б такой плагин, а то я нуб и не знаю как это всё собрать в filename.jar
     
  11. DORMIDONT

    DORMIDONT Новичок Пользователь

    Баллы:
    21
    Skype:
    dnepryanin75
    Да, пожалуйста, можете скомпилировать?
     
  12. sanjee

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

    Баллы:
    78
    Имя в Minecraft:
    sanjee
    Уменя вопрос что плохого то что игрок афк?
     
  13. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Ручки загнуты?
    10/10

    Алсо, смысл кикать афкшников? Если кикать афкшников при заходе на полный сервер - это другое дело.
     
  14. Автор темы
    Snezok

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    пытался в эклипсе, он ругался на ошибки. Если вы можете то помогите. У меня пиксельмон сервер а они так фармят яйца редких поков
     
  15. kursorik228

    kursorik228 Новичок Пользователь

    Баллы:
    11
    Имя в Minecraft:
    Kusorik
    А если я буду перемещаться на 6 блоков вперед :lol::lol::lol:
     
  16. Dereku

    Dereku Старожил

    Баллы:
    173
    Skype:
    derek_unavailable
    Имя в Minecraft:
    _Dereku
    Именно. Легко обойти. У меня игрок с антиафк решил глобально - сделал водную лестницу в высоту 26 блоков. Ему норм.
    А как они фармятся?
     
  17. Автор темы
    Snezok

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

    Баллы:
    76
    Имя в Minecraft:
    Snez0k
    Ранчо ставь и просто афк стой пока поки спариваются. За день фармили до 10 иви (редкие поки) . Сейчас просто сделал так чтоб яйцо ооочень долго выводилось и норм вроде
     
  18. xDiP

    xDiP Старожил Девелопер Переводчик Пользователь

    Баллы:
    123
    сделать проверку по yaw и pitch положениям локации. Если сервер без читеров, то справиться такой метод должен на ура. А по поводу вагонетки, то просто записывать от момента его посадки по каким блокам он проехал и если их повторяется больше например 10-20 раз, то сначала предупредить, а потом через ещё 5-10 повторов кикать.
     
  19. VaNnOrus

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

    Баллы:
    123
    Для случаев, когда ведется подсчет онлайна и он на что-то влияет.[DOUBLEPOST=1415723128,1415722969][/DOUBLEPOST]
    Кстати да, проверку по блокам можно легко обойти сидя в вагонетке, например. Нужно проверять активность мыши (yaw/pitch). Активный игрок не может не сдвинуть мышь хоть немного.
     
  20. xDiP

    xDiP Старожил Девелопер Переводчик Пользователь

    Баллы:
    123
    В движущейся вагонетке при поворотах постоянно меняется положение взора игрока, по этому способ не сработает. Как раз проверку по блокам обойти никак не получиться, так как засиживание в ней предусматривает постоянное кольцевание по рельсам.
    Совершенно не понял вашей логики...
     
  21. alexandrage

    alexandrage Администратор

    Баллы:
    173
    Skype:
    alexandr0116
    Так запрети эти яйца раз они тебе так мешают. Ибо проверять все равно бесполезно, научатся юзать uopilot, и там можно будет накатать любые алгоритмы движения.
     

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