Very good anti-cheat plugin, I would give 10 stars! However, I ran into a small issue where the player was unable to move if the anti hunger feature was turned on. I can't find an option for this feature in the configuration file!Praise again
I am writing this review, because I want to say sorry to the developer who made this anticheat, that I was wrong. Themis is a very good anticheat and has always been my favourite ever since 1.19! I just stopped using it for a while, because a "better" anticheat came out called Grim. I want to go back into using Themis again because I like it more, and it's very efficient in its job, and is a very nice coded plugin! I hope you didn't get offended by my words. I apologize
Slow updates and bad maintenance. The creator of this plugin told me that he is making this plugin for fun, which is extremely unprofessional. Its a good plugin for starters and for people who are new to using anticheats, but soon after it becomes second on the list.
It's a very good plugin, the checks that have are really accurated and doesn't flag false positives, is a nice anticheat if you already have a java anticheat that don't support bedrock players and you want an anticheat that disables java checks and just check bedrock players.
But there are some problems, the anticheat is really dated, the config don't support rgb format or even &, you have to use a strange symbol to use colors in the config, the alerts number is really low, the alerts that have are fine but there are missing pvp alerts because there is only timer and reach alerts and killaura only gets flagged if the player is using reach, also there isn't support for hover click commands in the alerts sent in the chat, and if you want to webhook discord you have to use a external plugin called ThemisToDiscord
However its a free plugin and we can't ask for more, the dev is really helpful and kind and replied all my doubts, with 160 players the plugin just use 0.56% of the main thread, i have the option for just check bedrock players.
The only thing that made many people use it is the bedrock support and it is free. I get a lot of false messages just because player ping is too high but it works very well on bedrock. Sad no 1.21. Good plugin but it sometimes dont detect 5% but it works
this is a must need plugin for small, medium-small public servers. it is effective on basic combat and movement checks. to avoid false flags, you should configure it correctly, reducing the sensitivity a little bit.
The worst anti-cheat I've ever seen.
1. False detections.
2. A lot of bypasses.
3. Huge load on the server.
4. Causes conflicts with some plugins.
My personal opinion is that if you are looking for a normal free anti-cheat, use Grim. And best of all is Grim and Vulcan.
The best free anti-cheat there is. Detects bedrock clients and a variety of cheats, allows for customization of checks and actions. Will produce some false flags but this is inevitable with Minecraft ACs and is easily mitigated
Great basic anti cheat. If you want to block most movement cheats this is the way to go. Great for smaller survival servers!
But I wouldn't recommend this for everyone who's looking for good combat checks like 3.01 reach and 99% velo. Themis has the basics and has a small configuration where you can customize punishments, etc.
The anti-cheat is fairly good; at the moment, it's the sole solution capable of protecting your server from cheats by Bedrock players. Yes, it does have false positives, but it's not critical. The anti-cheat could indeed become excellent if the author were not so lazy, and dedicated even a modicum of attention to it. To give you an idea, the author is so inactive that GeysrMC has to implement fixes into their own code so that Bedrock players can at least use fly, as it gets blocked despite them having the permission node. You can expect to wait for ticket responses until the next holiday season. I wish the author more motivation and a swift recovery from burnout.
Can't read players locale, you will be unable to automatically detect players language. Only Bukkit 1.7+ is supported for this.
java.lang.NoSuchFieldException: locale
at java.base/java.lang.Class.getDeclaredField(Class.java:2610)
at Themis_0.15.1.jar//com.gmail.olexorus.themis.vZ.Z(Unknown Source)
at Themis_0.15.1.jar//com.gmail.olexorus.themis.a.M(Unknown Source)
at com.destroystokyo.paper.event.executor.MethodHandleEventExecutor.execute(MethodHandleEventExecutor.java:40)
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:81)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70)
at io.papermc.paper.plugin.manager.PaperEventManager.callEvent(PaperEventManager.java:54)
at io.papermc.paper.plugin.manager.PaperPluginManagerImpl.callEvent(PaperPluginManagerImpl.java:126)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:615)
at net.minecraft.server.players.PlayerList.a(PlayerList.java:325)
at net.minecraft.server.network.ServerConfigurationPacketListenerImpl.a(ServerConfigurationPacketListenerImpl.java:130)
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.a(ServerboundFinishConfigurationPacket.java:18)
at net.minecraft.network.protocol.configuration.ServerboundFinishConfigurationPacket.a(ServerboundFinishConfigurationPacket.java:9)
at net.minecraft.network.protocol.PlayerConnectionUtils.lambda$ensureRunningOnSameThread$0(PlayerConnectionUtils.java:53)
at net.minecraft.server.TickTask.run(TickTask.java:18)
at net.minecraft.util.thread.IAsyncTaskHandler.d(IAsyncTaskHandler.java:153)
at net.minecraft.util.thread.IAsyncTaskHandlerReentrant.d(IAsyncTaskHandlerReentrant.java:24)
at net.minecraft.server.MinecraftServer.b(MinecraftServer.java:1324)
at net.minecraft.server.MinecraftServer.d(MinecraftServer.java:193)
at net.minecraft.util.thread.IAsyncTaskHandler.x(IAsyncTaskHandler.java:126)
at net.minecraft.server.MinecraftServer.bg(MinecraftServer.java:1301)
at net.minecraft.server.MinecraftServer.x(MinecraftServer.java:1294)
at net.minecraft.util.thread.IAsyncTaskHandler.c(IAsyncTaskHandler.java:136)
at net.minecraft.server.MinecraftServer.u_(MinecraftServer.java:1272)
at net.minecraft.server.MinecraftServer.w(MinecraftServer.java:1160)
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:315)
at java.base/java.lang.Thread.run(Thread.java:833)
I use this plugin alongside Spartan anticheat because Spartan doesn't check for movement hacks when players are using an elytra for some stupid reason. It can be a bit oversensitive but hey, its a free anticheat so I'm not complaining
Anticheat is great.
Themis needs to be configured to not block regular players. The default configuration is not suitable for the game.
My settings now look like this
block-threshold: 40.0
execution-threshold: 200
repetition-threshold: 200.0
repetition-delay: 100
The plugin is very good, most of the hacks are easily blocked, but Timer/Blink is sometimes triggered on players with high ping(but i am ok with it by now). I would really like to see a punishment system where a player would be kicked or tempbanned after some time being warned for some type of hack(but if this system already exists i would like to know how to configure it).
Ok i have a problem, when i just spam my spacebar when i touch the ground while in elytra, i got flagged for elytra hacks. Please fix. Overall great plugin
the anti-cheat is great, it detects movement hacks well, but: 1. too sensitive. 2. it would be cool if he could send messages to the discord. 3. TOO sensitive.
This is possible using bypass permissions.
However, if bedrock players are causing problems in general, this is likely because you didn't set up Floodgate correctly.
Version: 0.14.5
Amazing Anti Cheat Only Problem is that players are getting stopped in the air while using an elytra even if not using elytra fly any fix? Or a way to disable the anticheat blocking elytra fly :)
I think its pretty safe to say that this is the best free anticheat. You get really solid movement checks (well except elytrafly, that one sucks ass), proper bedrock detection, and very few consistent false positives. The only consistent false positive I've seen involves bedrock players bridging over the void and getting flagged for packet spoof.
Would 100% recommend. I've been using Themis since 1.17 and has very rarely not done its job.
Honestly, a great anti-cheat for free tbh not that many false positives, and if there is they aren't that big of a deal or they are really hard to replicate/they happen once and usually don't start to be a problem and I love reading the reviews of free anti-cheats like this cause there are the 5-star ppl (the ppl that can actually run a Minecraft server) and then there's always those few 1-star ppl that surprises me because I'm always curious how they manage to boot up a PC let alone startup a Minecraft server. Now I'm not saying every one-star review is completely wrong there are a few that do point out some "good" stuff but let's be honest here 95% of them are just because these ppl shouldn't be on a PC.
The best free Anti Cheat I've used, Many free anti cheats are just absolutely terrible and have a lot of false positives, This plugin while it has some false positives, is MILES better then any other anti cheat I've used, Doesn't block PVP hacks but works really well, And actually checks bedrock users unlike most free anti cheats which just disable checking bedrock users or bedrock users get flagged every time they do anything, Amazing, 9/10
Anti-cheat meets all standard requirements, I think it is ideal for a vanilla server where serious protection against combat hacks is not needed. The only thing that is frustrating is that there is no protection from ElytraFly.
Since Themis can run any command, you can already do that, for example with the DiscordSRV plugin. There's a config example on the Discord.
Version: 0.12.0
Still some false positives, but now using this as a bedrock anticheat! It also needs to cover more hacks-but still, overall a very good anticheat for something that's free!
Using this anticheat as a Bedrock Anticheat, so far works fine with some config changes. Added this to the server because of the bedrock-only config option. In combination with another anticheat for Java it's perfect. Well done!
Was initially fine, but then it started crashing my server by spontaneously causing *massive* lag:
https://imgur.com/a/h3cAhDl Plugin also isn't being updated any more, so I'll be switching to an updated NCP fork.
This anti-cheat has good decent baseline checks, but no BoatFly checks is an absolute deal breaker.
Players are easily exploiting this and going faster than Elytra. This has been exploitable since day 1 and a BoatFly check still hasn't been added. It's been months and enough is enough!
Whenever a proper BoatFly check is added, I will update this review, but unfortunately I can't rely on just this anti-cheat alone.
¡Excelente plugin que bloquea el click rapido en Bedrock!
Se los recomiendo a aquellos que tienen un Servidor CrossPlay
Ademas de haber probado con mi Personal del server, bloquea muy bien los hacks
!Me encanta este plugin! Me gustaria que añadieran la opcion de poder traducir al utilizar comandos de ayuda y que asi tambien pueda poder cambiarle el Prefix al plugin, espero que esa opcion pueda ser añadida, este Plugin tiene muy bien merecido sus 5 estrellas y esta muy bien trabajado.
Perfect Ant Cheat solution for a crossplay server, this deny any type of bedrock fly and fast speed, but i'm still trying to find a way to block the fast click too
Themis is quite incredible. It's doesn't have great performance, but it has pretty good performance. And although it has a small checks list, don't let that fool you, as it's for sure super stable. Themis is very new, and wants to be the best at it's checks and updates, so he has to stay with the current version to give you all a great experience! Thank you Olexorus!
A good anti-cheat, but why don't you support lower versions? This makes me only stay at the 0.8.2 version, I don't get any support, which makes me regret. Just supporting 1.16 is enough, is it okay? (I used a translator
Sorry, I originally planned to support both 1.16 and 1.17, however there were some changes in 1.17 that would've made that a little bit difficult (it would've been possible but a bit ugly). When 1.17 came out there was no reason since I knew I didn't have much time to update Themis anyways, so staying on 0.8.2 made no difference then, and by now 1.17 has been out for ~2 months, any 1.16 server should either have updated already or update very soon in my opinion. There's no reason to stay on 1.16 anymore, you're missing out on new features, you're not gonna get new versions with improvements from Spigot/Paper.
Version: 0.9.0
Really good plugin for 1.17, hope it keeps going, have worked better than any other anti cheat I've used
[10:18:15] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.NullPointerException: Cannot throw exception because "null" is null
at com.gmail.olexorus.themis.o.y(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.U(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.O(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.G7.p(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at com.gmail.olexorus.themis.U9.d(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.U9.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.e.B(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.H.T(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.UD.e(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor122.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1477) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:114) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Pos.handle(ServerboundMovePlayerPacket.java:42) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1407) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1385) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1378) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1261) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[patched_1.17.1.jar:git-Airplane-43]
at java.lang.Thread.run(Thread.java:831) [?:?]
[10:18:15] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.NullPointerException: Cannot throw exception because "null" is null
at com.gmail.olexorus.themis.o.y(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.U(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.O(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.G7.p(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at com.gmail.olexorus.themis.U9.d(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.U9.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.e.B(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.H.T(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.UD.e(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor122.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1477) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:114) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Pos.handle(ServerboundMovePlayerPacket.java:42) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1407) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1385) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1378) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1261) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[patched_1.17.1.jar:git-Airplane-43]
at java.lang.Thread.run(Thread.java:831) [?:?]
[10:18:15] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.NullPointerException: Cannot throw exception because "null" is null
at com.gmail.olexorus.themis.o.y(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.U(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.O(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.G7.p(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at com.gmail.olexorus.themis.U9.d(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.U9.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.e.B(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.H.T(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.UD.e(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor122.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1477) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:114) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$Pos.handle(ServerboundMovePlayerPacket.java:42) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1407) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1385) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1378) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1261) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[patched_1.17.1.jar:git-Airplane-43]
at java.lang.Thread.run(Thread.java:831) [?:?]
[10:18:15] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.NullPointerException: Cannot throw exception because "null" is null
at com.gmail.olexorus.themis.o.y(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.U(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.O(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.G7.p(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at com.gmail.olexorus.themis.U9.d(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.U9.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.e.B(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.H.T(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.UD.e(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor122.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1477) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:114) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot.handle(ServerboundMovePlayerPacket.java:16) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1407) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1385) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1378) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1261) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[patched_1.17.1.jar:git-Airplane-43]
at java.lang.Thread.run(Thread.java:831) [?:?]
[10:18:15] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.NullPointerException: Cannot throw exception because "null" is null
at com.gmail.olexorus.themis.o.y(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.U(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.Ud.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.O(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.G7.p(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor144.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at com.gmail.olexorus.themis.U9.d(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.U9.I(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.iH.E(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.e.B(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.H.T(Unknown Source) ~[?:?]
at com.gmail.olexorus.themis.UD.e(Unknown Source) ~[?:?]
at com.destroystokyo.paper.event.executor.asm.generated.GeneratedEventExecutor122.execute(Unknown Source) ~[?:?]
at org.bukkit.plugin.EventExecutor.lambda$create$1(EventExecutor.java:69) ~[patched_1.17.1.jar:git-Airplane-43]
at co.aikar.timings.TimedEventExecutor.execute(TimedEventExecutor.java:76) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:70) ~[patched_1.17.1.jar:git-Airplane-43]
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:624) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.network.ServerGamePacketListenerImpl.handleMovePlayer(ServerGamePacketListenerImpl.java:1477) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket.handle(ServerboundMovePlayerPacket.java:114) ~[?:?]
at net.minecraft.network.protocol.game.ServerboundMovePlayerPacket$PosRot.handle(ServerboundMovePlayerPacket.java:16) ~[?:?]
at net.minecraft.network.protocol.PacketUtils.lambda$ensureRunningOnSameThread$1(PacketUtils.java:56) ~[?:?]
at net.minecraft.server.TickTask.run(TickTask.java:18) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.doRunTask(BlockableEventLoop.java:149) ~[?:?]
at net.minecraft.util.thread.ReentrantBlockableEventLoop.doRunTask(ReentrantBlockableEventLoop.java:23) ~[?:?]
at net.minecraft.server.MinecraftServer.doRunTask(MinecraftServer.java:1407) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.shouldRun(MinecraftServer.java:190) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.pollTask(BlockableEventLoop.java:122) ~[?:?]
at net.minecraft.server.MinecraftServer.pollTaskInternal(MinecraftServer.java:1385) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.pollTask(MinecraftServer.java:1378) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.util.thread.BlockableEventLoop.managedBlock(BlockableEventLoop.java:132) ~[?:?]
at net.minecraft.server.MinecraftServer.tickServer(MinecraftServer.java:1456) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:1261) ~[patched_1.17.1.jar:git-Airplane-43]
at net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:317) ~[patched_1.17.1.jar:git-Airplane-43]
at java.lang.Thread.run(Thread.java:831) [?:?]
Please join the Discord and report it there, I can't help you here in the reviews section
Version: 0.9.0
Crashes my server randomly with this error message:
[14:03:07] [Server thread/ERROR]: Could not pass event ViolationEvent to Themis v0.9.0
java.lang.ThreadDeath: null
at java.lang.Thread.stop(Thread.java:939) [?:?]
at net.minecraft.server.MinecraftServer.stopServer(MinecraftServer.java:939) ~[patched_1.17.jar:git-Paper-46]
at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServer.java:804) ~[patched_1.17.jar:git-Paper-46]
at net.minecraft.server.MinecraftServer.close(MinecraftServer.java:911) ~[patched_1.17.jar:git-Paper-46]
at org.spigotmc.WatchdogThread.run(WatchdogThread.java:161) ~[patched_1.17.jar:git-Paper-46]
There are no words to express how great this work is. Among all the tested anti-cheats, this was the only one that has already been configured, with no false positives, no console errors, with console warns when a player tries to cheat, no unnecessary auto-bans, and action blocking hacks. Wonderful!, congratulations on the excellent work.
We use this for our server, definitely helps catch all the people who come in with a free client and try something, even if it doesn't catch everything, still helpful for pointing us to the people we need to keep an eye on.
the anticheat is a nice try limiting hacks on 1.17. I really understand how hard is it to make an anticheat in few days for a new version but the anticheat is kinda sloppy and gets bypassed very easily with several clients. boat fly & elytra fly still work perfectly and sometimes when the tps is low, fly & timer works as well as a result the server laggs a lot from chunk loading. also needs some work on irregural movement and packet checks. Also the speed checks on legit players are insanely wrong
Please read the plugin page, neither boat fly nor elytra fly are supported yet, that's not a bug or bypass, it's simply a feature I didn't have time to implement yet, and I don't advertise anything else on the plugin page.
Version: 0.9.0
The developer is active, friendly and approachable, this plugin is responsible for a lot of exploiter banned on my server, 10/10 would recommend to anyone, cheers.
Olex stop pasting. Olex stop pasting. Olex stop pasting
I have bypasses for most of the checks in this bad af anticheat and it seems to be pasted as well. Gg.
Really recommend this plugin. This is the best plugin for movement hacks I have ever seen. This even works better than few paid plugins. We are using this in our server, Ragnarok - play.ragnarockmc.in I would really suggest everyone to join the survival of Ragnarok and test the plugin yourself.
Seems like someone doesn't know how to install a plugin...
It's interesting that (as of 31st May) all the other reviews are 24x 5-star and 2x 4-star, so for some reason Themis seems to work pretty well for everyone, except for you. So of course it's Themis' fault ;)
And about combat checks, yeah I clearly list on the plugin page what Themis currently can and cannot do. Your argument is like downloading a lobby plugin and then complaining that it doesn't contain minigames.
Version: 0.8.2
good complement i use it in my server OwO
good pl!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
this plugin is awesome and freeee... you dont need to touch any other thresholds the default one is insane as well.. i dont have an idea for a nice lobby server with jumppads threshold setting.. but i boost the threshold to almost 300 for my lobby server.. normal pvp servers dont need that high thresholds. its an awesoem plugin u should pick money for it.
Honestly for free, what more could you want? with bedrock support? amazing anti-cheat with a dev who listens and fixes issues quickly. was running wac for so long that I knew themis would be a solid upgrade. would recommend it to anyone without hesitation!
One of the best anticheats out there. I am switching from matrix premium. When I first installed this anticheat I was surprised. Sure it does not yet have all the blocks that other anticheats have. But the things that it can do it does the best! The response time on checks is almost instant, it is really light, and there were no false checks as far as I saw.
It is just the best!
Outstanding anticheat, virtually zero false positives for the checks it provides, 100% recommended. Absolutely zero competition for Geyser compatible anticheats, there is no comparison.
Really good Anticheat, it got a feature-rich API, the developer is responding to feature-requests and questions fast, if the question wasn't already asnwered by the community.
False positives on:
Lagging and flying with an elytra
Placing blocks while lagging in world-claimed zones, such as world guard claims.
overall, still pretty good.
Please keep improving!
Thanks for the review, and yeah I agree there definitely should be a help command, in fact I already added it a while ago, but for some reason it seems to be broken in 0.8.1, I'll fix that in the next update! In the future please report bugs on the Discord instead of the reviews please.
Version: 0.8.0
Not the most feature rich anticheat, but from my testing and experience, it does a very good job at detecting movement hacks.
Very nice plugin, can you please block these cheats in the future? thanks:
- MultiAura
- KillAura
- TP-Aura
- ClickAura
- AntiKnockback / AntiVelocity
and everything that's for combat.
Thanks for the review, I do plan to add combat checks in the future, but I'm currently less active because of university so it might take a while. Also Themis' focus will likely always stay on movement hacks.
Version: 0.7.0
REALLY good anticheat. I used WAC for months, and it was decent. Now i use Themis and cheaters get detected 3x faster than WAC, and the pillaring flight bug is fixed!
I reccomend using it togheder with the latest version of WAC so it has killaura checks from wac.
THE Anticheat for geyser enabled servers. Works very good, no false positives yet for java players. The very low amount of false positives for bedrock edition is the highlight of this anticheat. Not just that its FREE! Thank you for making this
Wow. Let me just say how awesome Themis is. If you care about actually having Bedrock checks and making sure your mobile players don't cheat, this is the anticheat for you! Themis is a one of a kind anticheat out there that actually focuses on Bedrock edition cheats, nothing out there is like it!