[{"data":1,"prerenderedAt":38},["ShallowReactive",2],{"plugin-Physical-Science-Academy/NoCheatPlus":3},{"api_version":4,"authors":5,"categories":9,"created_at":10,"dependencies":11,"description":15,"detection_confidence":16,"downloads":17,"gallery":18,"icon_url":22,"id":23,"license":24,"links":28,"manifest_path":29,"name":30,"primary_target":31,"server_version":7,"source":32,"stars":33,"summary":34,"targets":35,"updated_at":36,"versions":37},"1.0.0",[6],{"avatar_url":7,"name":8,"url":7},"","Catrainbow",[],1672580136,[12],{"dependency_type":13,"plugin_id":14,"version_range":7},"required","KotlinLib","\u003Cdiv align=\"center\">\n\n[![Java CI](https://github.com/Physical-Science-Academy/NoCheatPlus/actions/workflows/maven.yml/badge.svg?branch=main)](https://github.com/Physical-Science-Academy/NoCheatPlus/actions/workflows/maven.yml)\n[![Maven](https://jitpack.io/v/Physical-Science-Academy/NoCheatPlus.svg)](https://jitpack.io/#Physical-Science-Academy/NoCheatPlus)\n[![English](https://img.shields.io/badge/English-100%25-green?style=flat-square)](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/main/README.md)\n[![简体中文](https://img.shields.io/badge/简体中文-100%25-green?style=flat-square)](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/main/README_CH.md)\n[![Discord](https://img.shields.io/discord/795119986716704768?style=plastic)](https://discord.gg/bCQ8pEgk4t)\n[![forthebadge](https://forthebadge.com/images/badges/uses-git.svg)](https://forthebadge.com)\n[![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg?style=flat-square)](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/main/LICENSE)\n\n[English](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/master/README.md) | [简体中文](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/master/README_CH.md)\n\n\u003C/div>\n\n\u003Cdiv align=\"center\">\n\n# NoCheatPlus\n\n\u003C/div>\n\n\u003Cbr>\n\u003Cp align=\"center\">\u003Cimg src=\"https://raw.githubusercontent.com/Physical-Science-Academy/NoCheatPlus/master/ncp-logo.png\" height=\"256\"/>\u003C/p>\n\u003Cbr>\n\n- An advanced AntiCheat worked on Nukkit/PetteriM1EditionNukkit/PowerNukkitX.\n- Learning from a well-known anti-cheat NoCheatPlus from Bukkit(Spigot).\n- We are in order to fix the bugs in Nukkit and prevent players from cheating.\n\n- You are supported to contribute, and give us a star to support our development.\n\n---------\n\n## Current Features\n\n- High-Performance、Low Occupancy、High Efficiency\n- Light、International、Open Source\n- Protect your server, and prevent it from crashing\n- prevent players from cheating on your server\n\n---------\n\n## Links\n\n###### Docs/Wiki\n\n* [NoCheatPlus Docs](https://docs.catrainbow.me)\n\n###### Download\n\n* [Jenkins (current)](https://ci.lanink.cn/job/NoCheatPlus/)\n* [NukkitX/CloudBurst (stable)](https://cloudburstmc.org/resources/nocheatplus.820/)\n* [MCBBS (stable)](https://www.mcbbs.net/forum.php?mod=viewthread&tid=1430379)\n* [MINEBBS (stable)](https://www.minebbs.com/resources/nocheatplus.5551/)\n* [PowerNukkitX Hub (current)](https://powernukkitx.com/hub/plugin/detail/Physical-Science-Academy/NoCheatPlus)\n\n###### Supports\n\n* [Issues/Tickets](https://github.com/Physical-Science-Academy/NoCheatPlus/issues)\n\n###### Developers\n\n* [License (GPLv3)](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/main/LICENSE)\n* [Contribute](https://github.com/Physical-Science-Academy/NoCheatPlus/blob/main/CONTRIBUTING.md)\n\n###### Nukkit Support\n\n* [Nukkit](https://github.com/Nukkit/Nukkit)\n* [NukkitX](https://github.com/CloudburstMC/Nukkit)\n* [PM1E](https://github.com/PetteriM1/NukkitPetteriM1Edition)\n* [PNX](https://github.com/PowerNukkitX/PowerNukkitX)\n* [EaseCation-Nukkit](https://github.com/EaseCation/Nukkit)\n\n###### Related Plugins And Addons\n\n* [NCPPlugin](https://cloudburstmc.org/resources/ncpplugin.896/)\n  ------------------------------\n  This is a debugging plugin, it can make your NCP only remind the kicked player through the Title without actually\n  kicking it, it can be used to debug the configuration of the plugin.\n\n -------------------------------\n\n* [ECCompatNCP](https://cloudburstmc.org/resources/eccompatncp.902/)\n  ------------------------------\n  This is a CPS detection extension component. It uses the detection algorithm of the well-known small game server\n  EaseCation, and obtains cps at intervals. If it is higher than the threshold every time, the anti-cheat will kick it.\n  Using this plugin will automatically close the CPS detection system of NCP itself.\n\n -------------------------------\n\n* [NCPPanel](https://cloudburstmc.org/resources/ncppanel.906/)\n  ------------------------------\n  This is an extension component of NCP, which provides a visual operation panel and player reporting system for NCP.\n  All of its language themes and even commands can be customized in configuration files.\n\n -------------------------------\n\n* [CompatNCP](https://cloudburstmc.org/resources/compatncp.907/)\n  ------------------------------\n  This is an extension of NCP, which allows you to manually compatible with other plugins to reduce the misjudgment\n  caused by anti-cheat due to non-support, such as double jump.\n\n  ------------------------------\n\n* [NCPLiteBan](https://cloudburstmc.org/resources/ncpliteban.912/)\n  ------------------------------\n  This is an extension plug-in of NCP, which synchronizes NCP ban data to the database for group server data\n  synchronization, and relies on the plug-in DbLib. If you have NCPPanel installed, it can even sync panel data.\n\n  ------------------------------\n\n* [NCPStaticBar](https://cloudburstmc.org/resources/ncpstaticbar.913/)\n  ------------------------------\n  This is an extension for NCP that will turn your NCP into a passive static anti-cheat. Anti-cheat doesn't work\n  normally, it only detects a player after it has been reported by other players. It does not have a reporting system\n  itself, and NCPPanel needs to be installed.\n\n  ------------------------------\n\n* [NCPWebserver](https://github.com/Physical-Science-Academy/NCPWebserver)\n  ------------------------------\n  This simple and effective NCP Extension provides a web interface to manage the No-Cheat-Plus Anticheat on your Minecraft NukkitX server. With this plugin, server administrators can easily monitor and adjust settings for fair gameplay in a Webview without having to deal with manual configuration files.\n\n  ------------------------------\n\n## 🎉Progress\n\n- [ ] SurvivalFly(97%)\n- [x] CreativeFly\n- [ ] Speed(20%)\n- [x] FastEat\n- [ ] NoSlow(50%)\n- [x] InventoryMove\n- [x] InventoryFastClick\n- [x] NoFall\n- [ ] Velocity\n- [ ] Phase\n- [x] Crasher\n- [x] Client\n- [x] MorePacket\n- [x] FastBreak\n- [ ] Scaffold\n- [ ] KillAura\n- [x] Reach\n- [x] X-Ray\n- [x] AutoClicker\n- [ ] HitBox\n- [x] Helper Tool GUI\n\n## Installation & Setup\n\n- Java CI: https://ci.lanink.cn/job/NoCheatPlus\n- Download the latest `NoCheatPlus-1.0-SNAPSHOT-jar-with-dependencies.jar`\n  on [CI](https://ci.lanink.cn/job/NoCheatPlus/)\n- and put it in your folder `plugins/`.\n- And It needs Library plugin\n\n- `KotlinLib`\n\n## Build JAR file\n\n#### Require: Kotlin | Java (8|17)\n\n- `git clone https://github.com/Physical-Science-Academy/NoCheatPlus.git`\n- `cd NoCheatPlus`\n- `git submodule update --init`\n- `./mvnw clean package`\n\n* The compiled JAR can be found in the target/ directory.\n\n## Command\n\n- `/ncp` get the version info\n- `/ncp version` get the version info\n- `/ncp reload` reload the config currently\n- `/ncp debug` toggle the debug mode\n- `/ncp ban` ban a player\n- `/ncp unban` unban a player\n- `/ncp kick` kick a player\n- `/ncp toggle` Switch detection\n- `/ncp permission` manage permissions.\n\n## Config\n\n- Then let's run the server.\n- You can ser a folder was created in`plugins/` named `NoCheatPlus`.\n- Here we pay attention to the main config `ncpconfig.yml`.\n\n~~~yaml\n# NoCheatPlus AntiCheat Config\nconfig-version:\n  notify: false\n  version: 1000\n\n# Currently \"en\" and \"zh\" are supported languages\n# You are able to create your own language in the \"lang\" config directory\nlang: \"en\"\n\nlogging:\n  active: true\n  auto-delete-days: 1\n  debug: false\n  prefix: \"§c§lNCP §7>> §r\"\n  extended:\n    command: true\n    violation: true\nactions:\n  waring_delay: 10\n  kick_broadcast: \"§c§lNCP §7>>@player has been kicked for @hack\"\nprotection:\n  net:\n    packet: true\n    chunk:\n      active: true\n      dynamicScan: false\n      scanHeight: 6.0\n      scanWorld:\n        - world\n      filter:\n        - 0\n        - 8\n        - 9\n        - 10\n        - 11\n        - 20\n        - 26\n        - 27\n        - 30\n        - 31\n        - 32\n        - 37\n        - 38\n        - 39\n        - 40\n        - 44\n        - 50\n        - 63\n        - 64\n        - 65\n        - 66\n        - 68\n        - 71\n        - 81\n        - 83\n        - 85\n        - 96\n        - 101\n        - 102\n        - 104\n        - 105\n        - 106\n        - 107\n        - 126\n        - 141\n        - 142\n      ores:\n        - 14\n        - 15\n        - 16\n        - 21\n        - 56\n        - 73\n        - 74\n        - 129\n  command:\n    hide:\n      active: true\n      message: \"§c§lNCP §7>> §rYou do not have permission to run this command.\"\n      commands:\n        - \"?\"\n        - \"plugins\"\n        - \"version\"\n        - \"about\"\n        - \"ver\"\nchecks:\n  blockbreak:\n    fastbreak:\n      active: true\n      max: 35\n      min: 0\n      actions: \"cancel vl>5\"\n  fight:\n    speed:\n      active: true\n      maxspeed: 25\n      dealvariance: 0.1\n      cancelDamage: true\n      actions: \"cancel vl>5&&kick vl>20\"\n  inventory:\n    instanteat:\n      active: true\n      actions: \"cancel vl>5&&kick vl>20\"\n    move:\n      active: true\n      actions: \"cancel vl>0&&kick vl>3\"\n    open:\n      active: true\n      actions: \"cancel vl>0\"\n    fastclick:\n      active: true\n      delay: 50\n      actions: \"cancel vl>5&&kick vl>20\"\n    item:\n      active: true\n      actions: \"kick vl>10\"\n  moving:\n    survivalfly:\n      active: true\n      strict_mode: false\n      setback_policy:\n        fall_damage: true\n        void_to_void: true\n        latency_protection: 120\n      actions: \"cancel vl>20&&log vl>30 break=60&&warn vl>90 message=fly_short&&kick vl>100&&ban repeat=3 time=3,0,0\"\n    speed:\n      active: true\n    morepackets:\n      active: true\n      actions: \"cancel vl>5&&kick vl>15&&ban repeat=3 time=3,0,0\"\n    creativefly:\n      active: true\n      actions: \"cancel vl>20\"\n    nofall:\n      active: true\n      dealdamage: true\n      skipallowflight: true\n      resetonviolation: false\n      resetonteleport: true\n      resetonvehicle: true\n      actions: \"cancel vl>5&&log vl>10&&kick vl>20\"\n    vehicle:\n      active: true\n      actions: \"cancel vl>10&&kick vl>50&&ban repeat=3 time=3,0,0\"\n\nstring:\n  kick: \"§c§lNCP §7>> §rYou are kicked by NCP because of using @hack on server@next\"\n  ban: \"§c§lNCP §7>> §rYou are banned by NCP for §c@days,@hours,@minutes,@seconds§r because of using @hack @nextEndTime: @end\"\n  fly_short: \"@player could be flying hack @vl\"\n\npermission:\n  no_permission: \"§c§lNCP §7>> §rYou do not have permission to run this command.\"\n  policy:\n    - \"nocheatplus.admin.all:reload,kick,ban,unban,debug,toggle,permission\"\n    - \"nocheatplus.admin.helper:kick,ban,unban\"\n  bypass:\n    # Custom bypass permission\n    MOVING_CREATIVE_FLY:\n      - \"ncp.creativefly.bypass\"\n~~~\n\n### Custom Action System\n\n- There is an actions setting in each detection item, and the format of the penalty operation is given below:\n- Penalty Type Object A[ Relation] Object B Other parameters\n- The penalty types supported by connecting multiple penalty operations with &&\n- are as follows:\n- `cancel` Lag back a player\n- `log` Record the invalid action in NCP Logger，parameter `break The Cooling Time`\n- `warn` Send a warning message to player，parameter `message The message you sent`\n- `kick` Kick a player from server\n- `ban` Ban a player from server，parameter `repeat Fault Tolerance Times`,`time Duration Of Ban`\n- If no parameter is set, the plug-in will use NCP default value\n- to add warning message, which needs to be added in string.\n\n### NCP Commands Permission\n\n- Set it in permission.policy, and the format is:\n- ` Permission: Command Table `\n- commands are connected by commas(,).\n- If there is no record of a command in NCP, all players can use it by default.\n- For example, the version is not specified in `nocheatplus.admin.all` and `nocheatplus.admin.helper` of the case.\n\n### NCP Custom Bypass Permission\n\nAdd them in permission.bypass，and the format is:\n\n- `CheckType:Permissions(List)`\n  The player who has these permissions will bypass the check.\n\nAvailable CheckType:\n\n- `MOVING_SURVIVAL_FLY`\n- `MOVING_CREATIVE_FLY`\n- `MOVING_VEHICLE`\n- `MOVING_SPEED`\n- `MOVING_MORE_PACKETS`\n- `MOVING_NO_FALL`\n- `INVENTORY_INSTANT_EAT`\n- `INVENTORY_OPEN`\n- `INVENTORY_FAST_CLICK`\n- `INVENTORY_MOVE`\n- `FIGHT_SPEED`\n- `FIGHT_REACH`\n\n## Video Showing\n\n- [BiliBili (Deleted)](https://b23.tv/3xIrYPQ)\n\n## Development\n\n- NCP provides much API，to achieve many functions。see the api in NoCheatPlusAPI\n\n  A work in progress API for [NoCheatPlus](https://github.com/Physical-Science-Academy/NoCheatPlus)\n\n### GroupId\n\n- `com.github.Physical-Science-Academy.NoCheatPlus`\n\n### Repository Version\n\n|  ArtifactId  |          Version           |\n|:------------:|:--------------------------:|\n| NoCheatPlus  |   maven-repo-20220552-2a   |\n| NoCheatPlus  |   maven-repo-20220552-3a   |\n| NoCheatPlus  |   maven-repo-20220552-4a   |\n| NoCheatPlus  | maven-repo-20230618-common |\n|  CompatNCP   | maven-repo-20230618-common |\n|  ECCPCompat  | maven-repo-20230618-common |\n|  NCPLiteBan  | maven-repo-20230618-common |\n|  NCPPlugin   | maven-repo-20230618-common |\n| NCPStaticBar | maven-repo-20230618common |\n\n### Gradle:\n\n```gradle\n\tallprojects {\n\t\trepositories {\n\t\t\t...\n\t\t\tmaven { url 'https://jitpack.io' }\n\t\t}\n\t}\n\n\tdependencies {\n\t        implementation 'com.github.Physical-Science-Academy.NoCheatPlus:CompatNCP:maven-repo-20220552-common'\n\t}\n```\n\n### Maven:\n\n##### Repository:\n\n```xml\n\n\u003Crepositories>\n    \u003Crepository>\n        \u003Cid>jitpack.io\u003C/id>\n        \u003Curl>https://jitpack.io\u003C/url>\n    \u003C/repository>\n\u003C/repositories>\n```\n\n##### Dependencies:\n\n```xml\n\n\u003Cdependencies>\n    \u003Cdependency>\n        \u003CgroupId>com.github.Physical-Science-Academy.NoCheatPlus\u003C/groupId>\n        \u003CartifactId>NoCheatPlus\u003C/artifactId>\n        \u003Cversion>maven-repo-20220552-common\u003C/version>\n    \u003C/dependency>\n\u003C/dependencies>\n```\n\nObtaining an instance of the API:\n\n```java\n\nNoCheatPlusAPI api = NoCheatPlus.instance;\n\n```\n\n###                       \n\n| Method                                                      | Description                                               |\n|:------------------------------------------------------------|:----------------------------------------------------------|\n| getNCPProvider()                                            | get main class of NCP                                     |\n| getComManager()                                             | get component manager of NCP                              |\n| getAllComponents()                                          | get all modules of NCP                                    |\n| getAllPlayerData()                                          | get all player data in NCP                                |\n| addComponents(components: NCPComponent)                     | register a NCP Module                                     |\n| hasPlayer(player: Player)                                   | judge a player's data is existed                          |\n| getPlayerProvider(player: Player)                           | get a player's data in NCP                                |\n| getNCPLogger()                                              | get NCP Logger                                            |\n| getNCPConfig()                                              | get config file of NCP                                    |\n| getNCPBanRecord()                                           | get ban config of NCP                                     |\n| isPlayerBan(player: Player)                                 | judge a player if he is banned by NCP                     |\n| kickPlayer(player: Player, type: CheckType)                 | kick a player by NCP                                      |\n| banPlayer(player: Player, days: Int)                        | ban a player by NCP                                       |\n| hasPermission(player: Player, command: String)              | judge a player if he is allowed to use this NCP's command |\n| hasPermissionBypass(player: Player, type: CheckType)        | judge a playet if he is allowed to bypass this check      |\n| createBypassPermission(permission: String, type: CheckType) | created a permission to bypass the check                  |\n| removeBypassPermission(permission: String, type: CheckType) | delete a permission which can bypass some checks          |\n| clearAllViolations(player: Player)                          | clear all Violation Levels of a player                    |\n\n## Test Server(Not always opens)\n\n### Official Asia (Closed)\n- Address: axe.0mc.me\n- Port: 10878\n\n### Official CN\n- Address: mc.catrainbow.me\n- Port: 20000\n\n### Personal Test Server 1\n- Address: 95.217.40.209\n- Port: 25009\n\n## Notice\n\n- Plugin are still in development. Report through Issue if you need!\n\n## Contact us\n\n- [Discord](https://discord.gg/bCQ8pEgk4t)\n- [TencentQQ](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=ysAUd55Yl8WDcfk910CVmc6ROGf0RqFU&authKey=CHhN10VbvJV6zO81LLz44I3gVa8UvU%2BCfiGBmTMTgI4do29IJ55AlIptNu8ctzO7&noverify=0&group_code=603565881)\n","high",0,[19],{"created":20,"description":7,"title":7,"url":21},"2026-03-07","https://raw.githubusercontent.com/Physical-Science-Academy/NoCheatPlus/master/ncp-logo.png","https://avatars.githubusercontent.com/u/114272121?v=4","Physical-Science-Academy/NoCheatPlus",{"id":25,"name":26,"url":27},"GPL-3.0","GNU General Public License v3.0","https://spdx.org/licenses/GPL-3.0.html",null,"NCPCore/src/main/resources/plugin.yml","NoCheatPlus","nkx","https://github.com/Physical-Science-Academy/NoCheatPlus",94,"An advanced Anti-Cheat plugin on Nukkit",[31],1763713483,[],1773156791038]