DarkTrace
DarkTrace (DTService) will monitor mined blocks and maybe later mining patters and similar.
The intention is to track cheating better, for instance transparency cheats such as xray.
Maintenance Phase
Due to timing constraints i might not add much to this plugin, but can keep it updated.
Currently DarkTrace records what blocks players mine and how dark it is there, with the following features:
- Logs number of blocks mined for certain block types, as well as the max. surrounding light level.
- Checking ratios such as stone versus diamond, gold, iron.
- Simple udgement if a player is "suspicious" and display of those that might be (colourful for better orientation if displayed in chat), based on thresholds for ratios and light levels, also taking into account a minimum number of blocks mined.
- Page-wise browsing through report of suspicious entries, command shortcuts.
- Showing the stats (digest) for a player (also colourful if displayed in chat), also showing average values.
- Showing info about configuration
- Saving and loading from a data file, both on demand and periodically (if changed).
- Removing players from data, erasing all data, keep a log of removed entries.
- Configuration file with almost everything configurable, reloadable at runtime.
- No real time notification, just on demand checking (uppdates following).
...DOCUMENTATION UNDER REVISION...
Some hints on configuration and use: see Documentation
Upcoming additions: see Implementation/Process
Future (partly brainstorming):
- Notifications for players becoming suspicious, block breaks for certain types and similar.
- Automatic data removal for useless entries.
- Tracking mining style and mining phases to get a more precise impression of possible cheating (gets rit of all time stats).
Alternatives/Complementary:
- "Heavy" approaches such as modifying chunks and hiding ores until they really are discovered (Orebfuscator). These approaches can very well be combined with DarkTrace if you want a lighter way of checking for a certan range of users.
- Database/logging based approaches, such as logging ores, plus processing of ratios or similar.
- Notification based approaches, just telling when players find something (FoundDiamonds, WorldGuard+blacklist-use).
Motivation:
- I want a real time approach that also works on servers that do not use databases as infrastructure and do not have extensive resources for that.
- Providing a comparably lightweight solution for bigger servers as well that allows for quick browing through suspicious or whatever entries.
[For bigger servers maybe plan on the next version with separate player files or even db- support, or clear the data before it becomes too big. ]
About:
- I am not sure how far i will bring this, but the minimum features and further support for those (and small feature-requests) are guaranteed. Actually i will use this on my server, as long as i have one.
- Feel free to suggest changes or features or pose questions or discuss just anything.
-
View User Profile
-
Send Message
Posted Oct 12, 2011@ctharvey
Ah, i forgot to ask in short:
-
View User Profile
-
Send Message
Posted Oct 12, 2011@ctharvey @tons of players:
You have tons of players? I might want to make the data saving feature more efficient and safe then.
How many approximately would that be, if i may be so bold to ask ?
I have not done extensive performance tests, yet light level checks concern 8 blocks, only for each block break, which is not a huge overhead. For almost everything hash-maps are used internally, so at least for the administrative routines the overhead for each block break is like "constant time" and shouldnt matter too much for something like 30-50 players that are online at once.
Concerning the data saving, given that the file is (by now!) written at once for the full data, the overhead is determined roughly by the number of players that have broken/mined monitored blocks since dt was active multiplied by the number of different blocks that are monitored. For 500 known players (on a 10 slot server not necessarily seldom, though later one could add forgetting unsuspicious players after some time of inactivity), given 20 monitored blocks, we have a data size of roughly 20*500*X for some X like 10-15, which ends up at a couple of kilobytes which are written to disk at once every 5 minutes by default (or whatever period you chose in the configuration). That would be (not exactly but pessimistically) twice the amount with light levels, like 30 kb instead of 15, which should not mean a too big difference in terms of the time penalty. Later i will see to it that only small parts are written back to small files rather, so that we will be talking of a low kb range probably only hundreds of bytes rather (Disk block size might be like 4 kb or bigger anyway.).
Maybe i am writing too much here :)
The slight problem i see with disabling light levels, is that that will pose the difficulty that swiching back to light levels logging will make either force you to throw away all old data or force me to add a second counter for the block breaking for the case, if the light level logging is activated again (because the light level sum has to be divided by the number of blocks involved, which should not include the blocks mined while the light level count was deactivated.).
So it would be more hard to make testing/switching "smooth", still that need not be a real problem.
@disabling features:
It is not yet possible to disable individual features (only global disabling for all is possible).
I might add that soon, though
@shortcuts:
Possible to add with next update...
I could allow for abbreviation of "suspicious" like '/dt su'.
Or would you prefer something like "/dts"?
And further: if you check "suspicious" - would you want the latest data to be worked into it as well (i.e. like adding the command '/dt digest' before calling suspicious)?
That could be '/dtsd' or so.
-
View User Profile
-
Send Message
Posted Oct 11, 2011One other comment. Any way to get an alias for /dt suspicious as that's a mouthful!
-
View User Profile
-
Send Message
Posted Oct 11, 2011Great plugin!
I have tons of players so I'm trying to disable the light checks for suspicious and I've tried various settings on the config without luck. Whats the best way to remove them from that command?
-
View User Profile
-
Send Message
Posted Oct 8, 2011@MsohMage
Ha! The project is marked as experimental, so it seems people can not download the alpha file.
A simple solution is to name it beta. I will have to resubmit this for approval, though. That could take a couple of days.
There are alternative plugins like xray detection or so, which also log the rates. Not sure this plugin is better configurable, it might be.
I will add another option like some freq-threshold to only mark stuff as suspicios if a certain number of blocks has been mined (otherwise one has to check stats for the player even if only few blocks have been mined).
-
View User Profile
-
Send Message
Posted Oct 7, 2011Sir, i am going to try this out on 1240. Or i was gonna, if there was any download link..