DayZ Logger - detailed character logs

Discussion in 'Server / Admin Tools and Discussions.' started by Xander, Oct 27, 2013.

  1. Xander

    Xander New Member

    Joined:
    Nov 1, 2012
    Messages:
    13
    Likes Received:
    3
    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... :)
     
    SchwEde, seaweeduk and cyrq like this.
  2. seaweeduk

    seaweeduk OpenDayZ Rockstar!

    Joined:
    Nov 19, 2012
    Messages:
    535
    Likes Received:
    124
    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.
     
  3. Shayd

    Shayd New Member

    Joined:
    Apr 29, 2014
    Messages:
    20
    Likes Received:
    2
    Nice work Xander, will check it out tonight!
     
  4. magw33d

    magw33d New Member

    Joined:
    May 31, 2014
    Messages:
    24
    Likes Received:
    2
    Would this be able to log player kills and bullet hits?
     

Share This Page