Skip to content

WFData 1.1.2

Choose a tag to compare

@matrix224 matrix224 released this 07 Feb 14:41
· 2 commits to main since this release
24ae816

DataManager:

  • Updated code and libs to try and be Java 8 compliant
  • Updated logging to use util from common JDTools library
  • Updated Settings configs to use common model from JDTools library
  • Updated BanManagerCache to use common SystemUtil from JDTools library
  • Updated parsed log times to be long instead of int
  • Updated 'ban' command to take argument for 'refresh', which will refresh the item ban list
  • Updated player join parsing to ignore empty player names (can happen due to bug on DE's side sometimes)
  • Updated player interactions (i.e. getting player from ServerData) to be based on both name and platform as needed, instead of just name
  • Updated connection parser to use ServerData for storing guesstimate of connHandle -> player
  • Updated DB storage to store weekly data by platform
  • Updated DB storage to try and merge player data if the same player is encountered on multiple platforms
  • Updated UID parsing to convert any UID with non-Alphanumeric characters to Base64, regardless of platform. Currently only did this for PSN, but in the event of future platforms having similar issues, made it a broader net now
  • Updated weapon info tracking to denote type of weapon
  • Added versioning system to track what version is currently being ran and allow for DB structure and other updates to be applied based on this
  • Added new log line parsing for player leaving parser
  • Added implementation for accountId parsing and tracking
  • Added 'tracker' command for tracking players across different accounts
  • Added dark split sword and Snowday variants to default customItems.json cfg
  • Added 'host' and 'enableBanLoadoutPosting' options to config
  • Added test log processor class and processing mode for debugging and random testing cases
  • Added transactionIDs to requests for adding data to service
  • Added support for match start times and current level parsing
  • Added 'kick' command
  • Fixed potential concurrent modification issue if a ban is added as another is removed

DataModel:

  • Removed Settings config model and moved to JDTools for common usage
  • Removed Logging util and moved to JDTools for common usage
  • Removed common exceptions and moved to JDTools for common usage
  • Added support to common models for accountId tracking and usage
  • Added support for match start times and current level tracking
  • Updated code and libs to try and be Java 8 compliant
  • Updated storage of log times to be long instead of int
  • Updated method in ServerData to get player by both name and platform instead of just name to avoid issues with players having same name on different platforms being connected at once
  • Updated ServerData service JSON to return more info about server for use on front-end
  • Updated ServerData to store guesstimate mappings of connHandles -> players instead of handling in WFDataManager parser
  • Updated ServerData to provide player UID and platforms alongside names for the service to use on front-end
  • Updated ServerDataTimeStats to store server start time in UTC as well as local time
  • Updated ServerDataTimeStats to store a calculated zoneId and zoneOffset to account for the possibility of older log files being ran in a different timezone than where client currently is
  • Updated DateUtil's date formatter to force locale to English to avoid parsing issues when ran on non-English machines (log always prints dates in English locale format, but by default Java will try to parse based on current machine's locale, which can cause issues)
  • Updated DateUtil methods to take ZoneId instead of string for it
  • Updated BanData ID generation to replace ='s with -'s to avoid issues when banning PSN players (Windows does not like consecutive ='s in the ban entry name, and PSN players may have == in their UID since it is Base64 format)
  • Updated PlayerData to store platform as code instead of enum. If unknown platform is encountered, it will now just use the parsed code instead of defaulting to 0 for Unknown

Service:

  • Updated code and libs to try and be Java 8 compliant
  • Updated logging to use util from common JDTools library
  • Updated Settings configs to use common model from JDTools library
  • Updated ServerClientData to hold more information about server client as needed
  • Updated data parsing to ignore clients with empty names
  • Updated server status task to ignore server clients with no server data
  • Updated DB storage to store numeric values by platform for weekly data
  • Updated DB storage to try and merge player data if the same player is encountered on multiple platforms
  • Updated weapon info tracking to denote type of weapon
  • Added implementation for accountId parsing and tracking
  • Added 'serverStatusExpiration' setting to remove old clients from server output if past a certain age
  • Added 'serverOutdatedTime' setting to denote how long a server can go without any updates before being considered outdated
  • Added parsing and handling of transactionIds for add data requests to deny duplicates