DayZ Logger - detailed character logs

Xander

New Member
Hey guys, I started developing my own DayZ admin tools a few days ago, because I think there are not many good tools for DayZ around and I could not find anything close to what I did so far.

So here it goes, I came up with a "simple" logger tool, which connects to your DayZ database and essentially writes all character changes of all active players to log files. It is easily customizable what character fields to log and how often the tool should check for changes (default every minute) among many other config options.

But the big question is: why is logging character data useful? Well you can do many things with the logged data, e.g. detecting hackers, make a nice map with player position history because you now have the data to see who was where at what time. Also player heat maps are possible for each day, week, whatever. I might develop a companion app to read the log files and display player position on a map and humanity changes as a graph over time or something like that, maybe later. I think you guys might have some other (even better?) uses for log files like this. Anyway it is of course possible to log other things like vehicles/objects as well, but for now only character data is implemented.

Every player will get his own log file with the name being the PlayerUID, and each day the logs will automatically rotate which means you have small log files which you can open with a text editor and possibly archive the logs from last week or whatever. The default file structure is something like this:

Code:
- log\ (base log directory)
    + 2013-10-27\ (folder)
                + 12345678.log (file)
                + 87654321.log (file)
                + ... for every player this day
    + 2013-10-28\ (folder)
                + 12345678.log (file)
                + ...
    + ... for every day


The logger supports data pruning (disabled by default, see config file) what means it will omit duplicate values in subsequent log entries to safe storage space. So if you would for example log the character inventory and position (Worldspace) and run around the map alot without picking up stuff or changing your inventory (which might happen in DayZ :p), the logger will only log the position and keep the inventory value empty until it changes again.

As an example I have uploaded a log file from my server: http://pastebin.com/NHXTQ0D5
The logged columns in that file are: CharacterID, Inventory, Backpack, Worldspace, KillsZ, KillsH, KillsB, Humanity
It might look weird at first, but this is how log files look always look like haha. E.g. around time 02:29:53 you see only position changes for some time.

Keep in mind this is a beta release, but it should run pretty stable unless you lose the connection to the database server (no recovery build in yet), the programm is running on my own server for some days now without any problems and we have on average 30-50+ players around the day.

Download link: http://dl.bintray.com/vos/dayz/DayZLogger1.0b.zip
The DayZ Logger is a console application only, all configuration is done in the config.cfg file before start-up.
It should be enough to fill in your MySQL database connection settings at first, but take a look at the other config options.
Attention: you might need to add an additional column to your character data table in the database, for more details see the linked README below.
You can then start the tool with the provided BAT files on Windows (assuming you have a working Java Runtime installed).

For more information about the DayZ Logger please take a look at the README file I put up on GitHub: https://github.com/vos/dayzlogger/blob/master/README.md (I don't like to repeat everything here, please understand).
My tool is completely open source and written in plain Java, you can find the source here: https://github.com/vos/dayzlogger

For any questions, ideas or suggestions please feel free to use this thread, I'm sure I forgot to mention the one or other thing... :)
 
This is a fantastic little tool I put a webpage together to parse my logs and show them graphically and it's proved very useful. My only request would be an option to also scan deployable inventories for things like tents and stashes. I've used the player logs already to catch dupers but it would be even simpler if I could also see changes to tents in the same sort of format.

I would also prefer to be able to only log the worldspace coordinates on change of inventory, but not every time worldspace coordinates are detected changing. I know I could take worldspace out the list of columns but it's useful to have them alongside the inventory information.

I am terrible with java but I might take a look at the source and see if I can work something in there for tents if I find some time. Thanks again for sharing Xander.
 
Back
Top