Themis Anti Cheat

一款免费的防作弊插件,支持基岩版,注重准确性、效率和简洁性。

资源图片
一个允许玩家控制生物生成的Spigot插件。 **This plugin only works on Minecraft versions 1.17.0 - 1.21.8** **For Bedrock support you need to install the Bukkit/Spigot version of [Floodgate](https://geysermc.org/wiki/floodgate/) (both 1.0 and 2.0 are supported)!** **If there are any issues, instead of leaving a bad review please join the [Discord](https://discord.gg/2tzKFDJ2wW) so that we can help you!** ![Overview Banner](https://cdn.modrinth.com/data/cached_images/e5dfe66133e2d969162222624fda222f72effdad_0.webp) Themis是一个以准确性、效率和简洁性为重点的反作弊插件。 I highly recommend joining the [Discord server](https://discord.gg/2tzKFDJ2wW) to stay up to date and get support. Themis支持Spigot和Paper。其他分支可能也适用,但我无法保证。 Also Themis has real Bedrock/Geyser support! By "real" I mean that it actually performs proper checks on Bedrock players. Some other anti cheats simply exclude Bedrock players from the checks, which means that they can fully bypass the anti cheat. With Themis this is not the case! Note that supporting Bedrock is more difficult than Java since it's a completely different codebase and Geyser has bugs that cause random weird behaviour (Geyser is an absolutely amazing piece of software though!), so there will be false positives. Please report them on Discord to help me fix them! Themis具有灵活的配置,允许您配置任意数量的操作,这些操作可以由任意数量的命令组成,这些命令应该运行。对于每个操作,您可以定义运行所需的最低分数,以及再次运行的分数和时间延迟。所有这些都可以针对每个检查单独配置。您可以在下面的配置部分找到配置。 Themis目前专注于移动作弊,但未来将扩展并检测更多作弊行为。 The plugin [Anti Cheat Replay](https://modrinth.com/plugin/acreplay) supports Themis and can be used to record players when getting punished by Themis so that the recordings can be reviewed and used as evidence later. ![Blocked Hacks Banner](https://cdn.modrinth.com/data/cached_images/b4310313cef3096c08d9145dce25a6792e4dbe42_0.webp) - BHop Speed - Blink - Boat Fly - Boat Speed - Climb / Spider - Elytra Fly - Fly - Jetpack - KillAura if it uses increased Reach - NoFall - OnGround Speed - Reach - Step - Timer - Vanilla Speed - WaterWalk / Jesus Note that this list is not complete. Some checks can catch hacks they weren't even designed for, and some hacks can have many different names in different hack clients, so even if a hack is not on this list, there's a chance it's blocked anyways, especially if it's similar to the ones listed. ![Performance Banner](https://cdn.modrinth.com/data/cached_images/4ed4559239ccdb36d08a0092e075802cf796c5ea_0.webp) Themis不仅承诺效率,而且实现了它。这是一个关于服务器运行Themis 0.8.1一小时的计时报告,所有检查都已启用且大约有15名玩家在线。 ![Themis Timings Screenshot](https://cdn.modrinth.com/data/cached_images/fd8676475f3ee01f24eba6a01e64e0a82309dbe8.png) 它显示平均而言,Themis使用Tick的0.23%,这约为每个玩家0.015%。当然,这个数字会发生变化,具体取决于您的服务器硬件和设置(插件、游戏模式、...)。 For comparison, as of writing this (13th April 2021), AAC has a similar statistic on its plugin page where it uses 3.92% for 140-150 players which is about 0.026% to 0.028% per player, so Themis is almost twice as fast. (Note that this is not at all a fair comparison since AAC has a lot more features than Themis! I didn't put this here to say Themis is better, I just think the statistic alone will be meaningless to most people, so I wanted some reference point, and I chose AAC because it's a well optimized anti cheat, it's widely known and it has a similar statistic on its plugin page.) If you notice any mistakes in these calculations please let me know! ![Installation Banner](https://cdn.modrinth.com/data/cached_images/f5393986fd2d09b5a60e439599828f7eaf51fd3a_0.webp) To install Themis, please carefully follow these steps: - Make sure you're running version 1.17.X, 1.18.X or 1.19.X, 1.20.X or 1.21.X of Spigot or Paper. Other forks will probably work too, but I don't guarantee it. - Download the Themis .jar file from this page and drop it in your plugins directory. (You don't need ProtocolLib anymore, starting with version 0.17.0) - *Only if your server allows Bedrock players:* Install Floodgate to allow Themis to check if a player is using Bedrock and to adjust the checks accordingly (both 1.0 and 2.0 are supported). Note that you need the Bukkit version installed on every server where Themis is running, the Bungee version is not enough! If you're using Bungee, you need to set the `send-floodgate-data` option in the Bungee Floodgate option, otherwise the Floodgate API won't work. It is also highly recommended to enable `forward-player-ping` in the Geyser config, otherwise Themis will not be able to measure the ping of Bedrock players. - Now restart the server, to make it load all the changes. Run /themis to check if the installation worked. If it didn't, please check the troubleshooting section below. - Only if your server allows Bedrock players: Run `/themis info [PlayerName]` on a Bedrock player and make sure Themis correctly reports it as a Bedrock player, otherwise something with your Floodgate setup is wrong. If not, make sure you enabled the `send-floodgate-data` like mentioned above and join the Discord server for assistance. ![Troubleshooting Banner](https://cdn.modrinth.com/data/cached_images/f3e98cdb5a4071d12fc86f4c5f0c1ecb6d2a146c_0.webp) **Problem: Themis isn’t working** \ If you installed Themis, but it didn’t work, please try running `/themis` to see if Themis is running. Note that you need the `themis.command.info` permission, by default everyone has it but your permission plugin might be disabling it. **If it worked:** This means that Themis was loaded and is running correctly. If you're not getting any detections, first please check the "Blocked Hacks" section below make sure that the hack your testing is supported by Themis. If it is, it might not show up because you have the bypass permission. This is disabled by default (even for ops), but you might get it from your permissions plugin, e.g. if you have * perms. If you have LuckPerms, you can use `/lp user [Username] permission check themis.bypass` to see if you have the permission, other permission plugins probably offer similar commands. If you're sure that Themis is running and that you don't have the bypass permission, but you're still not getting any detections, please join the Discord for assistance. **If it didn’t work:** This means that something went wrong while loading Themis. Try running /pl and see if Themis shows up. - **If it doesn’t show up**, it probably means that you didn’t place the .jar file in the right directory, or you didn’t restart the server after doing so. Make sure the .jar file is in the plugins directory and restart the server. If this doesn’t help, please join the Discord for more information. - **If it shows up in red**, this most likely means that you’re not on a supported Minecraft version. If this isn't the problem, please check the logs for more information and join the Discord for assistance. When asking for support on Discord because something is not working, please directly include the log file. It contains a lot of helpful information and will make helping you easier and faster! **Problem: Bedrock players are getting flagged** \ Run /themis info [player name]" on a Bedrock player and check if Themis correctly detects them as a Bedrock player. If not that means you don't have Floodgate set up correctly. This is not a Themis issue! Often this can be solved by changing the "send-floodgate-data" in the Bungee/Velocity Floodgate config to true. **Problem: Bedrock players always have 0 ping** \ You need to enable the `forward-player-ping` option in the Geyser config. ![Config Banner](https://cdn.modrinth.com/data/cached_images/3f29f8dd126c34bca8999322313ffef8250ca753_0.webp) As of version 0.14.0, this is the default config:
Default Config ``` ---------------------------------------------------------------------------------------------------- # 欢迎来到 Themis 配置文件! # # 此配置文件是由 Themis 版本 0.14.0 生成的 # --> 如果你使用的 Themis 版本较新,你应该查看更新日志,看看你的配置文件是否需要更新。 # 如果你想更新你的配置文件,你可以手动更改它,或者重命名此文件,这将导致在下次服务器重启时生成一个最新版本。 # # 重要:此配置文件允许你配置每个检查的任意数量的操作,这些操作由任意数量的命令组成,这些命令应该运行。 # 对于每个操作,你可以定义运行所需的最低分数,以及再次运行的分数和时间延迟。 # 所有这些都可以针对每个检查单独配置。你可以在下面的配置部分找到配置。 # 例如,如果你想禁用 tickrate 检查,你可以通过添加它来覆盖“default”设置: # ---------- # tickrate: <-- 这应该已经在配置中了,如果它仍然存在,请删除后面的 {} # enable: false <-- 这是你需要添加的内容 # ---------- # # 所有值要么是布尔值 (true / false),要么是双精度浮点数 (1.0, 2.5, -123.456, ...)。 # 所有时间值都以秒为单位。 # # 如果你有任何问题、问题或只是想及时了解最新情况,你可以加入 Themis Discord: # https://discord.gg/jjkR2EU # 但是在提出问题之前,请仔细阅读此处的所有内容,这只需要几分钟,并且会回答很多问题。 # 我们很乐意在 Discord 上帮助你,但我们经常会收到重复出现的问题,即使它们已经在此处回答。 # ---------------------------------------------------------------------------------------------------- # 这些是用于所有未明确在下面覆盖的检查的默认值 default: # 检查是否启用? enable: true # Themis 是否应该阻止黑客(例如,通过将玩家拉回)? block: true # Themis 应该在哪个分数开始阻止黑客? block-threshold: 10.0 # Themis 允许你配置可以运行任意数量命令的任意数量的操作。 # 你可以指定在何时运行每个操作。请参阅下方的“notify”操作以获取详细示例: actions: # 操作的名称是什么?这个名称必须是唯一的。 notify: # Themis 运行此操作所需的最低分数是多少? execution-threshold: 10.0 # 需要发生多少新的违规行为才能重复此操作? repetition-threshold: 5.0 # 需要经过多少时间才能重复此操作? repetition-delay: 10.0 # 应该运行哪些命令?你可以指定任意数量,这些命令将按照列出的顺序运行。 # 目前,你可以使用以下占位符:%player_name%、%detection_type%、%score%、%ping%、%tps% commands: - "themis notify §5[Themis] §4%player_name% §c被标记为 §4%detection_type% §c作弊行为!\n§c[分数:§4%score% §c | 延迟:§4%ping% §c | TPS:§4%tps%§c]" # 是否应该仅检查 Bedrock Edition 玩家并忽略 Java Edition 玩家? bedrock-only: false # Themis 应该检查多大的最大 ping 范围内的玩家?Themis 不会检查 ping 值超过此值的玩家。 # 警告:黑客客户端可以伪造高延迟,请谨慎使用此设置! # 设置为 -1.0 始终检查 max-ping: -1.0 # Themis 应该在服务器的 TPS 低于此值时执行检查吗? # 设置为 -1.0 始终检查 min-tps: -1.0 # 违规行为应该在多长时间后过期? # 设置为 -1.0 禁用此功能,并在服务器重启之前存储违规行为 violation-expiration: 900.0 # 注意:如果以下部分为空,没问题。请参阅配置文件的顶部第三段以获取解释。 # {} 标记表示一个空的部分,添加设置时需要删除它。 # 此处检查船上的移动 # Ingame name: Boat Movement # Hacks that can trigger this: BoatFly, BoatSpeed, ... boat_movement: {} # 此处检查使用 Elytra 飞行时的移动 # Ingame name: Elytra Flight # Hacks that can trigger this: Elytra+, Extra Elytra, ... elytra_flight: {} # 此处检查水平移动(沿 x 轴和 z 轴)。 # Ingame name: Speed # Hacks that can trigger this: 所有类型的 Speed, Fly, ... horizontal_movement: {} # 此处检查某些不可能的包 # Ingame name: Illegal Packets # Hacks that can trigger this: Fly(例如,在 Aristois 或 Inertia 中),... illegal_packets: {} # 此处检查用于许多移动黑客的某种非法数据包类型。 # Ingame name: Spoofed Packets # Hacks that can trigger this: NoFall、WaterWalk/Jesus、一些 Fly 和 Speed 黑客,... packet_spoof: {} # 此处检查玩家是否能够击中比他们应该能够击中的实体更远。 # Ingame name: Read # Hacks that can trigger this: Reach、KillAura reach: {} # 此检查检测客户端是否加快时间,这意味着它可以例如更快地移动。 # Ingame name: Timer / Blink # Hacks that can trigger this: Timer、Blink, ... tickrate: {} # 此处检查垂直移动(沿 y 轴)。 # Ingame name: Flight / Y-Movement # Hacks that can trigger this: Fly、Glide、Jetpack、HighJump、Step、一些 Speed 模式,... vertical_movement: {} ```
![Commands Banner](https://cdn.modrinth.com/data/cached_images/3d8ac026a5af63c54724341c9f801f6595e90e21_0.webp) **/themis** \ 显示 Themis 是否正在运行以及安装了哪个版本 **/themis help** \ 列出 Themis 命令及其描述 **/themis info <玩家名称>** \ 显示玩家的违规分数和其他信息 **/themis notifications [on|off]** \ 切换或显示通知设置 **/themis notify <消息>** \ 发送反作弊通知给拥有 themis.notify 权限的每个人,此命令用于配置文件,而不是直接在游戏中使用 **/themis reload** \ 重新加载配置以使更改生效 ![Permissions Banner](https://cdn.modrinth.com/data/cached_images/e9ac553230ff43ab9bbbe4c2b82e7fecd5ee8cce_0.webp) **themis.bypass** \ 绕过 Themis 的所有检查 \ 默认:false **themis.bypass.[checkName]** \ 绕过 Themis 的特定检查,将 [checkName] 替换为检查的名称(使用配置中的名称,例如 themis.bypass.vertical_movement 以绕过 fly 检查)\ 默认:false **themis.silent** \ 使 Themis 检查静默,即它们不会阻止作弊 \ 默认:false **themis.silent.[checkName]** \ 使 Themis 的特定检查静默,即它们不会阻止作弊,将 [checkName] 替换为检查的名称(使用配置中的名称,例如 `themis.bypass.vertical_movement` 用于 fly 检查)\ 默认:false **themis.notifications** \ 描述:接收检测通知 \ 默认:op **themis.technical** \ 描述:接收技术通知,例如关于更新或检测到的问题 \ 默认:op **themis.command.base** \ 描述:使用 /themis 查看 Themis 是否正在运行以及安装了哪个版本 \ 默认:true **themis.command.help** \ 使用 /themis help \ 默认:true **themis.command.info** \ 使用 /themis info \ 默认:op **themis.command.notify** \ 描述:使用 /themis notify \ 默认:false **themis.command.reload** \ 描述:使用 /themis reload 重新加载配置文件 \ 默认:op