(3.15.0 - 3.25.6) 2.5 (3.15.0 - 3.25.6) 2.4.0 (3.15.0 - 3.25.6) 2.3.0 (3.15.0 - 3.25.6) 2.2.0 (3.15.0 - 3.25.6) 2.1.0 (3.15.0 - 3.25.6) 1.3-beta (3.15.0 - 3.25.6) 1.1-beta (3.14.0 - 3.25.6) 1.0-beta
Note: I swear to god if somebody asks why Mockingbird is giving an incompatiable protocol error or ask why it isn't working, I'm deleting Mockingbird. You wait for me to update Mockingbird.
Mockingbird is an anti-cheat in development made for fun by an ethic idot - version v2 has many changes compared to the v1 variants of Mockingbird.
Important Notes:
Here's something I want to relay before moving forward:
Special Thanks To:
WitherHosting is the hosting company that Mockingbird's test server runs on. It is very affordable (I used to use the $1.25 multi-server plan) and has very good performance from what I have seen. They were kind enough to give me a good test server without cost, and I really do appreciate it! You can check out WitherHosting and their services by clicking here!
IP: 104.128.48.53
Port: 19138
Mockingbird's base inspiration comes from Neptune made by shura62
TLDR (if you don't care about all the dev stuff): Same checks, and new base. TLDR List:
Well, first things first - detection modules are no longer event listeners, instead, Detections extend a Detection class which has a function called "process" which runs every time a packet gets received from the player.
Before Detections process data though, "processors" process data before the check. These processors handle data and save them into the player's "User" class so all checks can use them. For instance, the FlyA check gets the User's move delta (vector3) and does math from there.
Every time a player joins, it will register a "User" class for them. All available check instances will be cloned from Mockingbird's main class made when the plugin enables and put in a "checks" property in the User. Processors however, are hardcoded.
Mockingbird no longer calls custom events.
There will not be a resetting violation feature unless Mockingbird is still false-punishing users. Instead, every time a user passes a check, they will be "rewarded". In rewarding, the player's violations for the check gets multiplied by a very small amount (multiplier varies based off the check). This will help with players which might false positive some checks at certain points, and is more effective than resetting all the player's violations.
Detections now have "cheat probability". What this will do is estimate the chance of cheating. This is determined by how many times a player flags a certain check a certain amount of times within a period.
Custom modules are still here. Since I'm too lazy to make an example, uh, idk just figure it out or wait I guess.
This is a list of all the detections Mockingbird has, these detections may not be 100% accurate and false at sometimes, but the new reward system should compensate.
Mockingbird also has packet checks.
To toggle alerts on/off, all you need to do is run /mbalerts
. There are no arguments needed for this command,
and the command will turn on/off your alerts, depending on if your alerts are enabled or disabled.
To get the current logs of a player, all you need to do is run /mblogs <player>
. If the player is found, the command will relay a message with their logs.
If the detection has punishments disabled it will not show the max violations.
Format with punishments enabled: Detection Name => (currentViolations / maxViolations) @ Cheating Probability
Format with punishments disabled: Detection Name => (currentViolations) @ Cheating Probability
By default, alert cooldown is two seconds for every check the player flagging has, however, some may want this cooldown lowered to view every single alert, or to increase the alert cooldown because it's spamming chat.
To set the cooldown, run the command /mbdelay
with the first argument as the amount of second you want to change the
alert cooldown to. E.g If I wanted to set the alert cooldown to 10 seconds, I would run /mbdelay 10
.
This command is useful for getting debug information in-game, which can help if you are having an issue.
To get a user's debug information for a certain detection, you can run /mbdebug <player> <detection_name>
.