Topluluk Ürünü Phoenix Anti-Cheat 2.0.0-pre6

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali


PAC bir anti-hile sistemidir. Şu anlık her hile türü için bir kontrol bulunmuyor fakat yakın zamanda ekleyeceğim. Eklentideki sorunları bildirerek bize yardımcı olabilirsiniz.

İndirmek İçin - Spigot

GitHub üzerinden de sorunları bildirebilirsiniz.
GitHub:
Confuser2188/PhoenixAntiCheat

Kod:
actions:
      a: cancel::notify
      4: tell <player> r u using <hack> m8 ?
      5: kick <player> <tag> st0p h4ck1ng n00b

a: her ihlalde çağrılır
<n>: ihlal seviyesi <n> olduğunda çağrılır


Birden fazla komut için şunu kullanın "::"
Geçerli iç komutlar: cancel, notify, pacmessage, pacbroadcast
Geçerli placeholders: <player>, <tag>, <hack>

Eğer PAC'in son sürümünü kullanıyorsanız şu sürümleri kullanabilirsiniz
Spigot 1.7, 1.8, 1.9, 1.10. 1.11, 1.12, 1.13


Ayrıca PAC, protocol hack (1.7 - 1.8) ve ViaVersion eklentilerini destekliyor


Eğer sunucu sürümünüz PAC ile uyumluysa herhangi ek bir eklenti indirmeden istediğiniz gibi kullanabilirsiniz.


Mevcut olan yetki listesi
Phoenix.Command - Bu yetkiye sahip kişi PAC komutlarını kullanabilir
Phoenix.Notification - Bu yetkiye sahip olan kişi bildirimleri görebilir
Phoenix.Bypass.<module_name> - Bu yetkiye sahip olan kişi bu modülden etkilenmez

Combat:
  • KillAura
  • ForceField
  • TpAura
  • Criticals
Movement:
  • Flight/Fly
  • Speed
  • Glide
  • AirJump
  • Blink
  • AntiWeb
  • BunnyHop
  • InventoryMove
  • Spider
  • Timer
  • HeadRoll
Player:
  • ImpossibleInteract
  • MoreInventory
  • Regen
Chat:
  • Spam
  • UnknownCharacters
Render:
  • HealthESP/DamageIndicator
Other:
  • SpamBot
  • NBT exploit
API Version: 1

PACAPI: Main class for API

Usage:
Java:
import me.themuhammed2188.pac.api.PACAPI;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin{

    PACAPI pacapi;

    public void onEnable() {
        pacapi = new PACAPI(this);
    }
}


Methods:
Java:
PlayerPAC getPlayer(Player player) // Returns custom player class
int getVersionAPI() // Returns current version of API
ServerPAC getServer() // Returns custom server class
String getVersionPAC() // Returns version of PAC plugin
Plugin getPlugin() // Returns PAC as a Plugin
void addCheck(Check check)  // Adds check to list
boolean removeCheck(Check check) // Removes check from list
PlayerViolationEvent: Called when player is failed a check.

Usage:
Java:
import me.themuhammed2188.pac.api.HackType;
import me.themuhammed2188.pac.api.event.PlayerViolationEvent;
import me.themuhammed2188.pac.api.utils.Attribute;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onViolation(PlayerViolationEvent event)
    {
        Player player = event.getPlayer();
        HackType hackType = event.getHackType();
        int VL = event.getVL();
        Attribute[] attributes = event.getAttributes();

        event.setCancelled(true);
    }
}



PlayerPacketReceivedEvent: Called when server received a packet from player.
PlayerPacketSentEvent: Called when server sent a packet to player.

Usage:
Java:
import me.themuhammed2188.pac.api.event.PlayerPacketReceivedEvent;
import me.themuhammed2188.pac.api.event.PlayerPacketSentEvent;
import me.themuhammed2188.pac.api.utils.Packet;
import org.bukkit.Bukkit;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onPacketReceived(PlayerPacketReceivedEvent event)
    {
        Player player = event.getPlayer();
        Packet packet = event.getPacket();

        event.setCancelled(true);
    }

    @EventHandler
    public void onPacketSent(PlayerPacketSentEvent event)
    {
        Player player = event.getPlayer();
        Packet packet = event.getPacket();

        event.setCancelled(true);
    }
}



PhoenixCommandEvent: Called when player used a command that starts with "/pac"

Usage:
Java:
import me.themuhammed2188.pac.api.event.PhoenixCommandEvent;
import org.bukkit.Bukkit;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.plugin.java.JavaPlugin;

public class Main extends JavaPlugin implements Listener{

    public void onEnable() {
        Bukkit.getServer().getPluginManager().registerEvents(this, this);
    }

    @EventHandler
    public void onCommand(PhoenixCommandEvent event)
    {
        Player player = event.getPlayer();
        CommandSender sender = event.getSender();
        String[] args = event.getArgs();
        String cmd = event.getCmd();
    }
}
You need to use addCheck(Check paramCheck) method in PACAPI to enable your module.

Usage:
Java:
import me.themuhammed2188.pac.api.Check;
import me.themuhammed2188.pac.api.utils.Attribute;
import org.bukkit.event.EventHandler;
import org.bukkit.event.player.PlayerMoveEvent;

public class TestCheck extends Check {

    public TestCheck() {
        super("Test");
    }

    @EventHandler
    public void onMove(PlayerMoveEvent e)
    {
        sendNotification(e.getPlayer(), "moving = hacking", 1, new Attribute[] { Attribute.get("type", 999)});
    }
}


Methods:
Java:
String getName()
void sendNotification(Player player, String info, int vl, Attribute[] attributes)
Methods:
Java:
Player getBukkitPlayer() // Returns org.bukkit.entity.Player
int getCPS() // Returns clicks per second
int getMovementPacketRate() // Returns movement packets per second
int getPing() // Returns NMS ping
boolean isOnGround() // Returns onGround method in PAC
Methods:
Java:
List<Plugin> getPlugins() // Returns list of PAC addons
double getTPS() // Returns server ticks per second
String getVersion() // Returns server version


 


Son düzenleme:

WitherLegend

Lapis Toplayıcısı
Mesajlar
966
En iyi cevaplar
0
Beğeniler
336
Puanları
640
Selamlar,
PhoenixAnti-Cheat spigotta en üst sıradaydı baktığımda.Tebrik ederim.
Fakat çok lag yapmıyor mu ki ?
 

MutantPanda

Kömür Madencisi
Mesajlar
102
En iyi cevaplar
0
Beğeniler
41
Puanları
140
Tebrikler.1.8 sunucuma yükleyeceğim lütfen diğer hileleride engellermisiniz.
 

Axel102

Hayalet Avcısı
Mesajlar
2,564
En iyi cevaplar
6
Beğeniler
1,002
Puanları
3,390
Timer gibi hilelerde engellenmeli yoksa kullanışlı olmaz
 

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
Timer gibi hilelerde engellenmeli yoksa kullanışlı olmaz
En baştan kodladığım için hile korumaları şu an az.
Şimdilik bu plugin ile birlikte NoCheatPlus'u öneriyorum.
Onun yapamadığı şeyleri yaptığı için birbirlerini tamamlıyorlar.
İlerki zamanlarda kendi ayakları üstünde yüriyebilecek :D

NoCheatPlus bunlar için var zaten :) NCP üzerine ek bir koruma için kullanılmalıdır genellikle bu tarz Anti-Cheat'ler.

@OP Tebrik ederim en kısa sürede test edeceğim KillAura'yı AntiAura'dan iyi engelleyebiliyor mu bir bakalım :)
2 tane farklı AAC bypass içeren hile ile test ettim ve onların mantığını bozacak şekilde yaptım :D

Eğer bir sorun bulursanız bana mesaj veya burdan mesaj atın. Ya da bypass edebilen bir client varsa ismini atın ben önlemleri alıp güncelliyeyim.

Bu arada Blink kullandığınız zaman gelen paketleri engelliyor sadece geriye atmıyor. Ama NoCheatPlus'un movement kontrolü normalde engellemiyor, bununla birleştirirseniz çalışır. (Movement kontrolleri eklediğim zaman NoCheatPlus olmadan çalışacaktır)
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
En baştan k odladığım için hile korumaları şu an az.
Şimdilik bu plugin ile birlikte NoCheatPlus'u öneriyorum.
Onun yapamadığı şeyleri yaptığı için birbirlerini tamamlıyorlar.
İlerki zamanlarda kendi ayakları üstünde yüriyebilecek :D


2 tane farklı AAC bypass içeren hile ile test ettim ve onların mantığını bozacak şekilde yaptım :D

Eğer bir sorun bulursanız bana mesaj veya burdan mesaj atın. Ya da bypass edebilen bir client varsa ismini atın ben önlemleri alıp güncelliyeyim.

Bu arada Blink kullandığınız zaman gelen paketleri engelliyor sadece geriye atmıyor. Ama NoCheatPlus'un movement kontrolü normalde engellemiyor, bununla birleştirirseniz çalışır. (Movement kontrolleri eklediğim zaman NoCheatPlus olmadan çalışacaktır)
Elimdeki orta düzey bir client'la yalnızca moblara karşı aura açtım ve playerlara saldırıyı kapattım sonuç? Yakalanmadım :) Bir diğer olay da ticks existed olacaktır. Ayrıca armor check de var. Bunlara bir göz at özellikle armor check rahatlıkla bypasslayabilir çünkü zırhı olmayan birisine vurmanı engelliyor. Şuanda AntiAura yerine kullanabileceğimi sanmıyorum.

Edit: Nedendir bilinmez tablistte ismimi yokediyor... (AnimatedNames uyumlu değil sanırım)
 

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
Elimdeki orta düzey bir client'la yalnızca moblara karşı aura açtım ve playerlara saldırıyı kapattım sonuç? Yakalanmadım :) Bir diğer olay da ticks existed olacaktır. Ayrıca armor check de var. Bunlara bir göz at özellikle armor check rahatlıkla bypasslayabilir çünkü zırhı olmayan birisine vurmanı engelliyor. Şuanda AntiAura yerine kullanabileceğimi sanmıyorum.

Edit: Nedendir bilinmez tablistte ismimi yokediyor...
Ama player'ı kapatarak ayıp ettin :D
Daha onun için bir şey geliştirmedim :D
Entity'e item'i verebiliyorum ama nedense armor verdiğimde gözükmüyor. Item ve HP oyuncuyla aynı şu anlık :/
Armor için birşeyler araştıracam internetten :/

Bide Tablist'i bende fark ettim sanırım yeni eklediğim bir şey vardı ondan kaynaklandı :/
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
Ama player'ı kapatarak ayıp ettin :D
Daha onun için bir şey geliştirmedim :D
Entity'e item'i verebiliyorum ama nedense armor verdiğimde gözükmüyor. Item ve HP oyuncuyla aynı şu anlık :/
Armor için birşeyler araştıracam internetten :/

Bide Tablist'i bende fark ettim sanırım yeni eklediğim bir şey vardı ondan kaynaklandı :/
Bu söylediklerimi yapmadanda bypasslayabilirim o npcye vurmamak zor bir şey değil. Mesela KillAura'nın rangeini fullersem ve tek bir hedefe saldırması için ayarlarsam o oyuncu menzilimden çıkana kadar başka bir oyuncuya hedef almaz. Ayrıca bazı KillAuralar mouse'una en yakın entity e saldırabiliyor bu da çok rahat bir şekilde bypasslayabilir.
 

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
Bu söylediklerimi yapmadanda bypasslayabilirim o npcye vurmamak zor bir şey değil. Mesela KillAura'nın rangeini fullersem ve tek bir hedefe saldırması için ayarlarsam o oyuncu menzilimden çıkana kadar başka bir oyuncuya hedef almaz. Ayrıca bazı KillAuralar mouse'una en yakın entity e saldırabiliyor bu da çok rahat bir şekilde bypasslayabilir.
Oyuncunun ekranına görünür entity yapmaktan başka çare kalmıyor ama senin dediğine görede.
Yapabildiğim en yüksek koruma, oyuncunun karşısında görünmez entity, etrafında görünür ama onun görmeyeceği bakış açısında entity'ler oluşturmak. Nasıl bir şey yapabilirim ki ? :D Oyuncunun bakış açısı içinde görünür entity ama onun vurupda kicklenmiyeceği bir şey yapabilirim ama niye karşısında biri dursun ki sürekli :S

Bu arada tablist'te benim salaklığımdan kaynaklı bir şey olmuş :D

Saldırdığı kişi yerine kendisinin UUID'sini alınca buga girmiş.
Çünkü oluşturulan oyuncunun tab'da ismi gözükmesin diye ayarlandığı için kendi UUID'sini girince kendisininki yok olmuş. :p
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
Oyuncunun ekranına görünür entity yapmaktan başka çare kalmıyor ama senin dediğine görede.
Yapabildiğim en yüksek koruma, oyuncunun karşısında görünmez entity, etrafında görünür ama onun görmeyeceği bakış açısında entity'ler oluşturmak. Nasıl bir şey yapabilirim ki ? :D Oyuncunun bakış açısı içinde görünür entity ama onun vurupda kicklenmiyeceği bir şey yapabilirim ama niye karşısında biri dursun ki sürekli :S

Bu arada tablist'te benim salaklığımdan kaynaklı bir şey olmuş :D

Saldırdığı kişi yerine kendisinin UUID'sini alınca buga girmiş.
Çünkü oluşturulan oyuncunun tab'da ismi gözükmesin diye ayarlandığı için kendi UUID'sini girince kendisininki yok olmuş. :p
AntiAura'nın NPC kullandığı sürümlerinde oyuncunun önüne bir npc konur (squid sanırım) oyuncu önündeki npcye vurmadan karşısındaki adama vurursa threshold yükselir.
 

TheMuhammed2188

Java <3
Mesajlar
779
En iyi cevaplar
0
Beğeniler
432
Puanları
700
Ruh hali
AntiAura'nın NPC kullandığı sürümlerinde oyuncunun önüne bir npc konur (squid sanırım) oyuncu önündeki npcye vurmadan karşısındaki adama vurursa threshold yükselir.
En yakın entity'e ayarlanır, Player ve moblar açık olur.
Yine bypass olur yani :/

Ama gerçekten çok mantıklı bir fikirmiş :)
Bypass yine olur ama onlara zorluk çıkartmış olurum yani belki öyle birşeyler yapabilirim :S
 

Personinblack

YASAKLANDI
Mesajlar
1,876
En iyi cevaplar
0
Beğeniler
1,237
Puanları
90
En yakın entity'e ayarlanır, Player ve moblar açık olur.
Yine bypass olur yani :/

Ama gerçekten çok mantıklı bir fikirmiş :)
Bypass yine olur ama onlara zorluk çıkartmış olurum yani belki öyle birşeyler yapabilirim :S
şu an ki kontrollerini görsen aklın uçacak demek ki :) AntiAura o zamandan beri çok gelişti artık npc kullanmıyor. Bypasslamanın çok ufak yöntemleri var onlarda pvpdeki avantajını elinden alıyor.
 

Üst