ThaNightHawk / TournamentTools

The public repository of the tournament tool developed by @ThaNightHawk - Trello: https://trello.com/b/pEQivTx2/tournamenttools-updates-bugs-more | Discord: https://discord.gg/RHegrVXqWX
GNU General Public License v3.0
5 stars 7 forks source link

BeatKhana-API implementation. #1

Closed ThaNightHawk closed 1 year ago

ThaNightHawk commented 2 years ago

What:

Why:

To make setting up the overlay quicker.

Current setup path:

- Asked if: 1V1 or Battle Royale (If BR is picked, BeatKhana cannot be used currently)
- Asked if BeatKhana tournament or local (User decides).

If BeatKhana is used:

- Confirmation of tournament-style and that BeatKhana is used.

- Enters User1 and User2 info.
- Enters "Round X"
- Enters BeatKhana tournament ID
- Select a map-pool from the tournament (through API)
- Proceeds to WebPanel to control scoreline and Pick&Ban

If local:

- Confirmation of tournament-style and that BeatKhana is not used.

1V1:

- Enter User1 Info
- Enter User2 info.
- Enter "Round X"
- User is asked to upload map-pool(s)
- Select a map-pool from the uploaded map-pool(s)
- Proceeds to WebPanel to control scoreline and Pick&Ban

BR:

From here the user clicks "Configure",
- Input a complete list of usernames for all users. *1
- Input a complete list of ScoreSaber IDs. (In the same order, as the usernames, so the ID belongs to the username) *1
- Input a complete list of Twitch-usernames. (Same as above) *1
- Proceeds to WebPanel to control player-scores + spectated user.

*1 Example

Using a BeatKhana-implementation removes the need for the WebPanel-user to manually:

- Set user info
- Enter what round it is
- Upload map-pools

Using a BeatKhana-implementation will add automation for those things + add make it so the WebPanel-user simply can select a match from a drop-down window, which then will auto-setup with the following data from BeatKhana:

- Needed user info
- The current round
- Map-pool played in that match/round.

How:

The user will be required to have a tournament created on the BeatKhana website, have it public, show participants, have a bracket generated + have map-pools created, named (Round 1, Round 2, LR1, LR2 etc.) and public.

This information will be fetched through the BeatKhana-API, where we simply ask the API to for the following: Action Endpoint
Pull a complete participants list ./api/tournament/{tourneyID}/participants
Pull a complete bracket ./api/tournament/{tourneyID}/bracket
Pull a complete list of map-pools ./api/tournament/{tourneyID}/map-pools

Assuming the user picks a BeatKhana-setup, the setup-would look like this:

- Asked if: 1V1 or Battle Royale (User picks the style of tournament)
- Asked if BeatKhana tournament or local (User picks BeatKhana)
- Asked for their BeatKhana tournament ID (The numeric value in the URL when on the specific tournament-page)

If 1V1:
- Asked to pick a match. (Dropdown example: "Cerret-gustav, Round 1", "Cerret-Garsh, Round 2", and so on)
- Proceeds to WebPanel to control scoreline and Pick&Ban

If BR:
- Adds the complete participants list to the control-panel. (BeatKhana-name, ScoreSaberID and TwitchName)
- Proceeds to WebPanel to control player-scores + spectated user.
ThaNightHawk commented 2 years ago

BeatKhana-API implementation

ThaNightHawk commented 1 year ago

Dropped for now as another project is being worked on, that would get implemented instead.

Might revisit this later.