All Projects → ethaniccc → Mockingbird

ethaniccc / Mockingbird

Licence: GPL-3.0 license
PocketMine-MP anticheat in development made for fun by @ethaniccc.

Programming Languages

PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to Mockingbird

SAC
An AntiCheat software for PockeMine-MP made to detect unfair gamplay advantages.
Stars: ✭ 52 (-14.75%)
Mutual labels:  pocketmine, anticheat
MysteryBox
Crate implemention for PocketMine-MP (PMMP)
Stars: ✭ 19 (-68.85%)
Mutual labels:  pocketmine
MyPlot
Plot and protection plugin for PocketMine-MP
Stars: ✭ 101 (+65.57%)
Mutual labels:  pocketmine
MinecraftDeveloperGuide
📝Minecraft developer Chinese guide,我的世界开发者中文指南
Stars: ✭ 1,307 (+2042.62%)
Mutual labels:  pocketmine
MatrixChecks
The optimized checks for Matrix Anticheat, a powerful anticheat for Minecraft.
Stars: ✭ 70 (+14.75%)
Mutual labels:  anticheat
BedrockClans
An advanced PocketMine-MP clan plugin with many creative features
Stars: ✭ 25 (-59.02%)
Mutual labels:  pocketmine
anti-debugging
Anti-debugging techniques on a (bad looking) Win32 application.
Stars: ✭ 74 (+21.31%)
Mutual labels:  anticheat
BlockSniper
An advanced (brush) world editing plugin for PocketMine-MP
Stars: ✭ 77 (+26.23%)
Mutual labels:  pocketmine
Emotes
This plugin allows players to use their favorite emotes on the server!
Stars: ✭ 15 (-75.41%)
Mutual labels:  pocketmine
PiggyAuth
Safe & feature-rich auth plugin. Project has been discontinued
Stars: ✭ 33 (-45.9%)
Mutual labels:  pocketmine
FiveM-Paid-Anticheats
Fivem Anticheat's sources, cracks and other shit have fun with it. Remember API > ALL https://discord.gg/stz4nCkhZp
Stars: ✭ 35 (-42.62%)
Mutual labels:  anticheat
guardiansponge
🔱 Guardian - An extensive AntiCheat plugin for Sponge.
Stars: ✭ 20 (-67.21%)
Mutual labels:  anticheat
Capital
An extensible economy API for PocketMine-MP.
Stars: ✭ 31 (-49.18%)
Mutual labels:  pocketmine
Pathfinding
A pmmp virion (library) for pathfinding using A*
Stars: ✭ 36 (-40.98%)
Mutual labels:  pocketmine
devirion
Plugin used for debugging virions or plugins that use virions.
Stars: ✭ 35 (-42.62%)
Mutual labels:  pocketmine
Poseidon
stealthy UM <-> KM communication system without creating any system threads, permanent hooks, driver objects, section objects or device objects.
Stars: ✭ 189 (+209.84%)
Mutual labels:  anticheat
AntiCheatReloaded
The free anti-cheat since 2016
Stars: ✭ 94 (+54.1%)
Mutual labels:  anticheat
protection
Flexible server protection system (development)
Stars: ✭ 23 (-62.3%)
Mutual labels:  anticheat
KMAC
Some usefull info when reverse engineering Kernel Mode Anti-Cheat
Stars: ✭ 31 (-49.18%)
Mutual labels:  anticheat
ProperDuels
A properly made duels plugin
Stars: ✭ 16 (-73.77%)
Mutual labels:  pocketmine

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:

  • You want a decent server to handle everything Mockingbird is going to do with the least amount of false positives (such as WitherHosting's $1.25 plan).
  • Waterdog may bring up issues while using Mockingbird, if you use Waterdog along with Mockingbird, know that things may go wrong.

Here's something I want to relay before moving forward:

  1. If you have an issue with Mockingbird (constant falsing, too much cpu usage, etc.) please make an issue on the GitHub repository with details, so I can fix it. You can leave a bad review but please make an issue :)
  2. Find a bypass (for movement detections only)? Make an issue on the GitHub repository with a video.
  3. Got a feature suggestion? Don't put it in reviews - make an issue on the GitHub repository.

Special Thanks To:

  • shura62
  • Blackjack200
  • Jonhan
  • (discord) @very nice name#6789
  • Bavfalcon9

WitherHosting

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!

Test Server Details

IP: 104.128.48.53

Port: 19138

V2 Changes

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:

  • New Base
  • Same and new checks
  • More accurate
  • Cheat probability
  • Reward system (for when players pass checks to prevent falses)
  • Some threaded checks

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.

Detections

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.

Combat Detections

  • AimAssist
    • (A) -> Yaw delta to pitch delta check
    • (B) -> Modulo check
  • AutoClicker
    • (A) -> Consistency
    • (B) -> Speed
    • (C) -> Statistics
    • (D) -> Duplicated Statistics
  • KillAura
    • (A) -> MultiAura
    • (B) -> NoSwing
  • Reach
    • (A) -> AABB Distance Check
  • Hitbox
    • (A) -> Colliding Ray Check

Movement Checks

  • Fly
    • (A) -> Prediction Check
    • (B) -> AirJump Check
    • (C) -> Acceleration Check
    • (D) -> Positive/Negative delta ratio check
  • Speed
    • (A) -> Friction Check (flags while using bhop and some other hacks)
    • (B) -> Speed Limit Check
  • Velocity
    • (A) -> Vertical velocity check (can detect 99.999%)
  • OmniSprint (checks if the user is sprinting while not going forwards).

Player Checks

  • Nuker (yep lag compensated in less than 40 lines)
  • ChestStealer (yep also lag compensated in less than 40 lines) =
  • EditionFaker (pog)

Mockingbird also has packet checks.

  • BadPackets (checks for validity of packets sent)
    • (A) -> Pitch validity check
    • (B) -> MovePlayerPacket consistency check
    • (C) -> Checks if player hits themselves (can be used to bypass some checks?)
    • (D) -> Checks if player is gliding without an Elytra.
    • (E) -> Checks for invalid deltas in the PlayerAuthInputPacket.
  • Timer (checks if player is sending too many packets in an instance)
    • (A) -> Balance Check

Commands

Toggling Alerts

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.

Getting User Logs

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

LogsCommandExample

Mockingbird vs other similar anti-cheats

Mockingbird is designed to be as light weight and clean as possible, compared to other ones found on pmmp. HowWeStackUp

Setting Alert Cooldown

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.

Getting User Debug Log Data

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>.

DebugCommandExample

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].