Closed TandelK closed 4 years ago
I think this is more of a sweeping change than initially thought. This will require a new table to be created that links with seasons, back in API.
It would be something like this:
season_preset
table.Upon selecting a season, it should look at the values and add a watch to the seasons and change the values based on what's returned.
That being said, work for G5API still needs to be done for match CVARs, let alone presets. Take a look at Issue 49 to see the progress on that. Once that's complete I'll spin off an issue for adding a new table for season presets.
So these CVARs will mainly be for what is given to the match config. The front end should now be able to request these CVARs from a season in a key-value pair, and should substitute what should be on the main page when it renders. Then, it should be able to add to "match cvars" which is now implemented in the back-end, so it can freely add new custom convars to a match as well.
Coming up in a recent commit will be the ability to create custom CVARs per season/tournament. This will allow the user to put free-form text into "chips". These values will be separated into key-value pairs via the space. So, if you would like a match cvar, you could add:
mp_autobalanceteams 1
and it should save it to the database, and during match creation it will be set under the cvar
section as such:
cvars:
mp_autobalanceteams: 1
You will be able to have multiple CVARs determined by the user as well :)
So long as you know what the behind the scenes cvars of get5 are (e.g. maps_to_win
, side_type
, min_players_to_ready
, etc.) those will be adjusted in the Match creation form as well!
What about Map Lists, Veto functions and Best of Series selection ?
Map lists will have to be selected. The current implementation is mainly for defaulting match CVARs. Veto functions, are a cvar (skip_veto
), and so is the BO choices (maps_to_win
) is the best of series and will be selected for what is included in the season.
I could see for extending it, but I want to try and keep that closer to match creation. I think the map list can be created with a comma de-limited list as well right now. Since maplist is just an array, you could even have it stored: maplist de_mirage,de_dust2,de_vertigo
would store it in the database and could later be extracted.
The match creation screen will specifically look out for those subset of values (maps_to_win
which is the BO selector, skip_veto
to either skip the veto and play on a selected map, maplist
, which is the given map pool, side_type
, min_players_to_ready
, players_per_team
, and min_spectators_to_ready
) will all be watched and filled out accordingly during match creation.
Then any additional cvars that do not belong in that (extensive, imo) list, will be thrown in the cvars
portion of the object.
Whenever I figure out the match creation, I'll put some documentation once I like the way it works during a match create. It will be available in the wiki attached to this project once it's ready to go.
Here's a list of the following. If you add these as CVARs to your season, it will automagically set them during match creation :)
de_dust2, de_mirage, de_inferno
will select those 3 maps.
This is the old feature request we can work here where we can create a preset for all Tournaments / Seasons so when we go to create match and select that Tournament it can show us option for Preset of the Tournament rules / settings made using preset.
For eg. GG Season 1 : 5vs5 Competitive Preset Map Pool - de_dust2,de_mirage ... Best of Series - BO3 Veto Settings - Normal. (Team 1 Pick first and remaining map is Knife)
GG Season 2 : 1v1 Arena Map Pool - Select Arena Maps Best of Series - BO1 Veto Settings - False
So while creating a match we dont need to mention again all this settings. Also just in case if we want a custom version we can just Custom from Dropdown and we can use the settings from below.