AtomGuard is a high-performance, professional exploit fixer and server protection plugin specifically designed for Paper 1.21.4. It provides a comprehensive suite of over 30 protection modules to mitigate crashes, duplication glitches, and packet-level exploits.
- Java 21: Utilizes modern Java features.
- Paper API 1.21.4: Targeted at the latest Paper server software.
- PacketEvents API 2.6.0+: Provides low-level packet interception and filtering.
- Netty: Used for direct pipeline injection for advanced network protection.
- Maven: Build and dependency management.
- MiniMessage: For rich, color-formatted Turkish messaging.
The plugin follows a modular and manager-based architecture:
AtomGuard: The central entry point (JavaPlugin). Orchestrates the lifecycle (onLoad,onEnable,onDisable) and provides access to all managers via a singleton instance.
ConfigManager: Handlesconfig.ymlloading, caching, and hot-reloading.MessageManager: Managesmessages.ymlusing the MiniMessage format.LogManager: Provides an asynchronous logging system with daily rotation and retention policies.ModuleManager: Controls the lifecycle of all exploit-fixer modules, tracking statistics and managing their enabled/disabled states.
All exploit fixes are implemented as individual modules extending AbstractModule.
- Each module's
namecorresponds to its Turkish configuration key inconfig.yml. - Modules are registered in
AtomGuard.registerModules(). - They provide high-level abstractions for configuration access and logging.
PacketListener: Integrates with PacketEvents for filtering incoming and outgoing packets.BukkitListener: Handles standard Minecraft events (blocks, entities, etc.).InventoryListener: Specifically targets inventory-related exploits and duplication glitches.NettyCrashHandler: Injected into the server's Netty pipeline to catch low-level network exploits (e.g., NaN/Infinity coordinates).
util/: Includes specialized helpers likeBookUtils,NBTUtils,PacketUtils,CooldownManager, andItemSanitizer.data/: Manages session-based data likePlayerDataandChunkBookTracker.
- Java 21 JDK
- Maven 3.8+
- Paper 1.21.4 Server
- PacketEvents Plugin (Required dependency on the server)
# Build the plugin JAR (output: target/AtomGuard-{version}.jar)
mvn clean package
# Build while skipping tests (currently no unit tests exist)
mvn clean package -DskipTests
# Update project version
mvn versions:set -DnewVersion=X.X.X- Language: Source code is in English (class names, variables, comments), but user-facing configuration keys and messages are in Turkish.
- Config Keys: Module names in the code must exactly match their Turkish keys in
config.yml(e.g.,cok-fazla-kitap). - Thread Safety: The plugin is designed to be highly concurrent. Use
ConcurrentHashMap,AtomicLong, andvolatilewhere appropriate. - Dependencies: All external dependencies (Paper API, PacketEvents, Netty, Annotations) are marked as
providedinpom.xml. Do not shade them into the final JAR. - Annotations: Use JetBrains
@NotNulland@Nullableannotations for better code safety and IDE support.
- Create a new class in
com.atomguard.moduleextendingAbstractModule. - Use the Turkish config key as the name in the
superconstructor. - Add the corresponding configuration section in
src/main/resources/config.yml. - Register the module in
AtomGuard.registerModules(). - Implement the check logic in the relevant listener and call the module's validation methods.
src/main/java/com/atomguard/: Source code.command/: Command executors and tab completers.data/: Data models and trackers.listener/: Event and packet listeners.manager/: Core management classes.module/: Exploit-specific protection modules.util/: Helper classes and specific validation checks.
src/main/resources/: Configuration files andplugin.yml.