DKP Log Parser

DKP Log Parser is an open-source tool designed to help administrate a time-based DKP reward system in conjunction with EQDKP. The tool is mainly a parser compatible with most kind of logs thanks to the flexible patterns. There are currently predefined patterns for EverQuest, EverQuest II and World of Warcraft.
DKP reward system.
The reward system used by the program is based on time-based DKP. Some other DKP reward systems are based on that one log is taken for each raid or encounter and that the DKP spent during that raid is then distributed amongst the participants in that one log. There are a few problems which such a system, mostly that the system is open to abuse and dependent on the raid itself. The result is that people who leave early or arrive late will get as much or none of the reward that people who stay the whole raid receive. People might also be more reluctant to join raids where little loot is produced with such a system.
How exactly the time-based reward system should work can be configured from inside the program. It can handle a wide range of bonuses, weights, zero-sum distribution modes, guaranteed rewards and log setups. See the configuration readme for a full list.
Disadvantages.
The main disadvantage is pretty clear: It takes a lot of time to cross reference all the logs. That is why this program exists. It is designed to parse the logs, calculate the DKP award and then send the results (the loot, raids, participants and DKP) directly to EQDKP.
The time based DKP system has been successfully used and tested by the EverQuest guild Europa for over two years. The project is a continuation of the EQ Log Parser project, but unlike its predecessor it is not bound to a specific game. The program has been tested with EQDKP version 1.2.0 and 1.3.0, it should hopefully work with most other versions !
Patterns and formats.
The patterns and formats constitute the core of the parser, telling it how it should parse files. The patterns are mainly based on regular expressions but an additional syntax is added for XML input. The patterns are first applied to the log to extract relevant data, then the formats rearrange the groups captured by the patterns into the correct order.
Predefined sets.
Pattern sets for the following purposes have already been defined and are available inside the program.