ReinfyTeam / Zuri

A powerful anticheat made to destroy hackers from your server for PocketMine-MP.
GNU Lesser General Public License v2.1
31 stars 7 forks source link

False Detection: Speed & Timer #6

Closed UnknownNull closed 3 months ago

UnknownNull commented 3 months ago

Anti-cheat speedand timerare very sensitive

xwertxy commented 3 months ago

Could you please detail more information about your issue?

UnknownNull commented 3 months ago

Could you please detail more information about your issue?

The plugin misidentifies almost half of the checks.

UnknownNull commented 3 months ago

For example, Cheat recognizes climbing stairs

xwertxy commented 3 months ago

For example, Cheat recognizes climbing stairs

Could you please send the log in which subType causing a problem. It is better if you demonstrate it to a video.

UnknownNull commented 3 months ago

I have a plugin to create a HangGlider where I have the following code that receives a negative value: $effect = new MyEffectInstance(VanillaEffects::LEVITATION(), 100 * 99999, -4, false);

And in Anticheat, when checking it, the server crashes! Log:

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: Zuri

Thread: Main
Error: Typed property pocketmine\entity\effect\EffectInstance::$amplifier must not be accessed before initialization
File: pmsrc/src/entity/effect/EffectInstance
Line: 103
Type: Error
Backtrace:
#0 plugins/Zuri-Rewrite-main/src/ReinfyTeam/Zuri/checks/moving/AirMovement(69): pocketmine\entity\effect\EffectInstance->getEffectLevel()
#1 plugins/Zuri-Rewrite-main/src/ReinfyTeam/Zuri/listener/PlayerListener(87): ReinfyTeam\Zuri\checks\moving\AirMovement->check(object pocketmine\network\mcpe\protocol\PlayerAuthInputPacket#84371, object ReinfyTeam\Zuri\player\PlayerAPI#157385)
#2 pmsrc/src/event/RegisteredListener(61): ReinfyTeam\Zuri\listener\PlayerListener->onDataPacketReceive(object pocketmine\event\server\DataPacketReceiveEvent#155797)
xwertxy commented 3 months ago

I have a plugin to create a HangGlider where I have the following code that receives a negative value: $effect = new MyEffectInstance(VanillaEffects::LEVITATION(), 100 * 99999, -4, false);

And in Anticheat, when checking it, the server crashes! Log:

A PLUGIN WAS INVOLVED IN THIS CRASH
BAD PLUGIN: Zuri

Thread: Main
Error: Typed property pocketmine\entity\effect\EffectInstance::$amplifier must not be accessed before initialization
File: pmsrc/src/entity/effect/EffectInstance
Line: 103
Type: Error
Backtrace:
#0 plugins/Zuri-Rewrite-main/src/ReinfyTeam/Zuri/checks/moving/AirMovement(69): pocketmine\entity\effect\EffectInstance->getEffectLevel()
#1 plugins/Zuri-Rewrite-main/src/ReinfyTeam/Zuri/listener/PlayerListener(87): ReinfyTeam\Zuri\checks\moving\AirMovement->check(object pocketmine\network\mcpe\protocol\PlayerAuthInputPacket#84371, object ReinfyTeam\Zuri\player\PlayerAPI#157385)
#2 pmsrc/src/event/RegisteredListener(61): ReinfyTeam\Zuri\listener\PlayerListener->onDataPacketReceive(object pocketmine\event\server\DataPacketReceiveEvent#155797)

Hmm, its looks like the player is not loaded yet in the cache, and also what the hell is amplifier is set to negative value? It can only ranges only > 0 but not >255.

xwertxy commented 3 months ago

Hack-fixed. Checks should probably run only if player is not null. Thank you for reporting!