Giter Club home page Giter Club logo

tournamenttools's Introduction

Hello, Hallo, Hej ๐Ÿ‘‹

ko-fi

BIO

  • ๐Ÿ‘จ Male (He/Him)
  • ๐Ÿ“… 25 years old.
  • ๐Ÿข Attending school.
  • โš™๏ธ I work with: .html, .css, .js, .ts, .php, .sql, .psd, .ae, React, NextJS
  • ๐Ÿฆ Reach me at: Twitter or Discord
MY WORK
# Open Source? Product(s) Language(s)
TournamentTools Yes Coordinator-panel, 1V1-screen, Picks&Bans-screen
Battle Royale-screen, Player-overview,
WebSocket relay-server, API, communication-library
JS, TS, PHP, HTML CSS/Bootstrap
Dane Saber No V1 Website, V2 Website, API, TournamentUI, ScoreFeeds, Matchfeeds, TournamentTools* (Dane Saber edition) PHP, JS, TS, HTML, CSS, SCSS
ComfyCraft No API, McMMO Classes/Library PHP, JS, TS, HTML, CSS
BSTS No Countdown-screen, Intermission-screen,
Discord Streamkit-customstyle,
TournamentTools* (BSTS Edition)
JS, TS, PHP, HTML
Streamer Saber Showdown No Countdown-screen, Intermission-screen, 1V1 Overlay PSD, JS, HTML, CSS
BeatKhana Beat Sage Royale No TournamentTools* (BeatKhana-Edition, only including WebPanel, PlayerScreen, Battle Royale overlay and TA Overlay) JS, TS, HTML, CSS
CS:GO; TournamentWrapper No A "Wrapper" that allows easy control over CS:GO tournaments hosted on dedicated server.
Frontend panel is hosted by the server on launch, allowing for out-game configuration from tournament host.
HTML, SCSS, TS, SourcePawn, ..
Various Beat Saber Tourneys No Some bigger, some smaller. Don't want to name them, since there's too many and the list would be infinitely long. TS, JS, Tailwind, GQL


ย  Spotify

tournamenttools's People

Contributors

thanighthawk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

tournamenttools's Issues

BeatKhana-API implementation.

What:

  • Implement full usage of BeatKhana-API for the WebPanel.

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.

Matchcreation + Multiple on-going matches

What:

  • Implementing multi-match handling.

Why:

Because right now, the backend is horribly set up, and only allows for one ongoing match, which can cause problems for multiple on-going matches.

How:

The backend will be rewritten to handle arrays, where current matches will be stored:

{
	"matches": [{
		"1": {
			"matchid": "1",
			"players": ["76561198086326146", "76561198086326146"],
			"coordinator": "Hawk",
			"round": "1",
			"currentMap": "Unpleasant Sonata",
			"currentMapHash": "6423F3A3429D503FA97A1C5282155436D12A9366",
			"currentMapDiff": "Easy"
		},
		"2": {
			"matchid": "2",
			"players": ["76561198086326146", "76561198086326146"],
			"coordinator": "Hawk",
			"round": "3",
			"currentMap": "Unpleasant Sonata",
			"currentMapHash": "6423F3A3429D503FA97A1C5282155436D12A9366",
			"currentMapDiff": "Easy"
		}
	}]
}

and so on.

This will allow for multiple matches to be ran at the same time, without coordinators interfering with eachother and the auto-map function.

ETA: No idea, a bit pressed on time because of life.

Webpack BR overlay + 1V1 overlay.

Why:
While testing the BR Overlay with 32 people, the Relay Server seized up, and stopped providing information.

This prevented the BR Overlay from updating, giving a live score.

How will it be fixed?:

  • 1V1 and BR Overlay will have the TA overlay-connection webpacked and bundled, removing the need to send scores through the relay server.

The relay server will still be relevant, as it's used to communicate between WebPanel, P&B, setting the 1V1 overlay info(Username, image, current map and so on).

ETA: 9th of October, 2022

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.