Who Took My Cookies!

A Forge blocklogging mod
Click on the >>> and <<< buttons to quickly browse through pages of log files

Click on the >>> and <<< buttons to quickly browse through pages of log files

Click on the darkgray text to see the suspect list of entities that were nearby when it all happened.

Click on the darkgray text to see the suspect list of entities that were nearby when it all happened.

Sometimes you just want a more friendly display of the date

Sometimes you just want a more friendly display of the date

By pressing <<< you can go back in the logs

By pressing <<< you can go back in the logs

Sometimes you dont wanna see a creeper blew up something, you want to see who was near.

Sometimes you dont wanna see a creeper blew up something, you want to see who was near.

Looking at the suspect list. Who was nearby and what was their distance

Looking at the suspect list. Who was nearby and what was their distance

You can NEVER be obvious enough.

You can NEVER be obvious enough.

Click on the [R] to restore that specific log entry

Click on the [R] to restore that specific log entry

Here you see the history of a location displayed in chat. 
Most items in the text displayed in chat that look clickable are clickable with your mouse.

Here you see the history of a location displayed in chat. Most items in the text displayed in chat that look clickable are clickable with your mouse.

Description

This is a blocklogging mod i'm developping for forge client only worlds AND servers. It stores the database with logging information in your world save folder. So you will have a different database for every save file you have.

It currently logs only placed, broken, exploded and altered blocks.

Current features consists of:

  • Logging broken blocks with nbtdata
  • Logging blockchange by player(door open/close, not perfect yet)
  • Logging exploded blocks with nbtdata and suspect list(any entities within a certain range)
  • Logging placed blocks
  • Checking log via blockplacing/blockbreaking when in /wtmc inspect mode
  • Chat output by mod is clickable. No need to type many commands to do things.
  • Logging updated blocks(dirt turning into grass etc...)
  • Rollback of removed/broken blocks on a per block or region basis
  • Ops only/creative world usuable only
  • Serverside only mod. No clientside mod required.

Data gets logged via SQLite, and i've done my best to push every bit of performance out of it so there is no interference  in gameplay. Basically it will write 25 modifications per tick, 500 per second. So if you have an extremely busy server you might encounter a few seconds delay when rebooting the server when all data gets flushed to the database.

Please try it out and test it extensively and report back to me if you find serious issues and please give me idea's for features you would like to see added(entity tracking, inventory tracking, radius rollback, player specific rollback, will be added already. special mod compatibility that are know to cause trouble with logging plugins?)

Things i'm interested in:

  • When execution time is above 50ms & what your server/computer is doing at that time(seriously, all queries should complete within 0-5ms) If you encounter really slow queries i'd like a copy of your database along with your notition of it.
  • Crashes. Give me crash reports. thank you.
  • Mod incompatiblity issues... Crash reports/client-latest the whole shebang.
  • Idea's, what would you like to see added as a feature
  • Rollbacks of more than 30.000 blocks with databases that contain millions of records(currently in a database with 700.000 records it does a 30.000 rollback within no time.

To use it you basically only need to know one command:

 


/whotookmycookies inspect (possible aliases are /co inspect and /wtmc inspect)

/wtmc help helps though ;-)


Then you can access the logs by placing blocks at the location you wish to inspect(the breaking blocks to inspect part doesn't work yet, haven't gotten around to it yet)

To disable type the above command again.

The rest of the commands are accessible by clicking on the relevant buttons in the chattext.

See the images for an impression how the beta looks and behaves and where the extra hooks in the chattext are you can click on.

 

Small roadmap for the future:

 

  • Logging of inventories
  • Rollback of inventories
  • Tracking of mobs
  • Tracking inventory changes players
  • Tracking player deaths
  • Tracking player login/outs
  • Creating api for modders to log their own events for rollback
  • Refactoring code to be more modular and less strict

And i'm totally open for suggestions.

 

 

The Who Took My Cookies! Team

profile avatar
  • 3
    Followers
  • 5
    Projects
  • 87.4K
    Downloads
Donate

More from mdibbetsView all