Node UTStats 2 Version 2.13.1

Discussions about UT99
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Node UTStats 2 Version 2.13.1

Post by UT Sniper (SJA94) »

I've been putting it off for a while but I'm publicly posting the GitHub repo for Node UTstats 2 for testing, there isn't an official release yet you will have to download the repository. The install process should be much easier and faster compared to node utstats 1.

Active sites: https://stats.utctfpug.com/, http://stats.ut99tdm.com/, https://ut99stats.com/, http://ut99pugs0.ddns.net:12012/

Requirements:
- Node.js Version 14 or greater
- mysql user account that can create a database and tables
- FTP access with read/delete permissions.
- Port 3000 forwarded for the website.


Latest Build:

Build v2.13.1 https://github.com/scottadkin/node-utst ... ag/v2.13.1


Change Log
## Change Log:
**** V 2.13.1 Change Log:
- Fixed multi kill being set to 0 instead of 1 if a player killed two players in a greater time frame then the multi kill time limit…
- Scale times between multi kills in hardcore mode.
- Scale times between telefrag, and teledisc multi kills in hardcore mode.
- Added multi kill script to fix existing data without the need for re import.

**** V 2.13.0 Change Log:
- Fixed missing map images on map pages when maps had hyphens in their name.
- Fixed match item picks & admin items manager having confusing labels(Armour on one page and Health on the other).
- Fixed timestamps for CTF Returns and CTF Caps not being scaled for hardcore games(Match pages, Player Match pages).
- Match summary items will now hide tabs that have no data.
- Fixed an issue when merging players where a player would appear as a spectator even if they played in the match.
- Fixed another issue causing players to appear as spectators when merging players(stupid mistake on my part, not merging total playtime for match data, only team playtime and spec playtime).
- Importer will now place failed imported logs into a reject folder inside the imported folder.
- Fixed undefined is not valid JSON error when trying to view a player profile that doesn’t exist.
- Fixed undefined is not valid JSON error when trying to view a player’s match report if the player wasn’t in that match.
- Fixed error when importing ACE logs where the game version is not just an integer(requires node upgrade to fix)
- Fixed error when trying to view ACE kick log.
- Fixed an issue where player ctf totals was update solo captures with the data for self flag covers.
- Rewrote Admin Map Image uploader, added partial matching info stats to map image uploads.
- Fixed an issue with player winrate history not being inserted after a gametype merge.
- Added create map admin tool.
- Added rename map admin tool.
- Admins can now set maps to import as another map, this is useful if for example you have the maps CTF-FaceLE01, CTF-FaceLE02,... and just want all the different name variations to be imported as CTF-Face.
- Admins can now merge one map into another.
- Admins can now delete maps.
- Re-added tables for match items summary.

**** V 2.12.0 Change Log:
- Replaced many of the site's graphs, graph tabs with no data are automatically hidden, and many general improvements.
- Fixed an issue where the import would hang indefinitely on a ftp error, now if there is an ftp error it will only affect said ftp importer and log an error message, then continue on the next.
- Fixed an issue with Domination table nstats_dom_match_caps column team always being -1 instead of a valid team id.
- Added the “Control Point Captures” tab to match domination graphs, this will display the total times the point has been capped over time.
- Added the “Team <point name>” tab to match domination graphs, this will display the team’s total captures for each point over time.
- Added team icons to match result scores(non table version).
- Fixed bNoMouseOver not being applied to country flags if enabled.
- Hide telefrags in match reports if there is no data.
- Hide gametypes with no telefrags events, hide telefrags area completely if there is no data at all on player profile pages.
- Fixed admin user agents not displaying correctly.
- Added site hits graph to admin area, includes hits past 24 hours, 7, 28, 365 days, unique views and total page views.
- Fixed another issue with the importer hanging indefinitely.
- Fixed an issue where a player’s team is not correctly assigned making them not appear in match reports.
- Added new “best stats” to match weapon statistics, you can view who has gotten the best damage and or kills with each weapon.
- Added total damage tab to match weapon statistics, you can view who got the most damage and percentage of their team’s damage.
- Fixed team games screenshot displaying one team as the winner in the if a match result was a draw.

**** V 2.11.3 Change Log:
- Fixed issue with player gametype stats being double of the correct value after merging gametypes.
- Fixed mysql error when distance to cap is null/undefined.
- Moved log id being set to the end of a match import to prevent it being counted as imported if there is an error.
- Added aliases by HWID to admin player search.
- Added servers page tab to admin site settings.(Requires node upgrade to be run for settings to appear)
- Added a new admin tool where users can delete selected matches in bulk.

- Remade the pre existing gametype admin tools.
- Added create gametype tool to admin area.
- Added auto merge gametype tool, use this if you want to import gametype A as gametype B.
[
- Fixed an issue with admin gametype delete not deleting win rate data for the deleted gametype.
- Fixed an issue with most popular countries displaying incorrect values for unknown countries.

**** V 2.11.2 Change Log:
- Fixed player totals HWID not being updated after the first match.
- Fixed issue with importer taking excessive amount of time to process weapon stats, after a few 100 logs it would take multiple seconds, now it takes less than 0.1 seconds to process weapon stats on the same machine.
- Fixed some dropdowns not hiding after the user’s mouse leaves its area.
- Fixed many issues with gametype merging tools.

**** V 2.11.1 Change Log:
- Fixed issue with players being auto merged into one player if two players have the same HWID in a match.
- Fixed can not read properties of undefined error on CTF Cap Records Page.
- Filter out non CTF maps for map list for CTF cap records.
- Removed merge players by HWID admin tool.
- Remade the admin's merge player tool, you can now merge multiple players into a single instead of just one by one, there are also new search player name boxes for more ease of use.
- Fixed issue with the importer failing in the event a player was waiting at a flag stand as it was timeout returned(flag_taken is logged before flag_returned_timeout but the timestamps are the same)
- Fixed issue with the importer throwing an error if distanceToCap is NaN.
- Added recalculate players’ win rate admin tool, you can find it in the players section of the admin area.


**** v 2.11.0 Change Log:
- Remade the Maps page, you can now search, order by, name, first match, last match, total playtime, and total matches.
- Disabled auto merging players by HWID didn't work out as planned, people using each other's names and other stuff would cause some strange results.
- Stats Mutator now logs suicide location for suicides that are not caused by weapons.
- Fixed missing pagination on records page for player total records where the gametype is anything other than all gametypes.
- Fixed issue with FTP importer not deleting log files from ut-server after the first download if delete files was enabled, causing files to be unnecessarily downloaded a second time, if the log didn’t have a match start it would be downloaded endlessly.. Users should see significant reduction in bandwidth usage. This also fixes the logs that linger in the /Logs folder of UT Servers.
- Fixed CTF cap/return kills not being saved to the database.
- Fixed issue with player win rate history not being created after merging two players.

**** V 2.10.3 Change Log:
- Fixed numerous merge player errors.

**** v 2.10.2 Change Log:
- Added permalink hash for matches, now when you import a log the log file’s absolute time, server name combo, and port are combined to make a unique hash so even if the logs are all deleted and then reimported in a different order the links will still work(there is a new button on the top of match pages that have a valid hash that will copy the permalink to clipboard). Please note that you will have to do a full reimport for this to work with existing files.
- Fixed an issue with some logs failing to import if they were previously parsed by original utstats, an added bonus of this will also fix similar issues that were happening with some ACE logs.
- Fixed team colours sometimes being wrong on ctf team total graphs.
- Fixed match screenshots not being able to be zoomed in.
- Fixed player win rates being incorrectly calculated for their gametype totals.
- Fixed the upgrade and install script not updating the win rate table changes.

**** v2.10.1 Change Log:
- Added win rates summary to player pages, you can now view win rates for gametypes, maps, and custom filters.
- Added all GOTY DeatchMatch Map Screenshots.
- Added all GOTY CTF Map Screenshots.
- Clicking home most played gametypes now takes you to the matches page filtered by that gametype.
- Removed pointless search terms display on matches.
- Changing search terms on matches search now updates the url for easy sharing.

**** V2.10.0 Change Log:
- Records page redone, you can now filter records by gametype, map, or both.
- Updated Next.js for version 12 to 13.
- Significant import time reduction.
- Player total stats are now tracked by gametype + map combos, each player has stats tracked for each map with any gametype.
- Fixed ftp import count being incremented on ftp servers with same ip + port combo.
- General bug fixes.

**** V2.9.0 Change log:
- Added best kills to player weapon match stats(Most kills with the weapon in one life)
- Added team kills to player weapon match stats.
- Added best team kills to player weapon match stats(Most team kills in a single life).
- Added suicides to player weapon match stats.
- Fixed frags table being displayed in ascending order.
- Added team kills to frags graph.
- Added team total team kills to frags graphs.
- Added efficiency to frags graphs.
- Added team efficiency to frags graphs.
- Added team kills, and suicides to player profile weapon stats.
- Player profile weapon stats are now sortable by clicking a table header.
- Player profile weapon stats now have an additional tab for viewing a player’s best value for each value type in a single match.
- Fixed Match Powerup Summary displaying even if there is no data.
- Fixed Player Profile Capture the Flag summary displaying even if there is no data.
- Tweaked the style of the Player Weapon Display default view.
- Telefrag stats are now tracked for players, kills, deaths, best spree, and best multi are now tracked for player matches.
- Translocator disc kills are now tracked, kills, deaths, best spree, and best multi are now tracked.
- Fixed server.js looking for ssl certificates even when HTTPS is not enabled in config.json
- Changed how the importer checks if players have played in a match.
- Fixed player count for some matches being incorrect if more than 32 player Ids have been used.
- Added timeout limit of 5 seconds to sftp handshake, and retry count of 2 to prevent importer getting stuck if a server is offline.
- Added settings to change the homepage popular countries display type, and maximum countries to display.
- Replaced recent matches/player stats graph with heatmap on home page.


**** N/A
- General website style changes.
- Logs placed in the website's folder(not using sftp/ftp import) now have their own settings instead of just importing everything.
- Duplicate logs placed in the website's logs folder can be ignored.
- Added SFTP support to importer.
- Added option to ftp importer enable/disable ACE imports.
- Added option to ftp importer to delete ACE logs.
- Added option to ftp importer to delete ACE screenshots.
- Added option to ftp importer to enable/disable a server.
- Placing ACE screenshots in the websites Logs folder will now be imported in non ftp mode.
- ACE importer will check for duplicates before downloading now.
- Updated FTP tools that includes support for SFTP.
- Fixed s/ftp importer total stats.
- Updated Navigation design.
- Removed pointless red this is a beta message from top of nav.
- Fixed country flag error if country is undefined.
- Replaced MonsterHunt match monster components.
- Fixed importer crash if spawnpoint regular expression failed.
- Fixed importer crash if updateCurrentUpdatedStats argurment is undefined.
- Added MonsterHunt monster stats to player pages.
- Monster hunt now tracks kills on players by monsters.
- Logs under minimum players limit no longer insert a log history with match_id of 0.
- Updated the design of player profile weapons display.
- Updated the design of player profile general summary.
- Fixed page order settings being in wrong order.
- defaultpageorder now sets improved page order values(run node defaultpageorder to change).
- Redesigned admin nexgenstatsviewer tool.
- Added NexgenStatsViewer preview tab.

![alt text](

**** Build v 2.5.1
- Fixed delete duplicate matches in production mode.
- Fixed delete failed imports in production mode.
- Fixed delete match in production mode.

**** Build v 2.5.0
- NOTICE: You must use the command "npm install" if you are upgrading from a previous build.
- Updated Admin Player Rename.
- Updated Admin Player Delete.
- Updated Admin Player Merge.
- Fixed player CTF stats being blank.
- Fixed player Assault/Domination stats being blank.
- Fixed powerup control children must have unique key warning.
- Fixed ctfcaps records page error.
- Added the Sharp package(will fix slow loading images).
- Added admin player name search.
- Added admin player IP search.
- Added admin player IP histroy.
- Added admin player history(displays all aliases, used ips, connection history).
- No longer display BasicPageSelect if there is only 1 page.
- Fixed build warnings.
- Replaced all img with Image components.
- Fixed broken country flag image if player's country is blank(player profile).
**** Build v 2.4.0
- NOTE: You must use "node upgrade" after updating from an earlier.
- Run the command "node defaultpageorder" in a terminal in the main node utstats folder (where config.json is) this will apply needed page order data(updating from an earlier).
- Updated the admin site settings tool.
- Admins can now change the order of items displayed on some pages.
- Admins can now change the order of the navigation items.
- New admin tool that deletes failed import matches.
- Admin tool delete duplicate matches now deletes logs with match_id of 0.
- Fixed errors on import for FlagDomination.
- Fixed logs with match_id 0 not being deleted.
- Added missing settings for player and match pages.
- Fixed two bugs with ctf.insertCaps(), time dropped is not always NaN, insertCap is now ran correctly

**** Build v2.3.1
- Fixed duplicate props error when trying to build a production build.
**** Build v2.3.0
NOTE: Upgrading from version v2.2.0, You must run the command **node upgrade** to install updates.
- Changed design of player general component.
- Fixed player face on player page.
- Fixed player face for opengraph links.
- Changed match, power up, health/Armour, weapons, and ammo to bar charts.
- Added options for the new item pickup categories to admin area.
**** Build v2.2.0 04/01/22
- Upgraded to Next.js 12.
** New Feature
-- CTF cap records(on records page), view cap records for all maps(solo, and assisted), view all caps for each map(solo, and assisted).
- Added support for CTF4.
- Fixed caps, assist from CTF4 not counting multiple drops/caps.
- Fixed 0 second cap times(CTF4).
- Added columns(flag_team, total_Drops, total_covers, total_self_covers, total_pickups, total_unique_assists,total_seals, time_Dropped, carry_time) to ctf_caps table
- Added fastest ctf caps to match pages.
- Added fastest ctf caps to maps pages.
- Added CTF cap records to player pages.
- Fixed broken flag links on player aliases component.
- Fixed Image host urls being broken if no port is found in link.
- Fixed broken matchbox map images.
- Added option to use default image server, or alternative. (bUseImageServer)
- Fixed crash on map pages
- Fixed error in players API(forgot to remove resolve())
- Changed useImageServer to false for default settings.
- Fixed ACE importer crash.
- Changed match CTF caps display, now has two modes, simple and detailed.
- Fixed Importer getting stuck if a regular expression doesn't find any matches.

**** Build v2.1.0 20/10/21
- IMPORTANT! You now have to run another service when you run the website, you now have to also run **node images** to create a tiny webserver to host the sites images.
- Fixed broken images of newly uploaded files(see below).
- Images are now fetched from a seperate file server on port 3001, this is because if you uploaded images in production mode the site wouldn't be able to use them until you rebuild the website.
- Update thumbs list on each file creation(Create Missing Thumbnails).
- Updated packages so Jimp is now included.
- Removed screenshot download buttons, you can still right click download images.
- Country flag components now display the name of the country while being hovered over.

**** Build v2.0.1 17/10/21
- Fixed upgrade script not adding new columns, if there is another node utstats 2 database that has been upgraded.
- Fixed weaponsManager is undefined error.
- Fixed CTF4 Errors while inserting ctf cap data(May result in some data being missing such as caps).

**** Build v2.0.0 16/10/21
- Changed map screenshots system.
- Added new admin tools for uploading map screenshots.
- Many bug fixes(been lazy and haven't kept track, but will keep track from now on)
Github Repo: https://github.com/scottadkin/node-utstats-2

Post issues in this topic or here: https://github.com/scottadkin/node-utstats-2/issues

Note:
- I have only tested on a windows system.
- I have not created map image packs yet, there are however some dm, ctf, and Assault ones.

This topic is not for the original Node UTStats, only for Node UTStats 2.
Last edited by UT Sniper (SJA94) on Tue Nov 28, 2023 10:22 pm, edited 26 times in total.
RocketJedi
Inhuman
Posts: 850
Joined: Wed Mar 12, 2008 7:14 pm
Personal rank: I.T Master
Location: New York
Contact:

Re: Node UTStats 2 Public Beta

Post by RocketJedi »

Looks great! I've been wanting to set this up for a while, but have been put off by the requirements needed to run it since its out side the scope of UT. I will buckle down soon and test this thing out
https://www.vulpinemission.com
Image ROCKET-X8 Server
Image MONSTERHUNT w/ NALI WEAPONS 3 + RX8
Image BUNNYTRACK NY
Image SNIPER DEATHMATCH
Image InstaGib + ComboGib + Jailbreak
Image ROSEBUM ROCKET-X RB
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

It is worth noting that I intend to make node utstats 2, work with the original utstats databases although all features will not be supported because the data just simply doesn't exist.
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

Running Ubuntu. I've nodejs 8.10.0. Will it work ?
It works with previous UTStats.
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

Piter wrote: Sun Aug 08, 2021 6:31 pm Running Ubuntu. I've nodejs 8.10.0. Will it work ?
It works with previous UTStats.
No, at the very minimum, version 12.0 is required for next.js framework I used.
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

I've added support for classic utstats databases: https://github.com/scottadkin/node-utstats-2

Features
- Home page with general stats
- Recent matches page
- Ranking page
- Player lists
- Player profiles
- Map list
- Map page
- Records page
- Match reports
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

node.jpg
node2.jpg
Installed, but unable to login as admin. Chrome.
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

Will look into it when I I'm at my main pc later, in the mean time if you run in dev mode and try logging in you might get a more helpful message in the terminal.

Is this windows or Linux?
What nodejs version?


---- edit-------------

Updated the repo to show more info when you load a page, because it looks like your cookies are not being set correctly or at all.

Image
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

UT Sniper (SJA94) wrote: Sat Sep 04, 2021 1:23 pm Is this windows or Linux?
What nodejs version?
Updated the repo to show more info when you load a page, because it looks like your cookies are not being set correctly or at all.

Image
Linux, node-js v16.8.0

After git clone got error:
unrealstats2@vmi226564:~/node-utstats-2$ npm run build

> node-utstats@0.1.0 build
> next build

sh: next: command not found
unrealstats2@vmi226564:~/node-utstats-2$ npm run start

> node-utstats@0.1.0 start
> next start

sh: next: command not found
unrealstats2@vmi226564:~/node-utstats-2$
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

Try npm install, or a full reinstall if that fails, one of the more recent repos I updated the dependencies to their latest version.
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

node3.jpg
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
UT Sniper (SJA94)
Inhuman
Posts: 753
Joined: Thu Jun 24, 2010 10:35 pm
Personal rank: Retard
Location: England
Contact:

Re: Node UTStats 2 Public Beta

Post by UT Sniper (SJA94) »

Ah, one of the cookie names has been set to something different will fix it soon. Should be sid and not connect.sid
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

I'm glad I could help :]
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
Piter
Novice
Posts: 13
Joined: Sun Jan 31, 2021 10:17 am

Re: Node UTStats 2 Public Beta

Post by Piter »

Simple script to start/restart Node UTStats 2 on your Linux machine.

Code: Select all

#!/bin/sh
echo Killing all existing screens...

screen -X -S website quit
sleep 2
screen -X -S importer quit

echo Loading Website screen...
cd /full/patch/to/your/node-utstats-2 # for example - /home/unrealstats2/node-utstats-2
screen -S website -d -m bash -c  "npm run start"
sleep 2
echo Loading Importer screen...
screen -S importer -d -m bash -c  "node importer"
echo All done.
After start, you can simply access website and importer console by typing

screen -r importer
screen -r website

CTRL+A D disconnects console being called by screen command.
http://unreal.pl
Polish UT Community servers
Powered by Node UTStats2 - http://unreal.pl:3000
User avatar
esnesi
Godlike
Posts: 1018
Joined: Mon Aug 31, 2015 12:58 pm
Personal rank: Dialed in.

Re: Node UTStats 2 Public Beta

Post by esnesi »

Piter wrote: Fri Sep 24, 2021 7:41 am Simple script to start/restart Node UTStats 2 on your Linux machine.

Code: Select all

#!/bin/sh
echo Killing all existing screens...

screen -X -S website quit
sleep 2
screen -X -S importer quit

echo Loading Website screen...
cd /full/patch/to/your/node-utstats-2 # for example - /home/unrealstats2/node-utstats-2
screen -S website -d -m bash -c  "npm run start"
sleep 2
echo Loading Importer screen...
screen -S importer -d -m bash -c  "node importer"
echo All done.
After start, you can simply access website and importer console by typing

screen -r importer
screen -r website

CTRL+A D disconnects console being called by screen command.
Ah nice, i'll take a look when i got some time.
Atm iam using PM2 for this.
https://pm2.keymetrics.io/
Post Reply