{"id":21958691,"url":"https://github.com/anon5r/ksgamelauncher","last_synced_at":"2025-04-23T17:24:01.142Z","repository":{"id":39614447,"uuid":"428739296","full_name":"anon5r/KsGameLauncher","owner":"anon5r","description":"1 click BEMANI for コナステ game launcher ","archived":false,"fork":false,"pushed_at":"2022-07-29T17:22:42.000Z","size":6626,"stargazers_count":7,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-30T01:51:39.896Z","etag":null,"topics":["bemani","bombergirl","csharp","ddr","dotnet","gitadora","infinitas","konaste","launcher","nostalgia","popn-music","sdvx","tools"],"latest_commit_sha":null,"homepage":"https://launcher-app.sdvx.net","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/anon5r.png","metadata":{"files":{"readme":"README.ja-JP.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-11-16T16:50:31.000Z","updated_at":"2024-08-31T13:53:06.000Z","dependencies_parsed_at":"2022-09-15T21:40:40.964Z","dependency_job_id":null,"html_url":"https://github.com/anon5r/KsGameLauncher","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon5r%2FKsGameLauncher","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon5r%2FKsGameLauncher/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon5r%2FKsGameLauncher/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/anon5r%2FKsGameLauncher/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/anon5r","download_url":"https://codeload.github.com/anon5r/KsGameLauncher/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250478565,"owners_count":21437190,"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":["bemani","bombergirl","csharp","ddr","dotnet","gitadora","infinitas","konaste","launcher","nostalgia","popn-music","sdvx","tools"],"created_at":"2024-11-29T09:16:47.046Z","updated_at":"2025-04-23T17:24:01.121Z","avatar_url":"https://github.com/anon5r.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿Ks Game Launcher\n====\n[![GitHub release (latest by date)](https://img.shields.io/github/v/release/anon5r/KSGameLauncher)](https://github.com/anon5r/KSGameLauncher/releases/latest) [![GitHub all releases](https://img.shields.io/github/downloads/anon5r/KSGameLauncher/total)](https://github.com/anon5r/KSGameLauncher/releases/latest)\n\u003ca href=\"https://github.com/anon5r/KSGameLauncher/releases\"\u003e\u003cimg src=\"https://github.com/anon5r/ksgamelauncher-docs/raw/main/assets/images/app-logo.png\" alt=\"KS Game Launcher\" width=\"120\" align=\"right\"\u003e\u003c/a\u003e\n\n[English](README.md)\n\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/anon5r/KSGameLauncher/releases\"\u003e\n    \u003cimg src=\"https://raw.githubusercontent.com/anon5r/ksgamelauncher-docs/main/res/screen1.png\" alt=\"drawing\" width=\"500\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\n# これは何？\n\nコナステのゲームをワンクリックで起動するためのアプリケーションです。\n\n動作、機能などの詳細は[こちらのドキュメント](https://launcher-app.sdvx.net/index.ja.html)を確認してください。\n\n\n# 開発環境\n\nOS: Microsoft\u0026reg; Windows\u0026trade; 10 以上\n\n必要ランタイム: Microsoft\u0026reg; .NET Framework 4.8\n\nインストールが必要な場合は [こちら](https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-10) からインストールしてください。\n\n\n## オプショナル\n\n- Docker\n\n\n# ビルド方法\n\nMicrosoft\u0026reg; Visual Studio、または [MSBuild](https://docs.microsoft.com/ja-jp/visualstudio/msbuild/msbuild?view=vs-2022) を用いてビルドすることができます。\n\n## NuGet\n\nいくつかのNuGetライブラリを使用しています。\n\nそれらをインストールするためにNuGetから復元する必要があります。\n\n```\nnuget restore KsGameLauncher.sln\n```\n\n\n# デバッグ\n\n一部、サーバーからデータをダウンロードする機能があります。\nこれをシミュレートするために簡易WebサーバーとしてDockerイメージを同梱しています。\n\n\n## イメージのビルド\n\n```\ndocker compose build\n```\n\n## コンテナの作成、起動\n\n```\ndocker compose up -d\n```\n\nサーバーはポート `8080` で起動します。\n接続先 `http://localhost:8080`\n\nゲーム一覧となる `appinfo.json` は `http://localhost:8080/conf/appinfo.json` となります。\n\n\n## コンテナの停止\n\n```\ndocker compose stop\n```\n\n## コンテナの削除\n\n```\ndocker compose down\n```\n\n## トラブルシュート\n\n既存のポートと重複する場合は `docker-compose.yml` の `services.web.ports` で変更してください。\n\n\n# 処理フロー\n\n### 起動\n\n```mermaid\n  flowchart TD;\n      A([開始]) --\u003e B{appinfo.jsonが存在するか};\n      B -- ある --\u003e E;\n      B -- ない  --\u003e C[サーバーからappinfo.jsonを取得];\n      C ----\u003e D{ファイルを取得/保存できたか};\n      D -- Yes --\u003e E[コンテキストメニューに\\nゲーム一覧を表示];\n      D -- No  --\u003e F[コンテキストメニューに何も表示しない];\n      E --\u003e G([起動完了]);\n      F --\u003e G([起動完了]);\n```\n\n### ゲーム起動フロー\n\n```mermaid\n  flowchart TD;\n      subgraph 通常フロー;\n        A([ゲームを選択]) --\u003e B{アカウントの設定有無};\n        B -- 済み --\u003e C[アカウント情報読込];\n        B -- まだ  --\u003e D(['アカウントの設定が必要です'の表示]);\n        C --\u003e E{ログインセッションの確認\\nログイン済み};\n        E -- Yes --\u003e F;\n        E -- No  --\u003e AA([ログインフローへ])\n        F[ゲーム起動ページへリクエスト] --\u003e G[ゲーム起動ページの読み込み];\n        G -- ページの解析 --\u003e H[\"「ゲームを起動」ボタンをさがす\"];\n        H --\u003e I[ゲーム起動用カスタムURIを取得];\n        I --\u003e J[レジストリからゲームのパスを取得];\n        J --\u003e K[カスタムURIをパラメータに指定して\\nlauncher.exeを実効];\n        K --\u003e L([完了]);\n      end\n      X([ログインフロー後]) --\u003e F;\n```\n\n### ログインフロー\n\n```mermaid\n  flowchart TD;\n      Start([ログインフロー]) --\u003e LoginScreen[ログイン画面を取得];\n      LoginScreen --\u003e ReqOTP{OTPが必要であるか};\n      ReqOTP -- Yes --\u003e OTP{{OTP入力ダイアログ表示}};\n      ReqOTP -- No  --\u003e SendLogin[認証情報を送信];\n      OTP -- OTP入力 --\u003e SendLogin;\n      OTP -- キャンセル --\u003e Cancel1([キャンセル処理]);\n      SendLogin --\u003e IsSuccess1{ログイン成功};\n      IsSuccess1 -- Yes --\u003e 2FARes{二要素認証が必要};\n      IsSuccess1 -- No  --\u003e LoginFail;\n      2FARes -- Yes --\u003e 2FA{{二要素認証入力ダイアログ表示}};\n      2FARes -- No  --\u003e Continue([ゲーム起動処理続行]);\n      2FA -- コード入力 --\u003e IsSuccess2{ログイン成功};\n      2FA -- キャンセル --\u003e Cancel2([キャンセル処理]);\n      IsSuccess2 -- Yes --\u003e Continue([ゲーム起動処理続行]);\n      IsSuccess2 -- No --\u003e LoginFail(['ログイン失敗'ダイアログの表示]);\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanon5r%2Fksgamelauncher","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fanon5r%2Fksgamelauncher","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fanon5r%2Fksgamelauncher/lists"}