Привет, югеймеры. Хотел попросить исходник простого античита для маинкрафта Bukkit.
я конечно просил для маинкрафта, но тоже спасибоПожалуйста, авторизуйтесь для просмотра ссылки.я так понял что эта штука смотрит на твои патроны и если их больше максимально возможного количества = бан
спасибоПожалуйста, авторизуйтесь для просмотра ссылки.хз ваще, в майн не играю
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на java написал за секунд 30 сойдет?
Код: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; } } } }
можно и так сделать сделал еще что бы оповещались админы
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();
}
}
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz