{"id":29796457,"url":"https://github.com/icelaterdc/minecraft-anti-cheat","last_synced_at":"2025-07-28T05:10:04.585Z","repository":{"id":303139085,"uuid":"1014520132","full_name":"icelaterdc/Minecraft-Anti-Cheat","owner":"icelaterdc","description":"Customizable anti-cheat plugin for Minecraft Java Spigot/Paper servers.","archived":false,"fork":false,"pushed_at":"2025-07-05T23:10:42.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-05T23:24:33.784Z","etag":null,"topics":["anticheat","java","minecraft","minecraft-java","minecraft-java-edition","minecraft-java-plugin","minecraft-java-server","minecraft-mod","minecraft-paper","minecraft-paper-plugin","minecraft-papermc-server","minecraft-plugin","minecraft-server","minecraft-spigot","minecraft-spigot-plugin","minecraft-spigot-server"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/icelaterdc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-05T22:16:13.000Z","updated_at":"2025-07-05T23:10:45.000Z","dependencies_parsed_at":"2025-07-05T23:24:35.432Z","dependency_job_id":null,"html_url":"https://github.com/icelaterdc/Minecraft-Anti-Cheat","commit_stats":null,"previous_names":["icelaterdc/minecraft-anti-cheat"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/icelaterdc/Minecraft-Anti-Cheat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icelaterdc%2FMinecraft-Anti-Cheat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icelaterdc%2FMinecraft-Anti-Cheat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icelaterdc%2FMinecraft-Anti-Cheat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icelaterdc%2FMinecraft-Anti-Cheat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/icelaterdc","download_url":"https://codeload.github.com/icelaterdc/Minecraft-Anti-Cheat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/icelaterdc%2FMinecraft-Anti-Cheat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267464522,"owners_count":24091505,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-28T02:00:09.689Z","response_time":68,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anticheat","java","minecraft","minecraft-java","minecraft-java-edition","minecraft-java-plugin","minecraft-java-server","minecraft-mod","minecraft-paper","minecraft-paper-plugin","minecraft-papermc-server","minecraft-plugin","minecraft-server","minecraft-spigot","minecraft-spigot-plugin","minecraft-spigot-server"],"created_at":"2025-07-28T05:10:04.028Z","updated_at":"2025-07-28T05:10:04.554Z","avatar_url":"https://github.com/icelaterdc.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IceLater - Minecraft Anti Cheat\n\nA highly modular, comprehensive, and extensible Anti-Cheat plugin for Spigot/Paper Minecraft servers. Engineered to detect and prevent a wide variety of cheats—such as speed, fly, reach, auto-click, packet rate, and kill aura—and automatically ban or kick offenders once configurable thresholds are exceeded.\n\n---\n\n## 🚀 Features\n\n* **Modular Check Framework**: Each cheat detection (Speed, Fly, Reach, NoFall, FastBreak, AutoClick, PacketRate, KillAura) is implemented as a separate `Check` class, making it easy to add, remove, or customize checks.\n* **Dynamic Registration**: Automatically loads and registers only the checks enabled in `config.yml`.\n* **Configurable Thresholds**: Fine-tune detection sensitivity per check (e.g., maximum distance, CPS, PPS, attack rate, etc.).\n* **Violation Counting \u0026 Banning**: Maintains a cumulative violation count per player. Once the `ban-threshold` is reached, the plugin bans and kicks the offender with a customizable message.\n* **Bypass Permission**: Grant `anticheat.bypass` to exempt trusted players from all checks.\n* **Admin Commands**:\n\n  * `/anticheat status` — List active checks and their settings.\n  * `/anticheat reload` — Reloads configuration without restarting the server.\n* **Lightweight \u0026 Performant**: Designed to minimize overhead by only listening to necessary events and using efficient data structures.\n\n---\n\n## ⚙️ Requirements\n\n* **Java**: Java 17+\n* **Server**: Spigot or Paper 1.20.x (compatible with Paper API 1.20.1-R0.1-SNAPSHOT)\n* **Build Tool**: Maven\n\n---\n\n## 📥 Installation\n\n1. **Build the Plugin**\n\n   ```bash\n   git clone https://github.com/icelaterdc/Minecraft-Anti-Cheat.git\n   cd Minecraft-Anti-Cheat\n   mvn clean package\n   ```\n\n   This produces `Minecraft-Anti-Cheat.jar` in the `target/` directory.\n\n2. **Deploy to Server**\n\n   * Copy the JAR to your server’s `plugins/` folder.\n   * Start or restart your server.\n\n3. **Configuration**\n\n   * On first run, a folder `plugins/Minecraft-Anti-Cheat/` is created containing `config.yml`.\n   * Edit `config.yml` to enable/disable checks and adjust thresholds.\n   * Use `/anticheat reload` to apply changes without a full restart.\n\n---\n\n## 🛡️ Cheat Detection \u0026 Ban Conditions\n\nEach detection check increments a player-specific violation counter when a rule is triggered. When the total count reaches the `ban-threshold`, the following occurs:\n\n1. The player is added to the server’s ban list.\n2. The player is immediately kicked with the `ban-message` defined in `config.yml`.\n\n### Default Checks \u0026 Conditions\n\n| Check Name      | Event Listened              | Trigger Condition                                   | Config Keys                               |\n| --------------- | --------------------------- | --------------------------------------------------- | ----------------------------------------- |\n| SpeedCheck      | `PlayerMoveEvent`           | Movement distance \u003e `max-distance`                  | `max-distance`, `threshold`               |\n| FlyCheck        | `PlayerMoveEvent`           | Vertical movement \u003e `max-height`                    | `max-height`, `threshold`                 |\n| ReachCheck      | `PlayerInteractEntityEvent` | Attack distance \u003e `max-reach`                       | `max-reach`, `threshold`                  |\n| NoFallCheck     | `EntityDamageEvent`         | Fall damage event                                   | `threshold`                               |\n| FastBreakCheck  | `BlockDamageEvent`          | Time between block breaks \u003c `max-speed`             | `max-speed`, `threshold`                  |\n| AutoClickCheck  | `PlayerInteractEvent`       | Clicks per second \u003e `max-cps`                       | `max-cps`, `threshold`                    |\n| PacketRateCheck | `PlayerMoveEvent`           | Packets per second \u003e `max-packets-per-second`       | `max-packets-per-second`                  |\n| KillAuraCheck   | `EntityDamageByEntityEvent` | Attacks per window \u003e `attack-threshold` (ms window) | `detection-window-ms`, `attack-threshold` |\n\n\u003e **Note**: Multiple detections across different checks accumulate toward the same ban threshold.\n\n---\n\n## 📝 Configuration (`config.yml`)\n\n```yaml\nchecks:\n  SpeedCheck:\n    enabled: true\n    max-distance: 1.2\n    threshold: 5\n  FlyCheck:\n    enabled: true\n    max-height: 1.5\n    threshold: 3\n  ReachCheck:\n    enabled: true\n    max-reach: 3.5\n    threshold: 4\n  NoFallCheck:\n    enabled: true\n    threshold: 3\n  FastBreakCheck:\n    enabled: true\n    max-speed: 0.7\n    threshold: 5\n  AutoClickCheck:\n    enabled: true\n    max-cps: 12\n    threshold: 20\n  PacketRateCheck:\n    enabled: true\n    max-packets-per-second: 20\n    threshold: 10\n  KillAuraCheck:\n    enabled: true\n    detection-window-ms: 1000\n    attack-threshold: 8\n\nban-on-violation: true\nban-threshold: 15\nban-message: \"You have been banned for cheating! - AntiCheat\"\n```\n\n* **enable**: Activate/deactivate each check.\n* **threshold**: Number of infractions of that type before a violation is recorded.\n* **global ban-threshold**: Total violations before ban.\n* **ban-message**: Kick message shown upon ban.\n\n---\n\n## 🤝 Contributing\n\nWe welcome contributions and enhancements! To propose changes:\n\n1. **Fork the repository**.\n2. **Create a feature branch**:\n\n   ```bash\n   git checkout -b feature/YourFeatureName\n   ```\n3. **Commit your changes** with clear messages.\n4. **Push to your fork**:\n\n   ```bash\n   git push origin feature/YourFeatureName\n   ```\n5. **Open a Pull Request** against `main` in the upstream repository.\n6. Ensure your code is **formatted** and **documented**, and **passes existing tests** (if any).\n\n---\n\n## 📜 License\n\nDistributed under the MIT License. See [LICENSE](LICENSE) for details.\n\n---\n\n#### Maintainers\n\n* **IceLater** – Plugin architect, core development\n* *Contributors* – Thanks to everyone who has contributed\n\nFor questions, issues, or support, please open an issue on GitHub.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficelaterdc%2Fminecraft-anti-cheat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ficelaterdc%2Fminecraft-anti-cheat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ficelaterdc%2Fminecraft-anti-cheat/lists"}