Releases: PhlexPlexico/G5API
V2.2.0.0
What's Changed
This has been sitting for quite some time, so special shoutout to @mfamahran for implementing these features and getting queue integration (and more!) across the finish line, it's much appreciated!
Features ⭐
Support For Queues
- Temporal 10-man/PUG queues can now be created and stored in redis. Users will be able to create queues and send a URL to friends to join the queue, once the maximum numbers of players is in the queue, it will randomly create two teams (with some logic behind HTLV ratings stored in G5API, in an attempt to create evenish teams) and create a match.
- Once the queue is popped and the match is created, the API will either look for the first available server that the user has stored in G5API, or there is now an option to automatically provision a server from DatHost!
- SSE endpoints have also been created for the queue so you can monitor joins, leaves, and queue popping in real time instead of polling the API.
DatHost Server Provisioning
- On-the-fly server provisioning: Users can now pass
use_dathost: truewhen creating a match to automatically provision, configure, and start a game server on DatHost — no pre-existing server_id required. - Automatic plugin installation: Provisioned servers have CounterStrikeSharp and MatchZy downloaded from their latest GitHub releases and installed before the server is started.
- Managed server lifecycle: DatHost servers are tracked as "managed" (
is_managed,dathost_server_idongame_server) and are automatically stopped and deleted when a match ends, is forfeited, or is cancelled — replacing the previous inlinein_use = 0updates with a unifiedreleaseManagedServer()function that handles both normal and managed servers. - Permission-gated access: A new
dathost_allowedboolean flag on the user table controls who can use DatHost provisioning. Admins can grant/revoke it via the user update endpoint.
Support for both CS:GO (using get5) and CS2 (using MatchZy) is now officially supported.
After the release of CS:GO as its own AppId on Steam, there was a recent resurgence of players to CS:GO. The ability to use G5API was still available when it was in its own legacy branch in CS2, but should still work with the API, so long as you provide the proper enum during match setup.
Fixes and Breaking Changes 🛠️
- The config has been updated to move out default maps from a random file when a user is created, into the config files. Please ensure that your configs are updated!
- New options for server provisioning have been included in the config, as well as queue options. Please review the config files here.
- The match JSON has changed! the
gamekey in the request body will default to CS2 if not provided. If you wish to run a CS:GO game, please ensure that this is now included! Please review the Swagger documentation on these changes.
Yarn Changes 🧶
- Bump basic-ftp from 5.0.5 to 5.2.0 by @dependabot[bot] in #332
- Bump minimatch from 3.1.2 to 3.1.5 by @dependabot[bot] in #333
- Bump picomatch from 2.3.1 to 2.3.2 by @dependabot[bot] in #339
- Bump handlebars from 4.7.8 to 4.7.9 by @dependabot[bot] in #340
- Bump path-to-regexp from 0.1.12 to 0.1.13 by @dependabot[bot] in #341
- Bump brace-expansion from 1.1.12 to 1.1.13 by @dependabot[bot] in #342
Thanks 🙏
Again, thank you to @mfamahran for his first time contributions to this project!
Full Changelog:
V2.1.0.1
What's Changed
Yarn Changes 🧶
- Bump axios from 1.7.9 to 1.9.0 by @dependabot[bot] in #301
- Bump form-data from 4.0.1 to 4.0.4 by @dependabot[bot] in #307
- Bump on-headers, express-session and morgan by @dependabot[bot] in #306
- Bump axios from 1.9.0 to 1.12.1 by @dependabot[bot] in #310
- Bump brace-expansion by @dependabot[bot] in #311
- Bump qs and express by @dependabot[bot] in #322
- Bump systeminformation from 5.27.10 to 5.28.8 by @dependabot[bot] in #325
- Bump qs and body-parser by @dependabot[bot] in #324
- Bump validator from 13.15.15 to 13.15.26 by @dependabot[bot] in #323
- Bump lodash from 4.17.21 to 4.17.23 by @dependabot[bot] in #327
- Bump tar and bcrypt by @dependabot[bot] in #326
- Bump axios from 1.12.2 to 1.13.5 by @dependabot[bot] in #328
- Bump qs from 6.14.1 to 6.14.2 by @dependabot[bot] in #329
- Bump systeminformation from 5.28.8 to 5.31.1 by @dependabot[bot] in #330
Fixes
- fix: Update swagger documentation to be better aligned with code. by @PhlexPlexico in #313
- Fix incorrect average_rating on leaderboard for players who have changed their name by @charlieSewell in #321
- fix: Update Server Response Functions by @PhlexPlexico in #309
New Contributors
- @charlieSewell made their first contribution in #321
Full Changelog: V2.1.0.0...V2.1.0.1
Version 2.1.0.0
What's Changed
- TypeScript Conversion by @PhlexPlexico in #300
- Included new rcon library (
dathost-rcon-client) to replace the old JavaScript one. - Changed how version is queried in servers to no longer use
version, but grab the version via regex onstatus.
Full Changelog: V2.0.2.5...V2.1.0.0
Version 2.0.2.5
What's Changed
- Bump mysql2 from 3.9.7 to 3.9.8 by @dependabot in #284
- Bump braces from 3.0.2 to 3.0.3 by @dependabot in #287
- Bump mysql2 from 2.3.3 to 3.10.0 by @dependabot in #285
- Bump micromatch from 4.0.5 to 4.0.8 by @dependabot in #290
- Bump express from 4.19.2 to 4.20.0 by @dependabot in #291
- Bump systeminformation from 5.21.8 to 5.23.14 by @dependabot in #294
- Bump cross-spawn from 7.0.3 to 7.0.6 by @dependabot in #293
- Fixed Logout function, added TODO in auth.js by @tshikenn in #296
- Version 2.0.2.5 by @PhlexPlexico in #297
New Contributors
Full Changelog: V2.0.2.4...V2.0.2.5
Version 2.0.2.4
What's Changed
- Bump tar from 6.1.11 to 6.2.1 by @dependabot in #274
- Bump mysql2 from 2.3.3 to 3.9.4 by @dependabot in #275
- Fix Matches Stream by @Iwhite67 in #276
- Bump mysql2 from 2.3.3 to 3.9.4 by @dependabot in #277
- Bump mysql2 from 2.3.3 to 3.9.7 by @dependabot in #281
- Swap Overpass Default for Anubis. by @PhlexPlexico in #282
- Version 2.0.2.4 by @PhlexPlexico in #283
New Contributors
Full Changelog: V2.0.2.3...V2.0.2.4
Version 2.0.2.3
What's Changed
- Bump follow-redirects from 1.15.1 to 1.15.4 by @dependabot in #268
- Bump ip from 1.1.8 to 1.1.9 by @dependabot in #269
- Bump follow-redirects from 1.15.4 to 1.15.6 by @dependabot in #271
- Bump express from 4.17.3 to 4.19.2 by @dependabot in #272
- Version 2.0.2.3 by @PhlexPlexico in #273
Full Changelog: V2.0.2.2...V2.0.2.3
Version 2.0.2.2
What's Changed
- Updated Steam Passport to 1.0.18
- Fixed isCoach assignment while creating a new team by @shobhit-pathak in #262
- Bump systeminformation from 5.12.6 to 5.21.8 by @dependabot in #263
- Bump debug from 4.1.1 to 4.3.1 by @dependabot in #264
- Bump @babel/traverse from 7.18.13 to 7.23.2 by @dependabot in #265
- Fixed demo file extension on remote upload by @shobhit-pathak in #266
New Contributors
- @shobhit-pathak made their first contribution in #262
Full Changelog: V2.0.2.1...V2.0.2.2
Version 2.0.2.1
Just a small update that swaps out a 400 error code on non-registered events to 202, indicating that they are not implemented on this service.
V2.0.2.0
What's Changed
Moved over some information that was being sent as rcon to the game cvars. This should ensure all the values remain on a per match basis, even in a series during match changes.
- V2.0.2.0 by @PhlexPlexico in #257
Full Changelog: V2.0.1.1...V2.0.2.0
V2.0.1.1
Small patch in the match_bomb_plants table to include the time_remaining.