Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Вопрос Исходник простого античита.

  • Автор темы Автор темы rogesaq
  • Дата начала Дата начала
Забаненный
Забаненный
Статус
Оффлайн
Регистрация
8 Фев 2023
Сообщения
43
Реакции
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, югеймеры. Хотел попросить исходник простого античита для маинкрафта Bukkit.
 
Привет, югеймеры. Хотел попросить исходник простого античита для маинкрафта Bukkit.
Пожалуйста, авторизуйтесь для просмотра ссылки.
я так понял что эта штука смотрит на твои патроны и если их больше максимально возможного количества = бан
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
на java написал за секунд 30 сойдет?
Код:
Expand Collapse Copy
public class AntiCheat {
   public void checkForIllegalMods(Player player) {
      String[] illegalMods = {"X-ray", "Fly", "KillAura", "GodMode"};
      for (String mod : illegalMods) {
         if (player.getMods().contains(mod)) {
            player.kick("Вы были отключены от сервера за использование запрещенной модификации: " + mod);
            break;
         }
      }
   }
}
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
на java написал за секунд 30 сойдет?
Код:
Expand Collapse Copy
public class AntiCheat {
   public void checkForIllegalMods(Player player) {
      String[] illegalMods = {"X-ray", "Fly", "KillAura", "GodMode"};
      for (String mod : illegalMods) {
         if (player.getMods().contains(mod)) {
            player.kick("Вы были отключены от сервера за использование запрещенной модификации: " + mod);
            break;
         }
      }
   }
}
da
 
можно и так сделать сделал еще что бы оповещались админы
Код:
Expand Collapse Copy
import java.util.*;

public class AntiCheat {

   private Set<String> illegalMods;
   private Set<String> suspiciousActions;
   private Map<Player, Long> resourceCounts;

   public AntiCheat() {
      illegalMods = new HashSet<String>();
      illegalMods.add("X-ray");
      illegalMods.add("Fly");
      illegalMods.add("KillAura");
      illegalMods.add("GodMode");
    
      suspiciousActions = new HashSet<String>();
      suspiciousActions.add("Teleport");
      suspiciousActions.add("FastBreak");
      suspiciousActions.add("NoClip");
    
      resourceCounts = new HashMap<Player, Long>();
   }

   public void onPlayerJoin(Player player) {
      if (!player.isUpdated()) {
         player.kick("Ваш клиент не обновлен до последней версии. Пожалуйста, обновите клиент и повторите попытку подключения.");
      }
   }

   public void onPlayerAction(Player player, String action) {
      if (suspiciousActions.contains(action)) {
         notifyAdmins("Игрок " + player.getName() + " выполнил подозрительное действие: " + action);
      }
    
      for (String mod : illegalMods) {
         if (player.getMods().contains(mod)) {
            player.kick("Вы были отключены от сервера за использование запрещенной модификации: " + mod);
            break;
         }
      }
    
      long currentCount = player.getResourceCount();
      if (resourceCounts.containsKey(player)) {
         long previousCount = resourceCounts.get(player);
         if (currentCount > previousCount * 2) {
            player.kick("Вы были отключены от сервера за накрутку ресурсов.");
         }
      }
      resourceCounts.put(player, currentCount);
   }

   private void notifyAdmins(String message) {
      for (Player admin : getAdmins()) {
         admin.sendMessage(message);
      }
   }

   public void onPlayerLeave(Player player) {
      resourceCounts.remove(player);
   }

   private List<Player> getAdmins() {
      List<Player> admins = new ArrayList<Player>();
      for (Player player : getOnlinePlayers()) {
         if (player.isOp()) {
            admins.add(player);
         }
      }
      return admins;
   }

   private List<Player> getOnlinePlayers() {
      return Bukkit.getOnlinePlayers();
   }

}
 
Назад
Сверху Снизу