Skip to content

Releases: PhlexPlexico/G5API

V2.2.0.0

01 Apr 22:01
e5a9c6f

Choose a tag to compare

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: true when 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_id on game_server) and are automatically stopped and deleted when a match ends, is forfeited, or is cancelled — replacing the previous inline in_use = 0 updates with a unified releaseManagedServer() function that handles both normal and managed servers.
  • Permission-gated access: A new dathost_allowed boolean 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 game key 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 🧶

Thanks 🙏

Again, thank you to @mfamahran for his first time contributions to this project!

Full Changelog:

V2.1.0.1...V2.2.0.0
#337
#335
#338
#315

V2.1.0.1

20 Feb 14:01

Choose a tag to compare

What's Changed

Yarn Changes 🧶

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

Full Changelog: V2.1.0.0...V2.1.0.1

Version 2.1.0.0

25 Apr 13:24
b81b4da

Choose a tag to compare

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 on status.

Full Changelog: V2.0.2.5...V2.1.0.0

Version 2.0.2.5

29 Dec 23:23
5c8c5c0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: V2.0.2.4...V2.0.2.5

Version 2.0.2.4

16 May 18:41
2bd9e60

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: V2.0.2.3...V2.0.2.4

Version 2.0.2.3

05 Apr 20:47
23d253b

Choose a tag to compare

What's Changed

Full Changelog: V2.0.2.2...V2.0.2.3

Version 2.0.2.2

18 Dec 21:18
9d919e4

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: V2.0.2.1...V2.0.2.2

Version 2.0.2.1

26 Jul 15:33
5df29b5

Choose a tag to compare

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

01 Jul 17:22

Choose a tag to compare

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.

Full Changelog: V2.0.1.1...V2.0.2.0

V2.0.1.1

30 Jun 20:55

Choose a tag to compare

Small patch in the match_bomb_plants table to include the time_remaining.