{"id":16217872,"url":"https://github.com/bakana808/octogon-tool","last_synced_at":"2025-03-19T10:30:50.179Z","repository":{"id":140548524,"uuid":"294553291","full_name":"bakana808/octogon-tool","owner":"bakana808","description":"multifunction streaming tool for esport streams","archived":false,"fork":false,"pushed_at":"2021-02-26T14:42:25.000Z","size":7606,"stargazers_count":4,"open_issues_count":5,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T06:11:27.034Z","etag":null,"topics":["esports","melee","obs","obs-studio","overlay","overlays","scoreboard","scoreboard-controls","smash-bros","smashgg","streaming","tool","tournament"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bakana808.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-11T00:28:12.000Z","updated_at":"2023-04-02T09:37:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"31379bd2-404c-44a6-ac11-de6e1ec1904b","html_url":"https://github.com/bakana808/octogon-tool","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakana808%2Foctogon-tool","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakana808%2Foctogon-tool/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakana808%2Foctogon-tool/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakana808%2Foctogon-tool/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bakana808","download_url":"https://codeload.github.com/bakana808/octogon-tool/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244407759,"owners_count":20447844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esports","melee","obs","obs-studio","overlay","overlays","scoreboard","scoreboard-controls","smash-bros","smashgg","streaming","tool","tournament"],"created_at":"2024-10-10T11:47:14.028Z","updated_at":"2025-03-19T10:30:50.172Z","avatar_url":"https://github.com/bakana808.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\nOctogon Panel\n=============\n\nsuper early stuff\n\n![Preview Screenshot](preview.png)\n![Preview Screenshot 2](https://i.imgur.com/ajhHyXb.jpg)\n\n## what is this?\n\nThis is an all-purpose streaming tool for esports tournaments.\nwhile this was made for SSBM specifically, the codebase is being modeled such that supporting other games later is possible.\n\nCurrent features:\n\n- A scoreboard control GUI and overlays\n- Smash.gg overlays\n- Spotify overlays\n\n## Downloads\n\nLinux and Windows builds can be found on the [latest release](https://github.com/branden-akana/octogon-panel/releases).\n\nFor other platforms, see the [Running](https://github.com/branden-akana/octogon-panel#Running) section for instructions on how to build and run Octogon.\n\n## Running and Building\n\n### Setup\n\n1. Install [Python 3](https://www.python.org/downloads/).\n2. `git clone` this repository to a folder, or click the \"Code\" button on the top of this page, click \"Download ZIP\", and extract it to a folder.\n3. Open a terminal in the folder (on Windows Explorer, Alt+D and type `cmd` in the address bar of the window).\n4. Run `pip install -r requirements.txt`\n\nThen, to run the program run `python main.py`.\n\nTo build the program, run `pyinstaller build.spec`. The executable should be located in the `dist` folder.\n\n## Configuration\n\nA `config.json` file will be created when this program is first run.\nIn this config you'll find a few options that are left blank.\nYou must set these manually for the Smash.gg integration to work.\n\n`smashgg_api_key`: an API key required by Smash.gg to retrieve information from their servers.\nYou can create an API key through Smash.gg [here](https://smash.gg/admin/profile/developer).\n\n`smashgg_tourny_slug`: the ID of your tournament from your Smash.gg tournament page.\nFor example, if the link to my tournament is `https://smash.gg/tournament/octo-gon-8`, then the slug is `octo-gon-8`.\nThis is used to retrieve the start date and time for the countdown layout.\n\n`smashgg_event_id`: the ID of the event to retrieve bracket and standing information from.\nYou can find this by going into the settings for an event on Smash.gg.\nFor example, if the settings page for my event is `https://smash.gg/admin/tournament/octo-gon-8/event-edit/532752`, then the ID is `532752`.\n\nTo reload the configuration, please close and re-open the program.\n\n## Usage\n\n### 1. Adding layouts to OBS\nThis program runs a server that serves HTML pages when connecting to certain URLs.\nThis is intended for use with the \"Browser\" source in OBS.\n![Browser Source](https://i.imgur.com/647Mi2q.png)\n\nBe default, this program serves webpages to `localhost:8000`.\n\nExample source URLs:\n```bash\n# scoreboard source (to be used with the background source)\n# recommended size: 1920x1080\nlocalhost:8000/scoreboard\nlocalhost:8000/background  # includes a mask cutout for gameplay capture\n\n# smash.gg sources\n# recommended size: 500x1080 (can adjust for wider or narrower display)\nlocalhost:8000/standings\nlocalhost:8000/countdown\nlocalhost:8000/bracket\n\n# spotify source (shows the current song and artist if playing music on Spotify)\n# recommended size: 1920x100 (can adjust to make narrower, note the text might get cut off)\nlocalhost:8000/spotify\n```\n\nThe most up-to-date list of sources can be found in [server.py](https://github.com/branden-akana/octogon-panel/blob/master/octogon/daemon/server.py)\n\n### 2. Controlling the Scoreboard\n\nWhen run, a window will open containing scoreboard controls.\n![Octogon Panel](https://i.imgur.com/PWW8eeJ.png)\n\nEdit the information on the window, then update the scoreboard overlay by clicking \"Update\".\n\n### 3. Customizing\n\n(Please note that the folder/file names are WIPs and may change at any time.)\n\n#### Backgrounds\n\nBackgrounds can be added into the `assets/bgs/` folder. At this time, only `assets/bgs/1.png` is loaded.\n\n#### HTML/CSS\n\nHTML templates are located in `templates/html`, which are rendered using Jinja2 when serving overlays.\nSCSS files are used for styling, and can be found in `style/html`. These files are rendered automatically when they are modified.\n\n#### Character Portraits\n\nCharacter portraits can be found in `assets/portraits/`.\nThese can be changed as long as they use the same filenames, however note that currently only the\ndefault color (`Default.png`) is used.\n\n### 4. Troubleshooting\n\nHaving trouble with the app? Check the [Troubleshooting](https://github.com/branden-akana/octogon-panel/wiki/Troubleshooting-\u0026-FAQ) page\nto see if your problem is listed there.\n\nIf not, feel free to open an issue explaining the problem.\n\n## Credits\n\nBG from the screenshot: [link](https://dangerdrop.tumblr.com/post/165399672305/%E6%9A%81-akatsuki-%E9%9F%BF-hibiki)\n\nServer made with `flask`\\\nGUI made with `pyqt5`\\\nHTML templating made with `jinja2`\\\nSCSS compiling made with `scss`\\\n\nand also, some GraphQL had to be written to interface with smash.gg's API.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakana808%2Foctogon-tool","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbakana808%2Foctogon-tool","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakana808%2Foctogon-tool/lists"}