X-Ray Detective
Summary
A web-based tool that analyzes the mining behavior of users to detect users using X-Ray hacks. Detects both hacked clients and x-ray texture packs.
X-Ray Detective interfaces with your existing database logs to improve performance.
This is NOT a JAR server plugin. (See Requirements Below) This is currently a web interface only . A non web server JAR version may eventually be released at a later time... maybe. =)
Requirements
- Log-Block OR
HawkEyeORGuardian- (Guardian & HawkEye Not Yet Supported) [ Vote for other database type support on our Poll ] - MySQL Server - Flatfile will not be supported for performance reasons
- PHP Capable Web Server (PHP 5.3.0 or greater)
Features
- Database Integration - Does NOT modify chunks (Like Orebfuscator), requiring significantly less resources. Does NOT modify your LogBlock database. Stores all statistics in it's own table so you're not constantly scanning the entire LogBlock database.
- Automatic User Authentication - Use in-game usernames to authenticate. When a user logs into your server, they are automatically authenticated on the web script as well. All you have to do is make a list of which users can access the script.
- Password Based Authentication - Instead of username based authentication, this option allows anyone to login if they have the correct password.
- Multi-World Support - Each world has its own statistics
User Notes - Keep track of who is banned, jailed, warned, suspended. Automatically hide banned users from lists.MCBans Evidence Page - Allow guests access to only the page that shows the evidence for their crimes- Simple Interface - Display only the information that is important to you. List the users with the highest ore/stone ratios, hide users until they have broken enough blocks for accurate statistics,
hide/show banned users, etc. Users who are new to your server are also marked so you can focus on who is most likely to be cheating. Customizable Sensitivity Settings - Increase or decrease the sensitivity settings for flagging users as X-Rayers.
Sample of Web Interface
User Summaries
How It Works
X-Ray Detective interfaces with Log Block or Guardian to analyze the behavior of users. Users using hacked clients and other exploits exhibit different behavior than regular users, so they can be discovered by use of statistical analysis.
X-Ray Detective looks for the following patterns:
Simple Patterns
- Ratio of ores to stone - The average user may find a diamond once out of every 300 blocks mined. A very lucky user may find a diamond once out of every 200 blocks. However, a user with X-Ray may consistently find diamonds in 1 out of every 30 blocks mined. Some X-Rayers even discover diamonds in 1 in 10 blocks! This is 10 to 30 times the average rate!
Complex Patterns (Coming soon!)
- Steep Incline Before Ores - Normal users generally mine on a flat level. They do not move up or down much while mining. X-Rayers mine directly to the nearest ores, which are rarely at the same depth as the user, so they dig diagonally towards ores.
- Only Mining Exposed Ores - Users who use an X-Ray texture pack will have very high incidence of mining ores that are already exposed in natural caverns. They cannot see the ores hidden behind stone, but they can see exposed ores.
- Not Mining After Finding Ores - Does the user stop mining immediately after discovering ores? This may indicate they know they have already mined all nearby ores.
Mining Without Torches- Mining without torches sometimes indicates that a user is using a client hacked with a fullbright mod to see in the dark. They may also be using other mods as well. Obviously, this alone does not indicate cheating (they may just have their Gamma turned up), but some admins find this information useful.Covering Tracks- Sometimes X-Rayers will try to cover their tracks from snooping admin by filling their mine tunnel with dirt or stone.
Get Involved
If you are interested in testing the script, check out the Downloads page.
We assume that you already have LogBlock fully configured and running smoothly with MySQL (not flatfile), and a functional webserver with PHP.
Although X-Ray Detective NEVER modifies the contents of the LogBlock database, you may be required to reset / delete the statistics X-Ray Detector collects over time. The statistics can be easily regenerated. This will occur if we make significant changes to the database structure.
Also, you might occasionally have to re-edit your config files when we add new options. We don't currently have an automatic config-file upgrader implemented.
Support
If you have any problems with X-Ray Detective, create a Ticket on the Issues Tracker.
I will do my best to respond in a timely manner.
Known Issues
- Single Player Stats Page - Not yet working - This page includes the advanced statistics
- Global Stats Averages - Not yet implemented
- Blank xray.php - Make sure you're using the latest version. If your xray.php page is blank, set "display_errors" to "on" in your php.ini configuration file. An error is occurring before anything can be displayed. Turning this setting on will provide information on what error is halting the script.
Does this still work and does it work with core protect?
Hi,
I have a question and it might be a stupid one but what does the second column "stones" indicate? Is this the total blocks mined or the total amount of just stone mined?
Cheers
Jade
I would love to see this in action!
When are you planning on going on with this project? i really would love to see this finished!
@arriej
'from holland'? lol faalhaas
Please add support for core protect. It is the only thing stopping me from use this plugin again. I was using it when I was using log block, but switched.
How long will it take till you add the feature that you can put a check on people that they are banned, That will clean up my list.
hope its soon. Thanks.
@RedPoptarts
Waiting on a new version to test; I like where this is going :)
I have released a new dev version of the script! If you are having problems, this version may fix them. If you are not having problems, it may cause new ones (yay)! Download at your own risk. (Use the 'Dev Build' link on the Downloads page)
This is NOT an official release, just a preview version of features for people who want to try out some new stuff.
Here are the new features that the latest dev version includes:
The fancy 'Refresh Stats' button was causing problems, and preventing me from releasing this sooner, so I decided to remove it until it's working more smoothly. Expect it in a future version.
Please submit a bug report if you experience any issues with the new version.
If anyone has a CoreProtect database, if you could please upload it somewhere and send me the link, I'd like to investigate the data schema to see how it compares to other security tools. Also, I can start planning for how I can integrate it into future builds. (not the upcoming dev build)
Got a couple minor things to fix/add before the Dev Build can be released. Got the hard work out of the way now.
The dev build should include the following changes:
I agree, Hawkeye is the best block logger by far. Awesome Project, cant wait for HE release! I will donate when that happens.
Sooo, how's it coming? :)
Hopefully I'll be a getting a new dev build out soon, within a week or two. It should have deeper behavior analysis for mining and a better UI. However, I don't plan on releasing player-specific notes (jailed, always hide, banned, etc) until the next release.
Once I get the core features I set out to create, I can work on adapting the script to work for additional logging tools (hopefully HawkEye and CoreProtect)
@oostcoast
This ia not working for me. Since i ru this script on my webserver and not on my minecraft VPS.
@arriej
Would be possible through RCON, to run a command in the console, its built into vanilla since a few builds
i downloaded it and everything seems to be fine, but the percentages and colors for each players mining ratio aren't showing. the statistics all seem to be there but all percentages remain 0.0%
This looks pretty awesome, can't wait for an updated release!
@redundantgaming
This is not a server plugjn. So it would not make any sence to run commands.
Can you add a option to where it'll run certain commands on players if it determines there xraying? this would be really helpful for the times when admins and staff are offline (ex:plugin runs the command "/jail @Player" thus stopping the Xrayer until staff gets on)