Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 month 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 (about 3 years ago)
- Default Branch: main
- Last Pushed: 2022-07-29T17:22:42.000Z (over 2 years ago)
- Last Synced: 2023-03-11T19:21:48.173Z (almost 2 years 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: 3
- Watchers: 1
- Forks: 1
- Open Issues: 3
-
Metadata Files:
- Readme: README.ja-JP.md
- License: LICENSE
Awesome Lists containing this project
README
Ks Game Launcher
====
[![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)[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(['ログイン失敗'ダイアログの表示]);
```