https://github.com/anon5r/ksgamelauncher
1 click BEMANI for コナステ game launcher
https://github.com/anon5r/ksgamelauncher
bemani bombergirl csharp ddr dotnet gitadora infinitas konaste launcher nostalgia popn-music sdvx tools
Last synced: about 1 year ago
JSON representation
1 click BEMANI for コナステ game launcher
- Host: GitHub
- URL: https://github.com/anon5r/ksgamelauncher
- Owner: anon5r
- License: mit
- Created: 2021-11-16T16:50:31.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2022-07-29T17:22:42.000Z (almost 4 years ago)
- Last Synced: 2025-03-30T01:51:39.896Z (about 1 year ago)
- Topics: bemani, bombergirl, csharp, ddr, dotnet, gitadora, infinitas, konaste, launcher, nostalgia, popn-music, sdvx, tools
- Language: C#
- Homepage: https://launcher-app.sdvx.net
- Size: 6.32 MB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.ja-JP.md
- License: LICENSE
Awesome Lists containing this project
README
Ks Game Launcher
====
[](https://github.com/anon5r/KSGameLauncher/releases/latest) [](https://github.com/anon5r/KSGameLauncher/releases/latest)

[English](README.md)
# これは何?
コナステのゲームをワンクリックで起動するためのアプリケーションです。
動作、機能などの詳細は[こちらのドキュメント](https://launcher-app.sdvx.net/index.ja.html)を確認してください。
# 開発環境
OS: Microsoft® Windows™ 10 以上
必要ランタイム: Microsoft® .NET Framework 4.8
インストールが必要な場合は [こちら](https://docs.microsoft.com/ja-jp/dotnet/framework/install/on-windows-10) からインストールしてください。
## オプショナル
- Docker
# ビルド方法
Microsoft® Visual Studio、または [MSBuild](https://docs.microsoft.com/ja-jp/visualstudio/msbuild/msbuild?view=vs-2022) を用いてビルドすることができます。
## NuGet
いくつかのNuGetライブラリを使用しています。
それらをインストールするためにNuGetから復元する必要があります。
```
nuget restore KsGameLauncher.sln
```
# デバッグ
一部、サーバーからデータをダウンロードする機能があります。
これをシミュレートするために簡易WebサーバーとしてDockerイメージを同梱しています。
## イメージのビルド
```
docker compose build
```
## コンテナの作成、起動
```
docker compose up -d
```
サーバーはポート `8080` で起動します。
接続先 `http://localhost:8080`
ゲーム一覧となる `appinfo.json` は `http://localhost:8080/conf/appinfo.json` となります。
## コンテナの停止
```
docker compose stop
```
## コンテナの削除
```
docker compose down
```
## トラブルシュート
既存のポートと重複する場合は `docker-compose.yml` の `services.web.ports` で変更してください。
# 処理フロー
### 起動
```mermaid
flowchart TD;
A([開始]) --> B{appinfo.jsonが存在するか};
B -- ある --> E;
B -- ない --> C[サーバーからappinfo.jsonを取得];
C ----> D{ファイルを取得/保存できたか};
D -- Yes --> E[コンテキストメニューに\nゲーム一覧を表示];
D -- No --> F[コンテキストメニューに何も表示しない];
E --> G([起動完了]);
F --> G([起動完了]);
```
### ゲーム起動フロー
```mermaid
flowchart TD;
subgraph 通常フロー;
A([ゲームを選択]) --> B{アカウントの設定有無};
B -- 済み --> C[アカウント情報読込];
B -- まだ --> D(['アカウントの設定が必要です'の表示]);
C --> E{ログインセッションの確認\nログイン済み};
E -- Yes --> F;
E -- No --> AA([ログインフローへ])
F[ゲーム起動ページへリクエスト] --> G[ゲーム起動ページの読み込み];
G -- ページの解析 --> H["「ゲームを起動」ボタンをさがす"];
H --> I[ゲーム起動用カスタムURIを取得];
I --> J[レジストリからゲームのパスを取得];
J --> K[カスタムURIをパラメータに指定して\nlauncher.exeを実効];
K --> L([完了]);
end
X([ログインフロー後]) --> F;
```
### ログインフロー
```mermaid
flowchart TD;
Start([ログインフロー]) --> LoginScreen[ログイン画面を取得];
LoginScreen --> ReqOTP{OTPが必要であるか};
ReqOTP -- Yes --> OTP{{OTP入力ダイアログ表示}};
ReqOTP -- No --> SendLogin[認証情報を送信];
OTP -- OTP入力 --> SendLogin;
OTP -- キャンセル --> Cancel1([キャンセル処理]);
SendLogin --> IsSuccess1{ログイン成功};
IsSuccess1 -- Yes --> 2FARes{二要素認証が必要};
IsSuccess1 -- No --> LoginFail;
2FARes -- Yes --> 2FA{{二要素認証入力ダイアログ表示}};
2FARes -- No --> Continue([ゲーム起動処理続行]);
2FA -- コード入力 --> IsSuccess2{ログイン成功};
2FA -- キャンセル --> Cancel2([キャンセル処理]);
IsSuccess2 -- Yes --> Continue([ゲーム起動処理続行]);
IsSuccess2 -- No --> LoginFail(['ログイン失敗'ダイアログの表示]);
```