Thanks to visit codestin.com
Credit goes to github.com

Skip to content

V2.2.0.0

Latest

Choose a tag to compare

@PhlexPlexico PhlexPlexico released this 01 Apr 22:01
e5a9c6f

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