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.
this looks cool, can't wait for it to come out.
@RedPoptarts
Not a bad idea :)
@LovingMc
I suppose we could always make it skinnable. Then people can choose their own theme, and it would carry over from version to version.
This was my initial attempt
@haalbal
Ohhhh your a super admin ^_^ cmon all the ppl who goes here has a server of there own
Do you need beta testers? I'm an Super admin on a server. And we would like to test this plugin out for you.
@LovingMc
The interface isn't finished yet, but that doesn't mean there isn't still room for improvement on making it look cleaner.
After I revamp the pages with jQuery it should look much better. My initial attempts are looking pretty good.
Perhaps you'll have some good suggestions / additions to make after the initial release. =)
Hello, I really like you idea and would love to use it on release.
However, I don't like the web interface. Kinda' reminds me of the 80's :P I'm a web designer by trade and would love to help you on the design side. Contact me through PM if you want :)
@XeonG8
That's an interesting idea for the player skin, I didn't know LogBlock Stats did that, that sounds cool. I'll put it on the list of potential features (after the core features are working nicely).
As for a guest page for top stats, I've got a guest rank planned, and in addition I think I will allow admins to customize which pages each authentication level has access to.
I have never worked with php before. I use enjin.com for my web-site do you know if they allow php and where to find a page to add this?
@RedPoptarts
WOuld be perfect, I mean another page would be better anyway as I don't need the xray ore stats gathering, more than I want to look at totalplaytime as it is the most accurate data I have from logblock now, after the last plugin I used for that stopped working properly. Using phpmyadmin to get it is just not very user friendly. Speaking user friendly maybe you can make like a guest page where it shows the top <number> stats publicly.
btw can you make this other stats page view like the logblock stats page, where players full skins are loaded up next to their name (as an option for that page) would be good.
Release date ?
this would be great
This plugin would be so great, I cant wait.!
@XeonG8
There's already a feature that flags new users with a little green dot. Aside from that, I'm trying to keep the main table as uncluttered as possible.
However, I do plan on including the onlinetime / firstlogin data on a separate page that shows all of the statistics for a single user. Also, I might add a feature that allows you to filter users by onlinetime or firstlogin.
Would either of those work for you?
Oh awesome, was only just trying out the logblock stats, only to find out it wasn't all that great.
Now I just to wait for a release script to try... p.s don't suppose you could extend the script to provide some other functions. Like the script could pull from loglock the players onlinetime int to an actual readable time format of how long they have been online and just chuck it in next to there username or in another column.
@Jobsti2
LB and Guardian are the current priorities right now, however depending on how different the LB / HawkEye database structures are, it might not be too hard to write a HawkEye source module.
There's also the possibility that someone will write a custom module that supports importing HawkEye data.
Would be super awsome, If you could implement support for Hawkeye.... No one knows when or IF Guardian will be released and how long LB will be up to date/supported.
It's a tragedy, Also Xray-Informer only supports LB. There's no "tool" for Hawkeye out there.
It would be a dream if both Xray-Informer and Xray-Dedective could support Hawk. So I had a X-Ray checker for ingame and the website.
Omg I so hope this works out. This is gonna be a great plugin. Also im signing up to help with testing.