Phoenix Anti-Cheat 1.2.1


Tested Minecraft Versions:
  • 1.7
  • 1.8
  • 1.9
  • 1.10
  • 1.11
[​IMG]
[​IMG]
PAC is an anti-cheat system. This plugin is not improved/changed version of paid PAC. PAC 1.0.0 is completely re-coded. Now using different methods to detect hacks.

[​IMG]
As I said, this plugin is completely re-coded and now you can use this plugin if your server version is 1.7 - 1.11. Also PAC supports protocol hack (1.7 - 1.8) and ViaVersion plugin. PAC is only compatible with spigot.

[​IMG]
PAC needs ProtocolLib plugin to edit/listen packets. You need to download correct version of ProtocolLib.
If you're running 1.8, 1.9, 1.10 or 1.11, use 4.2
If you're running 1.7, use 3.7.0


[​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 protection if you have this permission

[​IMG]
- KillAura
- KillAuraLegit
- Angle
- FastBow
- HeadRoll
- Blink
- DamageIndicators
- Spam
- Illegal Characters (ASCII)
- Massive Connections (Bot Attack)

[​IMG]
PACAPI
Location > me.themuhammed2188.pac.api.PACAPI

Usage
Code (Text):
public static PACAPI api;

public void onEnable()
{
    api = new PACAPI(this); // PACAPI(plugin)
}


Methods

Code (Text):
void sendNotification(String hackName, Player player, String info, int vl)
int getPing(Player player)
void addCustomModule(PACModule module)
List<Plugin> getAddons()
List<PACModule> getCustomModules()
String getVersionPAC()
void setConfig(String path, Object value)
void saveConfig()
void reloadConfig()


PlayerViolationEvent
Location > me.themuhammed2188.pac.api.PlayerViolationEvent
Code (Text):
@EventHandler
public void onViolation(PlayerViolationEvent e)
{
      Player player = e.getPlayer();
      String hackType = e.getHackType();
      int VL = e.getVL();
      e.setCancelled(true);
}

1. Hook Method
Code (Text):
public static PACAPI api;

public void onEnable()
{
    api = new PACAPI(this); // PACAPI(plugin)
}


2. Setting up VLManager
Code (Text):
public static VLManager vlMang = new VLManager();
public static PACAPI api;

public void onEnable()
{
    Bukkit.getServer().getPluginManager().registerEvents(this, this); // to use events
    api = new PACAPI(this);
    for(Player pl : Bukkit.getOnlinePlayers())
    {
        vlMang.addPlayer(new VL(pl)); // Create VL information for players
    }
}

@EventHandler
public void onJoin(PlayerJoinEvent e)
{
    vlMang.addPlayer(new VL(e.getPlayer())); // Create VL information for players
}


3. Creating PACModule
Code (Text):
TestModule tModule = new TestModule("Speed h4x");
api.addCustomModule(tModule);
Bukkit.getServer().getPluginManager().registerEvents(tModule, this);


4. Using PACAPI & VLManager
Code (Text):
public class TestModule extends PACModule implements Listener{

    public TestModule(String moduleName) {
        super(moduleName);
    }

    @EventHandler
    public void onMove(PlayerMoveEvent e)
    {
        Main.vlMang.getVL(e.getPlayer()).add("SPEED", 1);
        // Add violation: 1
   
        int VL = Main.vlMang.getVL(e.getPlayer()).getVL("SPEED");
        Main.api.sendNotification("SPEED", e.getPlayer(), "information about hack", VL);
        // Send notification
    }
}


5. Done
[​IMG]

[​IMG]


[​IMG]