Anti Xray Heuristics

 Anti Xray Heuristics 1.3.10

Anti Xray Heuristics
Native Minecraft Version:1.16Tested Minecraft Versions:
  • 1.8
  • 1.9
  • 1.10
  • 1.11
  • 1.12
  • 1.13
  • 1.14
  • 1.15
  • 1.16
Source Code:https://github.com/Mangonels/AntiXrayHeuristics/Contributors:__Mithrandir__Languages Supported:Self translatable (Through locale.yml)Donation Link:https://www.paypal.com/cgi-bin/webs...=PP-DonationsBF:btn_donateCC_LG.gif:NonHosted

AXHTextLogo.png


As per petition of various users, this plugin has gone open source. Link above.

Anti Xray Heuristics is an heuristically based plugin designed to catch and (if wanted) punish cases of mining cheaters (xrays being the vastly main way of cheating in these situations).
AXH has proven efficiency in detecting these cases by tracking various heuristics including HOW the players are mining in order to determine if they are mine-cheating or not.
This plugin focuses on mine-cheat detection ONLY. Thus no checks for stopping other hacks are, or will be provided. This specialization facilitates the plugin's aim to become the ultimate lightweight/drag and drop mine-cheating solution.

I've seen all of the alternatives Spigot/MCMarket have to offer, including those offered in classic antihacks with more checks, + spigot/paper's oreobfuscating engine modes, and I feel bold enough to say that this is the current optimal solution which won't lag your server and/or consume excessive resources, and also won't cause visual glitches like oreobfuscator, but rather track through heuristics, and punish if desired, just like a 24/7 moderator would do for you.

If you find anything better (1.13 to 1.16) let me know. -@Mithrandir - AXH author.


The mining session in the showcase example lasted around 12 minutes (sped up in video) until AXH detected me.

I got caught after mining 17 diamonds, and I wasn't even mining excessively straight towards them, or too fast (I was lazy, xrayers get lazy too).

In my case, I decided I only wanted the plugin to confiscate my inventory for mine-cheating. However, you can add whatever consequences you like.

On my main server I confiscate, send to spawn (through commands), and then ban for 5 minutes with an "uninstall xrays" message as reason. If you want the config for that, here it is:
Spoiler

Important disclaimers
Spoiler

TitleBar_Features.png

• Detect, block and/or punish players who are cheating in order to find ores easyer.
• The configurable command executions make it easyer for you to determine exactly what should happen to xrayers and when, however it's up to you to depend on other plugins for such actions.
• Choose which worlds you want the plugin to track in.
• Automatically punish xrayers if desired through configurable options (such as inventory confiscation) and automatic custom commands.
• Optionally warn staff about an xrayer when detected.
• Xrayer Vault GUI - View caught xrayers by head, name, date, and number of times detected. You can also view their confiscated inventory if you choose to activate the auto-confiscations. The vault also shows basic information about xrayers, and the detection location is also teleportable to by clicking the xrayer's head on inventory inspection.
• Extremely few false positives. However, in the unlikely situation where a false positive where to occur, a confiscated inventory rollback can be dispatched thanks to the Xrayer Vault GUI & commands.
• Two available persistent memory storage methods: MySQL & JSON.
• Translatable to your own language through locale.yml

TitleBar_WhyPurchaseAXH.png

• More features, but still lightweight: The core routines and checks this AntiXray executes will always be really efficient and represent very low resource usage for your server, while providing extra control over xrayer missbehaviour through many features other antixrays lack. This antixray is definetly more full circle than any other while being just as lightweight or more.
• You and your staff won't have to be chasing after xrayers manually, or consulting the stats and warnings provided by other antixray resource solutions. This plugin will hunt the xrayers for you, by finding them, automatically punishing them, notifying you and your staff exactly when it happens, and finally letting you decide any corrections or further actions whenever you want thanks to the GUI.
And all this is happening even while you are sleeping.
• No stupid false positives other antixrays present in situations such as mining with silk touch, farming xp from ore nodes, and using explosives.
• No dependencies: This plugin doesn't, and will never depend on any other plugins.
• Drag and drop: The configurations you need to apply are minimal, however you have a fair (and above average) amount of control and customization through the configuration available.
Technically the bare minimum you need to do is not forget to choose which worlds you want AXH to monitor, in config.yml (default "world" & "world_nether").

TitleBar_Installation.png

This plugin currently has no Bungeecord functionality. The need for it is up for debate, thus it must currently be installed per-server:

1. Stop your server.
2. Click the "Download now" button top right on this page.
3. Locate the downloaded jar and place it inside your server's /plugins file.
4. Start the server.
5. Open /plugins/AntiXrayHeuristics/ , here you should see: config.yml, xrayers.json & locale.yml
6. Configure the plugin as you wish, however, the bare minimum you must do in order to get it to work should be to edit TrackWorlds in config.yml by adding the worlds you wish AXH to monitor, onto the list. Further tweaking may be necessary in order to get the plugin to work properly on older versions, such as disabling heads from being displayed in GUI on mc versions 1.12 and lower...
7. Once you have finished configuring, reload the plugin's configurations with /axh reload, or restart the server (recommended).

If you wish to change the persistent memory storage method, stop the server again, and change the StorageType in config.yml. If you are not using JSON, you can delete the xrayers.json file which is generated by default the first time you install the plugin.

TitleBar_Commands.png

You can see all of these commands ingame with /help AntiXrayHeuristics
/AntiXrayHeuristics
- Is the base command prefix, does nothing on it's own. (Abreviation: /axh)
/AntiXrayHeuristics reload
Will reload plugin configuration and reset all tracked heuristics.
Restarting the whole server is always more recommended than using
the reload command.
/AntiXrayHeuristics ResetSuspicion [player]
Will reset a player's internal suspicion level value back to 0
Suspicion is an internal heuristically influenced value used by AXH. This
command may come in handy in some situation where you think
someone is going to trigger the plugin's xray check, but you don't want
that to happen. (I personally think this command will rarely be used,
since the real suspicion value currently cannot be displayed by any
means by the plugin, but it's still available.)
/AntiXrayHeuristics Vault
Will show a gui with all the players detected for xrays.
You can hover over the heads to get information.
You can click on the player heads to view their confiscated items (full
inventory).
/AntiXrayHeuristics Absolve <player>
Removes xrayer from xrayer vault and restores inventory.
/AntiXrayHeuristics Purge <player>
Removes xrayer from xrayer vault.
/AntiXrayHeuristics Xrayer <player>
Declares a player as xrayer, consequently applying same
consequences as though he'd been automatically handled.

TitleBar_Permissions.png

AXH.Ignore
Will ignore a player from being tracked
AXH.XrayerWarning
Warns players with this permission about a detected xrayer
AXH.Commands.ResetSuspicion
Allows for reset suspicion command usage.
AXH.Commands.Vault
Allows for xray vault inspection. This consequently allows to refresh the vault by pressing the refresh button.
AXH.Vault.Purge
Allows for purging the entire vault. Basically purging all xrayer data.
AXH.Commands.PurgePlayer
Allows for usage of the player purging command, and purging players
through XrayerVault GUI
AXH.Commands.AbsolvePlayer
Allows for usage of the player absolving command, and absolving
players through XrayerVault GUI
AXH.Commands.Xrayer
Allows for usage of the xrayer declaring command

FAQ
• What happens with vault and inventory confiscation if xrayer is detected more than once?: Only one inventory is stored, following inventories after the first will not be stored.
• Why would I use this instead of Paper/Spigot's oreobfuscator, or some oreobfuscator plugin?: It depends on your server design and/or philosofy. I made this plugin because I didn't want to bear the weight of plugins that stop xrays (in mining situations) completely at the cost of massive resource consumption, while Paper has done some interesting advancements in performance, it's still not good enough in my oppinion. My server values it's economy, and AXH already does a good job at stabilizing that economy, by placing an invisible cord for xrayers to trip on, at practically no performance or resource cost.
• Does the fact that this plugin uses persistent memory make it less efficient?: No. The core monitoring functionalities of this plugin which are always running are extremely lightweight by design, relying mainly on block breaking events. Accessing memory is a rare, and optimized action which shouldn't affect your server's performance.
• What do you mean by "heuristically based"?: I simply mean that the plugin takes into account diferent variables the values of which change depending on player behaviour. These variables later determine if a player is xraying.
• Why is the plugin .jar larger than other antixray solutions?: The jar size for any plugin shouldn't really worry you. What should worry you is how it's internally built, and how intensive running that code is going to be. In AXH's case, 90% of the file size is due to code related to the GUI, and persistent memory handling, which is executed much less frequently than the main algorithms and routines.
• What do you mean by "mine-cheating", couldn't we just call it xrays?: It has come to my attention that there are other means of unfairly finding ores while mining, that aren't necesarily xrays.
For example, one could use a world-downloading mod in order to download the server world, and then open this world locally in order to bypass other measures admins may have set on the server such as ore hiding or obfuscation.
This plugin covers any other method such as the example one that the player may resort to in order to find ores by cheating, since it focuses on analyzing what the player is doing.

Developers API:
Spoiler

TO DO (next/short term):
- 1.17 support and more flexibility with diverse terrain generations (specially diferences between pre 1.17 and post 1.17).
- Improve core heuristically based algorithms so the detection is faster and less prone to false positives.
- Fix API issues.
- Optional ore mining notifications and logging.

TO DO (long term):
- Preserving some internal AXH buffered data which gets lost when servers restart, (I'd probably do this using JSON).
- Optional SSL configurations for SQL.
- Damage rollback: Optionally rollback any damage caused by the xrayer to the world, including the regeneration of mined ores.

---

Report an issue / request a feature / ask a question
• Issues: Will only be taken care of here: https://github.com/Mangonels/AntiXrayHeuristics/issues
• Requests: On the same link, or discussion section (wherever you think I'll get to them faster).
• Questions: On the same link, PM, or discussion section (wherever you think I'll get to them faster).

I speak Spanish and English.

Do not use any other method in order to contact me unless the contact inquiry is not included in any of these 3 previous cases.

Specially do not use the review section for reporting issues without having used the appropriate channel first.

Special thanks
To @sgdc3 from AuthmeReloaded, for supervising this project.
And everyone who purchased this resource
:)


TERMS OF SERVICE
1. You will not decompile this resource (plugin).
2. You will not sell, give, or -Redacted- this resource.
3. You will not claim this resource as anyone else's, including your own.
4. The developer is not responsible for any damage this resource might cause. Whoever uses this plugin will also first test it on a safe environment in order to verify it's propper functionality, and report any issues to the developer.
5. No guarantee - this software is provided AS IS, without any guarantee on its functionality.
6. Support for the product's usage or malfunctions is not guaranteed, however the developer will do his best to ensure indefinetly continued support.
7. The continued maintainance of this resource is not guaranteed, however the developer will do his best to ensure the maintainance's indefinete continuation.
8. The addition, subtraction, and/or modification of features present in this resource, are entirely up to the plugin's developer to ultiamtely decide.
9. By purchasing this resource, you will have access and right to download and use all resource builds which are uploaded to this platform (Spigot).
10. Refunds may only be accepted in cases where the purchased product does not meet the description on this page, and up to one week after purchase. However, it is up to the developer to determine if the conditions for refunding are met, and ultimately his decision to confirm a refund. The buyer also accepts that it's his responsability to fully read and understand the resource's description available on this same page.
11. I reserve the right to change these Terms at any time, and you agree to abide by the most recent version of these terms.

Similar resources

A set of heuristics designed to stop and or punish Xray usage
5.00 star(s) 3 ratings
Downloads
420
Updated
Anti Xray Heuristics [1.13, 1.14, 1.15] K
A set of heuristics designed to stop and or punish Xray usage
5.00 star(s) 2 ratings
Downloads
207
Updated
27 HCF PLUGINS [W/ Anti-Cheat] ChibeMeliodas
5.00 star(s) 1 ratings
Downloads
848
Updated
BlackSpigot General Chat
Rules Help Users
    BlackSpigot.com @ BlackSpigot.com: @BlackSpigot.com send pv I have responded
    Top