Online example: https://stats.xjon.me/
New build released: https://github.com/scottadkin/Node-UTSt ... /tag/1.12C
ReadME: https://github.com/scottadkin/Node-UTStats
New in 12C:
- Added support for 4CTF screenshots.
- Fixed map screenshot on matches page to always use the non prefix over gametype prefix names.
New in 12B:
- Changed how map images are displayed, instead of just looking for an image name without a gametype prefix the system will now look for a file with the gametype prefix, if that is not found it will look for an image with the gametype prefix, and if that also fails it will display the default image.
- Changed how the recent matches display is rendered.
New this build:
Nexgen stats viewer tool, now you can easily configure how your UT server will display the data from your website, you are not restricted to just ranking points, there are many different categories you can use for any gametype.
Supported gametypes:
- Deathmatch
- Team Deathmatch
- Capture the Flag
- Domination
- Last man standing
- Bunnytrack
- Monsterhunt
- Siege (basic support)
- Coop
Map Importer added
Every map file in your /Maps/ folder will be imported and saved with the option set to true.
Nexgen Stats viewer support added
From version beta 8 there is now support for nexgen stats viewer by using the ulr example.com:1337/nexgenstats
Ace Log+Sshot importer
You can now import ace logs and screenshots to the website.
Bunnytrack BTPlusPlus.ini Importer added
You can now import your server bunnytrack records into your nodeUtstats website by running node btimport from the server module directory.
Map screenshot packs
Place the image files in /public/files/maps on the website module.
- Default Deathmatch maps
Possible problems:
- .tmp files sometimes show errors while importing but are moved successfully.
- First import may get stuck if mapimport is set to true.
ChangeLog(From what I can remember):
Build 12 release notes(14/04/20):
- Added player name to page description and open graph data, for individual player match report.
- Moved player profile link on individual player match report to the top.
- Fixed empty pickup data being displayed if there were no pickup events during match.
- Added server hostname to server query page. (Thanks to fbraz3)
- Added files to a perfect webserver setup(Linux). (Thanks to fbraz3)
- Added Nexgen stats viewer tool to admin area.
- Build 11 release notes(09/04/20)
- The Website, Importer and Mutator are now combined into one package, you no longer need to install the server/importer module to each ut server now just add the server ftp details to the ftpServers array in Importer/api/config.js.
- Added FTP support, you can now have an array of servers for the importer to download the logs from the utservers.
- Added ACE logs importer to ftp.
- Added ACE screenshot importer to ftp.
- Added BTPlusPlus.ini importer to ftp.
- Added BTGame.ini importer to ftp.
- Ace screenshots are now moved after import to Logs/Imported/Ace-Shots/<month>-<year>.
- BT record inis are now backed up daily via the latest import of that day to BT/Imported/<day>-<month>-<year> after being imported.
- Already Imported .log/.jpg/.tmp files will not be downloaded from ftp servers.
- Imported files from utservers are now backed up by default to another local folder to speed up the later imports(.log, .tmp, .jpg). If bDeleteFilesFromFTP is set to true they will be deleted locally.
- Fixed crash while trying to import bt records.
- Fixed headshots import.
- Fixed team kills for non team games.
- Fixed some logs failing to import after a bt log.
- Fixed server MOTD lines not importing.
- Fixed player pickups count being wrong if they reconnect.
- Fixed player best spree & multi not resetting after death. (I'm an idiot )
- Fixed grabbed and capped player being counted as assists in the flag captures area.
- Fixed javascript error trying to access teams that don't exist for the kill graphs.
- Fixed headshots not being merged if a player reconnects.
- Fixed broken flag images on records page.
- Fixed broken flag images on player page under possible aliases.
- Fixed error message displayed if a map has had 0 matches played.
- Fixed crash on website on players page when searching by first match.
- Fixed domination point graph showing team colours that were not in the match.
- Fixed Serbia flag being missing from package.
- Added BTGame.ini records import, now both BTPlusPlus.ini and BTGame.ini records are imported via the btimport.js on the server module.
- Added upgrade.js to website module that admins can run instead of making a fresh database from upgrading from version 9 and above.
- Added a warning message if a log is a large size, so users know the difference between a crash/infinite loop and a large file.
- Added mapList import, if you run "node mapimport" in the server module it will import every single map in your servers ./Maps/ folder. It will also set the file size of maps that have been imported from logs.
- Added kill distance to the mutator, now the distance between kills are saved to the log.
- Added shortest kill distance to matches and profiles for every player.
- Added longest kill distance to matches and profiles for every player.
- Added flag base locations to the mutator, now the flag base locations are saved to the log.
- Added spawn point locations to the mutator.
- Added weapon locations to the mutator.
- Added pickup locations to the mutator.
- Added Domination point locations to the mutator.
- Added shortest and longest time between kills to the mutator.
- Added player spawn locations to mutator.
- Added extended flag kill data logging, now killer, victim, kill distance, distance to cap, and distance to base are now saved.
- Added filename to match database, this will be used to delete duplicates from the admin panel.
- Added extended flag kills information to match reports.
- Added extended kill data to match pages, once the button is clicked the page will load all kill data that includes time, killer, victim, distance, weapon.
- Added clickable headers to match sections, now you can link directly to the area you want to share.
- Added headshots to frag performance if there was a headshot in the match.
- Added player record imports to btimport, now players will have their records saved to their pages.
- Added map bt records to map pages.
- Updated style of pickup summary on match pages.
- Updated style of player serach page, removed ugly search form and replaced it with clickable arrows next to table headers to specify sort order.
- Updated style of maps serach page, added clickable arrows next to table headers to specify sort order instead of stupid dropdown box.
- Merged Best multi kills and sprees in match pages to their respected areas instead of having separate areas.
- Added match player individual stats, now if you click on a players name in a match report it will take you to their match performance page with extended data displayed.
- Added player specific kills and deaths to match player individual stats.
- Added player Killing Sprees Information to match player individual stats, this will show how long the spree was in kills, time, and how the spree ended.
- Added clickable player match links to match weapon stats.
- Added clickable player match links to domination point capture summary.
- Added clickable player match links to pickups summary.
- Added clickable player match links to ranking summary.
- Added clickable player match links to team change summary.
- Added clickable player match links to player connections summary.
- Match pickup data now only displays players that have picked up 1 or more items to save scrolling time.
- Updated style of match assault captured objectives.
- Removed player connection history from match pages.
Original Post:
Spoiler
Server module:
This will handle all the log parsing, database updates, file sorting/managament. Basically the backend of the system.
The idea is you can have this running on multiple servers, that connect to the website module. Note: This methods will not use ftp.
Website module:
The website the user can interact with that all connected servers send their data to, will include admin control panel.
Would this just be unnecessary, or would it be more convenient?
Notes of what has been done so far:
Log Importer
- Scans the logs directory for .log files, ignoring .tmp files(I can make an options that will allow the admin to import these files, but advanced stats for stats_player events won't be there).
- NUTStats keeps track of all imported files, if the file has already been imported it will be ignored to prevent duplicates.
TODO:
- Let the admin choose what happens to compiled logs, this could be deleting, moving, compressing and moving.