Author: Zakariya Ali
University Project: BSc Computer Science Final Year Thesis
Thesis Title: Video Games Anti-Cheats and Cheaters in Minecraft
Date: May 2023
Supervisor: Tara Collingwoode-Williams
CustomAC is a Java-based Anti-Cheat plugin developed for Spigot-based Minecraft servers. It was designed and tested as part of my final year university dissertation to detect and prevent unfair player behaviour (cheats such as fly hacks, speed hacks, X-ray, etc.) while maintaining an enjoyable and competitive multiplayer experience.
The project combines technical research, white-box/black-box testing, user surveys, and real-world implementation to evaluate its effectiveness compared to existing solutions like NoCheatPlus.
- π¨ Real-time cheat detection
- π¦ Easy installation on any Spigot Minecraft server
- π Logging and optional autoban functionality
- π οΈ Configurable via
config.yml - π§ Modular check system (movement, combat, velocity, etc.)
- π§ͺ Tested through custom scenarios and user trials
- Java JDK 17+
- IntelliJ IDEA or any preferred Java IDE
- Spigot Server set up locally
- Minecraft client (same version as your server)
-
Clone this repository
git clone https://github.com/covenlol/CustomAC.git cd CustomAC -
Open in IntelliJ or your preferred IDE
-
Build the plugin JAR
Make sure to use the correct SDK version (Java 17 or above). Then, build the.jarfile using:- IntelliJ:
Build > Build Artifacts > Build - Or using terminal:
javac -d out src/**/*.java(if structured flatly)
- IntelliJ:
-
Place the compiled JAR in your server's
plugins/directorycp out/CustomAC.jar /path/to/your/minecraft-server/plugins/
-
Start your Spigot server
java -jar spigot-<version>.jar
- Default checks are enabled out of the box.
- All detections and bans are logged in a JSON log file.
- Configuration options can be adjusted in
plugins/CustomAC/config.yml - Use in-game commands (via
CommandManager.java) to toggle debug mode or manually control cheat logging.
Example:
/customac debug on
/customac unban <playername>As detailed in the thesis:
- β White-box tests: Simulated various cheats (speed, fly, walk on water, no-fall) and verified detection.
- β Black-box tests: 10 participants tested both CustomAC and NoCheatPlus; CustomAC detected more cheats.
- π§ͺ User feedback: CustomAC is more effective, though slightly more intrusive due to false positives.
CheckManager.javaβ Core detection logicCommandManager.javaβ Admin commands and togglesConfigManager.javaβ Persistent settingsBrandProcessor.java,CollisionProcessor.java,VelocityProcessor.javaβ Specific cheat detection modules
CustomAC monitors player behaviour for the sole purpose of cheat detection. It does not collect personal data and complies with GDPR principles:
- Monitors only in-game actions
- Purpose-limited (cheat detection only)
- Clear disclosure to server admins
βVideo Games Anti-Cheats and Cheaters in Minecraftβ
Full text available on request or as a supplementary document in this repo.
This project is available for educational and non-commercial server use. Please do not redistribute compiled versions without permission.