Releases: PhlexPlexico/G5API
Version 2.0.0
Version 2 of the game server API is here! Now with support for get5 0.14, the plugin G5WS is no longer needed. The only thing missing from this is team logos, but those are seemingly fairly broken to begin with - so users will still be able to upload and use them on the website. For the entire list of changes, please see #251
What's Changed
- Bump vm2 from 3.9.10 to 3.9.11 by @dependabot in #230
- Bump json5 from 2.2.1 to 2.2.3 by @dependabot in #240
- Bump cookiejar from 2.1.3 to 2.1.4 by @dependabot in #241
- Bump vm2 from 3.9.11 to 3.9.15 by @dependabot in #243
- Bump vm2 from 3.9.15 to 3.9.16 by @dependabot in #245
- Bump vm2 from 3.9.16 to 3.9.17 by @dependabot in #246
- Bump vm2 from 3.9.17 to 3.9.18 by @dependabot in #248
- V2 API Route by @PhlexPlexico in #251
Full Changelog: V1.7.0...V2.0.0
Version 1.7.0
This new version upgrade contains quite an amount of new features, which are mainly listed below.
Please note that if you are not using the Docker images provided, you must update your config files, as there was some breaking changes and moving some config options up to a different portion of the file to avoid deprecation warnings.
Also included is a new map_sides value for match configs, which will now allow users to do vetoes outside of the system and choose sides.
Server Sent Events are also now included which should allow for real time updates for data, as soon as the game server sends updates to the database.
What's Changed
- Bump moment from 2.29.1 to 2.29.2 by @dependabot in #184
- SVG Uploads (#187) by @PhlexPlexico in #194
- Update team and matches SQL queries by @PhlexPlexico in #195
- Fix pug by @thboss in #198
- Pug fixes by @thboss in #200
- Pug fixes by @PhlexPlexico in #199
- Event Feedback Fixes by @PhlexPlexico in #207
- fix: Make dockerfile and docker-compose a lot cleaner by @PhlexPlexico in #209
- add back the port exposure by @kubo6472 in #210
- Include adding coaches to the system. by @PhlexPlexico in #211
- Lock update. by @PhlexPlexico in #212
- Remote Backup/Restore by @PhlexPlexico in #192
- Add in full text instead of round num + map num. by @PhlexPlexico in #214
- Bulk insert new players for pugs by @thboss in #217
- Add new endpoint /playerstats/:steam_id/season/:season_id by @thboss in #219
- Update templates/bump version number. by @PhlexPlexico in #222
- Real Time Data Implementation by @PhlexPlexico in #224
- Bring in map_sides to post, put, and config get calls. by @PhlexPlexico in #226
- Change demos to use its own folder in public. by @PhlexPlexico in #227
Full Changelog: V1.6.0...V1.7.0
Cheers!
- Phlex 🤙
Version 1.6.0
I figured this would be a bigger point release since all the frameworks for Challonge integration is now complete. Users are now able to integrate fully with their own Challonge API keys, and will be able to automagically track their matches as they happen on the game server. There's been a few other fixes under the hood (like Jest tests), but there isn't anything major or breaking that should harm any users from going from 1.5.0 to 1.6.0. Please make sure to upgrade your database with the given yarn commands though!
What's Changed
- Remove require to fix image uploads. by @PhlexPlexico in #170
- Local User Login/Registration by @PhlexPlexico in #171
- Use a lighter db image by @kubo6472 in #176
- Challonge Integration by @PhlexPlexico in #181
Full Changelog: V1.5.0...V1.6.0
Cheers!
- Phlex 🤙
Version 1.5.0
What's Changed
- Add arm arch to builds by @PhlexPlexico in #149
- Bump follow-redirects from 1.14.6 to 1.14.7 by @dependabot in #156
- V1.5.0 - Node Fetch Update by @PhlexPlexico in #159
Full Changelog: V1.4.0...V1.5.0
Version 1.4.0
Hey there, it's been awhile! This new update actually brings quite a few new features. So buckle up and get ready to read
What's new
- Add side types table for vetoes - these display which team picks which side provided sides are chosen by a team.
- Change Dockerfile to utilize environmental variables (thanks @ebuttonsdude!).
- Added ability to check if the server is up to date (thanks @thboss!).
- Accept API token only as HTTP Headers (thanks @kdev!).
- Migrate to Node.js version 14 (thanks @kdev!).
-
- This was needed as there was some more recent conventions used for NULL checks.
- Fix Bug not allowing authentication at
/servers
(thanks @kdev!). - Added 4 new stats to track during games.
- Include upload demos directive - users can now enable/disable demo uploads from the server side, this allows usage for public panels to be setup!
- Docker Compose File Implemented to run the whole "G5X" stack (shoutouts to @kubo6472 for the name).
- Added GHCR CD (thanks @kubo6472!)
- Consolidate API key with user ID - this is to ensure a user only has to send one key value and makes a bit more sense in how API keys are used.
- Fixed an issue with the leaderboard if a match was deleted and a user still existed.
- Database calls have been refactored. This means that the app should no longer have dangling connections and crash (at the cost of transactions, which is okay to be honest, they can be implemented another time).
- Team names have been denormalized in the player stats table. This resolves #108 as users would not be able to sort their pug stats based on the team they were on after a match.
New Contributors
- @thboss made their first contribution in #114
- @kdev made their first contribution in #115
- @kubo6472 made their first contribution in #139
Full Changelog: 1.3.0...V1.4.0
- Phlex 🤙
Version 1.3.0
New release that includes a few things that is more for code re-usability and stability.
What's new
- Routes have been simplified that require checking if a match is complete or if a user has access to said matches.
- Certain checks are now more in line with other checks.
- Allow NULLs to be inserted in specific scenarios (such as seasons)
- Include a BO2 setting.
- Change from max_maps (which is [deprecated[(https://github.com/splewis/get5/blob/2b3e3d9ec883e09a86023c6f015db9b2178428a5/scripting/get5/matchconfig.sp#L343)) to
num_maps
instead. - Sanitize quotes in CVARS for seasons.
- Vulnerability fixes for redis.
- Move some dependencies to development only (such as jsdoc, and redis-mock)
- Sanitize custom CVARs in individual matches.
- Restart command has been added in the package scripts for production.
Bugs, Questions?
- Possible outstanding bug #98 - not confirmed yet if it's to do with the API or Get5 not reporting
OnSeriesResult
with the given conditions.
What's next?
-Phlex 🤙
Version 1.2.0.1
Just a quick version tag for the latest stable release. This is just a patch to ensure that the database should now no longer fail out.
What's new
- Database calls are now all wrapped in a transaction. This should prevent any transactions from dying now!
Bugs, Questions?
- Please create an Issue if you run into any problems. My testing doesn't cover everything but it sure covers enough to take up a bunch of time.
What's next?
- Not even sure!
-Phlex 🤙
Version 1.2
New version to tag as there's been quite a few changes game side. The old legacy API.js is now set to work with latest version of my get5-webapi.
What's new
- Database calls will fail gracefully if the connection pool is poisoned. This means that a transaction may fail, but the app won't crash!
- Support for logos have now been included.
- Specators have now been fixed.
- Moved from deprecated num_maps to max_maps in match config.
- Servers now have flags associated with their location.
- RCON issues have been resolved and will now properly run match commands.
- Demo uploads now exist! This has to be enabled both on the API and in the plugin.
- Maps are now tied to a user profile. You can adjust what maps you wish to see when creating a match.
Bugs, Questions?
- Please create an Issue if you run into any problems. My testing doesn't cover everything but it sure covers enough to take up a bunch of time.
What's next?
- More testing!
Thanks to
- Smimabo for helping me test a bunch of rewritten code.
- @yannickgloster for the map idea.
-Phlex 🤙
Version 1.11
New version to tag as there's been quite a few changes game side. The old legacy API.js is now set to work with latest version of my get5-webapi.
What's new
- Transactions are now fully done throughout the application. Now if a match fails to insert, it will actually fail!
- With that being said, issue #54 is now fixed as well, and should no longer run out of connections.
- Team captains can now be toggled via a flag in the
team_auth_names
table. It will sort by that flag, followed by the first inserted, so by default the first inserted person will be the captain.
What's changed
- The game server API has been adjusted. Previously there was some small compatibility issues with the old get5_apistats and reading JSON, so I moved over the
get5_apistats
plugin located here to use a different library. This will also allow, in future, an endpoint where files can be uploaded so demos can be saved to the server as well.
Bugs, Questions?
- Please create an Issue if you run into any problems. My testing doesn't cover everything but it sure covers enough to take up a bunch of time.
- Forfeiting a match currently doesn't end the match. So users can continue playing but the API will consider the match complete.
- Some minor issues with catching RCON errors as well. Such as pausing and unpausing. While it accomplishes it in game, it doesn't parrot the same in the API.
What's next?
- More testing!
Thanks to
- Smimabo for helping me test a bunch of rewritten code.
-Phlex
🤙
Version 1.0
Just marking this down as a point where I can say I'm confident enough in the back-end to do what is on the label. There were some outstanding issues, such as transactions not being atomic to the database, that now have been fixed. I believe this release should be stable enough to use in a production environment, and all the documentation should be up to date.
If there is any issues, please report them and I can take a look into them when I have time.
- Phlex 🤙