Data Packs Server Utility

AntiCheat Datapack NoCheatMinus

  • 11.2k views 1 today
  • save_alt 787 downloads
Compatibility
Minecraft 1.21
Changes include
  • Advancements
  • Functions
  • Predicates
  • 18
  • 12
  • 2
n33d4n4m3
Lvl 25Expert Miner
6
Hi,

TLDR: I created an AntiCheat Datapack and need people to contribute and test.

I created a configurable AntiCheat Datapack for Minecraft Java that is called "NoCheatMinus". This datapack is inspired by the functionality of NoCheatPlus, I tried to port many checks and functions of the original plugin to this Vanilla datapack. I spent some time creating it, but I got to a point where I wondered if this plugin is useful for somebody at all. This post isn't meant as a release or something, I just want to draw your smart eyes on it to achieve some use cases, issues-reports, contributions... I set up a discord server as well as a Minecraft-Test-Server (you're allowed to cheat on). It would be nice to find somebody who will help me extending and testing the datapack, maybe somebody even wants to contribute to this Datapack. The Datapack is maintained on GitHub, so feel free to contribute to it at any time.




Demonstration: https://www.youtube.com/watch?v=q0wzirmrWhI

Test-Server: test.nocheatminus.org

Discord-server: https://discord.gg/PrW5FH25nn

GitHub: https://github.com/n33d4n4m3/NoCheatMinus

More like this

  Have something to say?

Griss
02/13/2021 10:56 am
Level 41 : Master System
history
Wow! I am impressed that we can do this in vanilla :o
Really cool!

What effect does this have on the TPS?
4
n33d4n4m3
02/14/2021 8:33 am
Level 25 : Expert Miner
Thank you. :D
The performance impact seems to be low for now. Some checks require precise ray tracing and real-time calculation, which could mess the server up a bit, especially when there are 20-30 players online. Race-conditions and millisecond-timed checks are a big problem... These checks don't have much impact on the TPS-value though, but the TPS-value itself has a huge effect on these checks. When the server isn't running at exactly 20 ticks per second, the wrong race conditions in the datapack's code will win, important ticks get skipped and millisecond-timed checks will fail ... This leads to many false positives. I found some ways to detect server-side lag, I even found a method to determine how many ticks were skipped. With this information, checks and configs can be temporarily disabled or blunted ... An unsolvable problem is client-side / player lag. High-latency connections make packets accumulate, after a short time they'll arrive at the checks of the datapack - too late and too quick -> The check fails. I try to approach this problem with self-adapting configs for each player, using some kind of "machine learning" with Minecraft commands. It's a PoC for now ...
3

Welcome