Phoenix Anti-Cheat 2.0.0-pre6

Anti-Hack System.

  1. TheMuhammed2188
    Native Minecraft Version:
    1.13
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    • 1.11
    • 1.12
    • 1.13
    [​IMG]
    [​IMG]
    PAC is an anti-cheat system. Currently, it doesn't have check for all hack types but I'll add them soon. You can support us by reporting bugs :)

    Discord: https://discord.gg/zB7797a
    GitHub (for issues): Confuser2188/PhoenixAntiCheat
    Example usage of actions section:
    Code (Text):
    killaura:
      enabled: true
      actions: cancel:notify:vl>=3:pacmessage r u using <hack> m8?:vl==5:kick <player> <tag> st0p h4ck1ng n00b
    In this usage, it will cancel all violations and notify admins. If violation is equal or more than 3, it will send message to player. If violation is equal to 5, it will kick him.

    Use ':' character for multiple commands. If you want to use it in message or something else, use '\:' character.

    Operators to check violation:
    • == (equal to)
    • > (greater than)
    • < (less than)
    • >= (greater than or equal to)
    • <= (less than or equal to)

    Available internal commands: cancel, notify, pacmessage, pacbroadcast
    Available placeholders: <player>, <tag>, <vl>, <ping>, <tps>, <hack> or <module>​
    [​IMG]
    The latest version of PAC currently compatible with
    Spigot 1.7, 1.8, 1.9, 1.10. 1.11, 1.12, 1.13

    Also, PAC supports protocol hack (1.7 - 1.8) and ViaVersion plugin.

    [​IMG]
    If your server version is compatible with PAC, you can freely use it without any plugins.

    [​IMG]
    Current list of permissions
    Phoenix.Command - You can use PAC commands if you have this permission
    Phoenix.Notification - You can see notifications if you have this permission
    Phoenix.Bypass.<module_name> - You can bypass this check if you have this permission


    [​IMG]
    Combat:
    • KillAura
    • ForceField
    • TpAura
    • Criticals
    Movement:
    • Flight/Fly
    • Speed
    • Glide
    • LongJump
    • AirJump
    • Blink
    • AntiWeb
    • BunnyHop
    • InventoryMove
    • Spider
    • Timer
    • HeadRoll
    • Phase
    Player:
    • ImpossibleInteract
    • MoreInventory
    • Regen
    Chat:
    • Spam
    • UnknownCharacters
    Render:
    • HealthESP/DamageIndicator
    Other:
    • SpamBot
    • NBT exploit

    [​IMG]

    WARNING: API is broken on version 2.0.0-pre6
    API Version: 1

    PACAPI: Main class for API

    Usage:
    Code (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:
    Code (Java):
    PlayerPAC getPlayer(Player player) // Returns custom player class
    int getMajorVersion() // Returns major version of API
    int getMinorVersion() // Returns minor 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:
    Code (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:
    Code (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:
    Code (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:
    Code (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:
    Code (Java):
    String getName()
    void sendNotification(Player player, String info, int vl, Attribute[] attributes)
    Methods:
    Code (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:
    Code (Java):
    List<Plugin> getPlugins() // Returns list of PAC addons
    double getTPS() // Returns server ticks per second
    String getVersion() // Returns server version
    String getMinecraftVersion() // Returns server's minecraft version
    String getSpigotName() // Returns server's build name
    Code (Java):
    MorePackets:
    ("type", String: "instant") ("rate", int: rate) ("expected", expected)
    ("type", String: "sendRate") ("rate", int: preRate) ("expected", expected)

    ASCII:
    ("msg", message)

    Inventory:
    ("type", String: "move")
    ("type", String: "hit")

    KillAura:
    ("type", String: "autoBlock")
    ("type", String: "forcefield") ("count", int: count)
    ("type", String: "instant") ("prev", fp) ("cur", float: diff)
    ("type", String: "static") ("val", float: val)
    ("type", String: "reaction") ("avg", float: avg) ("diff", float: diff) ("diffb", float: diffb)
    ("type", String: "zero") ("cur", float: cur) ("prev", int: 0)
    ("type", String: "wrong") ("diff", float: diff1) ("diff2" float: diff2)

    HeadRoll:
    ("pitch", float: pitch)

    Phase:
    ("block", org.bukkit.block.Block: b)

    Speed:
    ("flags", String: flags) ("speed", double: dist) ("expected", double: expected)

    Flight:
    ("type", String: "levitationSpeed") ("speed", double: speed) ("expected", double: expected)
    ("type", String: "fastLadder") ("speed", double: ladderSpeed) ("excepted", double: defaultSpeed)
    ("type", String: "miniJump") ("height", double: distHeight) ("jumpStep", int: jumpStep)
    ("type", String: "airJump") ("diff", double: adiff)
    ("type", String: "step") ("diff" double: adiff)
    ("type", String: "maxHeight") ("maxJumpHeight", double: max) ("height", double: adiff)
    ("type", String: "fastFall") ("height", double: height)
    ("type", String: "glide") ("fs", double: fallSpeed)
    ("type", String: "glide-b")

    NBT:
    ("type", String: "bookPages") ("pages", int: list.size)
    ("type", String: "bookLength") ("length" int: list.length)
    .


    [​IMG]

Recent Updates

  1. PAC 2.0.0-pre6
  2. PAC 2.0.0-pre5
  3. PAC 2.0.0-pre4

Recent Reviews

  1. BBBBri
    BBBBri
    1/5,
    Version: 2.0.0-pre6
    Please don't download this plugin. It has not been updated and supported for more than a year. Apparently it is discontinued and its creator or owner does not answer any more questions or reviews.
  2. miguelrebolo
    miguelrebolo
    4/5,
    Version: 2.0.0-pre6
    Plugin its good detect all but the plugin dont ban .Plis add this option on the next update.
  3. zDaniel__
    zDaniel__
    1/5,
    Version: 2.0.0-pre6
    This detect a no-fly users... Terrible AntiCheat, i suggest NCP or AAC or another anticheat but this no
  4. Unic0de
    Unic0de
    1/5,
    Version: 2.0.0-pre6
    I guess Vanilla AntiCheat is better than yours. Because the checks are wrong and i can bypass them all with my disabler. (The Disabler works with allot of Packets)
  5. wall_
    wall_
    1/5,
    Version: 2.0.0-pre6
    omg guys stop rating this anticheat. PAC is outdated and discontinued. so your ratings are useless
  6. actester1235
    actester1235
    1/5,
    Version: 2.0.0-pre6
    Horrible anticheat has so many false positives thats basically how it blocks hacks its so strict that no hacks bypass but theres a million other falses and im pretty sure this is abandoned it hasn't been updated in a hole year
  7. FireSky1
    FireSky1
    4/5,
    Version: 2.0.0-pre6
    Can you autoban with the anticheat? because i don't want to ban each hacker manually
  8. IncoXD
    IncoXD
    1/5,
    Version: 2.0.0-pre6
    te tira un spam increible en la consola .
  9. HyScript7
    HyScript7
    4/5,
    Version: 2.0.0-pre6
    Works pretty well, i didnt manage to use speed or fly... not sure about killaura but im sure it was blocked too. But i managed to bypass inventory move with liquidbounce 1.12.2 b2
  10. nervigeAntilope1
    nervigeAntilope1
    2/5,
    Version: 2.0.0-pre6
    Bad Anticheat, nofall bypassed, noslow bypassed, killaura bypassed, ...
    --------------------------------