Skip to content

Commit af92ec9

Browse files
authored
Merge pull request #40 from fa0311/develop-v4
v4.4.0
2 parents a7b6570 + 18d1c00 commit af92ec9

File tree

9 files changed

+283
-143
lines changed

9 files changed

+283
-143
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33
/*.spec
44
/__pycache__
55
*.exe
6-
*.bytes
6+
*.bytes
7+
/.venv

DMMGamePlayerFastLauncher.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,8 @@ def get_dpg5_config(dgp5_path):
5656
description="DMM Game Player Fast Launcher",
5757
)
5858
argpar.add_argument("product_id", default=None)
59-
argpar.add_argument("--game-path", default=False)
59+
argpar.add_argument("--game-path", default=None)
60+
argpar.add_argument("--game-args", default=None)
6061
argpar.add_argument("--login-force", action="store_true")
6162
argpar.add_argument("--skip-exception", action="store_true")
6263
argpar.add_argument("--https-proxy-uri", default=None)
@@ -132,7 +133,7 @@ def get_dpg5_config(dgp5_path):
132133
cookie = json.loads(contents)
133134

134135
dpg5_config = get_dpg5_config(DGP5_PATH)
135-
if not arg.game_path:
136+
if arg.game_path is None:
136137
for contents in dpg5_config["contents"]:
137138
if contents["productId"] == arg.product_id:
138139
game_path_list = glob.glob(
@@ -146,7 +147,11 @@ def get_dpg5_config(dgp5_path):
146147
)
147148
for path in game_path_list:
148149
lower_path = path.lower()
149-
if not ("unity" in lower_path or "install" in lower_path):
150+
if not (
151+
"unity" in lower_path
152+
or "install" in lower_path
153+
or "help" in lower_path
154+
):
150155
game_path = path
151156
break
152157
else:
@@ -175,6 +180,9 @@ def get_dpg5_config(dgp5_path):
175180
).json()
176181
if response["result_code"] == 100:
177182
dmm_args = response["data"]["execute_args"].split(" ")
183+
if arg.game_args is not None:
184+
dmm_args = dmm_args + arg.game_args.split(" ")
185+
print(game_path)
178186
start_time = time.time()
179187
process = subprocess.Popen(
180188
[game_path] + dmm_args, shell=True, stdout=subprocess.PIPE

README-en.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
# DMMGamePlayerFastLauncher
2+
3+
DMM Game Player Fast Launcher for secure and fast start-up
4+
5+
![img.shields.io](https://img.shields.io/github/downloads/fa0311/DMMGamePlayerFastLauncher/total)
6+
7+
[日本語](/README.md) / [English](/README-en.md)
8+
9+
[Detailed instructions(Japanese)](/docs/README-advance.md)
10+
11+
## Features
12+
13+
- **One click to launch the game**
14+
- **Run with minimal privileges**
15+
- **Do not send hardware information to DMM**
16+
17+
## Installation
18+
19+
Download `DMMGamePlayerFastLauncher-Setup.exe` from [Releases](https://github.com/fa0311/DMMGamePlayerFastLauncher/releases)
20+
Run and set up
21+
22+
## Using
23+
24+
Run `DMMGamePlayerProductIdChecker.exe` in `%AppData%\DMMGamePlayerFastLauncher\tools`
25+
Note down the `product_id` of the game you want to activate
26+
27+
![screenshot1](docs/img/DMMGamePlayerProductIdChecker1.png)
28+
29+
Right-click in Explorer or on the desktop and select **New**, **Shortcut**
30+
Enter the **DMMGamePlayerFastLauncher path** and `product_id` in **Type the location of the item**
31+
32+
Examples:
33+
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume`
34+
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe priconner`
35+
36+
**Type a name for this shortcut** can be anything
37+
38+
Then just double-click the shortcut to run it
39+
40+
## Receive update notifications
41+
42+
Notify me when there are updates to this tool
43+
44+
![screenshot1](docs/img/subscribe1.png)
45+
![screenshot1](docs/img/subscribe2.png)
46+
47+
## Source
48+
49+
[Lutwidse/priconner_launch.py](https://gist.github.com/Lutwidse/82d8e7a20c96296bc0318f1cb6bf26ee)
50+
[kira-96/Inno-Setup-Chinese-Simplified-Translation](https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation)
51+
52+
## License
53+
54+
DMMGamePlayerFastLauncher is under MIT License

README.md

Lines changed: 29 additions & 138 deletions
Original file line numberDiff line numberDiff line change
@@ -1,163 +1,54 @@
11
# DMMGamePlayerFastLauncher
2+
23
DMM Game Player のゲームを高速かつセキュアに起動できるランチャー
34

4-
![](https://img.shields.io/github/downloads/fa0311/DMMGamePlayerFastLauncher/total)
5+
![img.shields.io](https://img.shields.io/github/downloads/fa0311/DMMGamePlayerFastLauncher/total)
6+
7+
[日本語](/README.md) / [English](/README-en.md)
8+
9+
[詳しい使い方](/docs/README-advance.md)
510

611
## 特徴
7-
- **ワンクリックでゲームを起動**
8-
- **管理者権限不要**
912

10-
## Githubってなに?
11-
[非開発者向けGithubの使い方](https://blog.yuki0311.com/github_for_beginners/)
13+
- **ワンクリックでゲームを起動**
14+
- **最低限の権限で起動**
15+
- **DMM にハードウェア情報を送信しない**
1216

1317
## インストール
14-
[Releases](https://github.com/fa0311/DMMGamePlayerFastLauncher/releases) から `DMMGamePlayerFastLauncher-Setup.exe` をダウンロード<br>
15-
実行してセットアップする
1618

17-
## その他のインストール
19+
[Releases](https://github.com/fa0311/DMMGamePlayerFastLauncher/releases) から `DMMGamePlayerFastLauncher-Setup.exe` をダウンロード
20+
実行してセットアップする
1821

19-
### 手動インストール(上級者向け)
20-
[Releases](https://github.com/fa0311/DMMGamePlayerFastLauncher/releases) から `DMMGamePlayerFastLauncher.exe` をダウンロード<br>
22+
## 使い方
2123

22-
### product_idチェッカーのみインストール(上級者向け)
23-
[Releases](https://github.com/fa0311/DMMGamePlayerFastLauncher/releases) から `DMMGamePlayerProductIdChecker.exe` をダウンロード<br>
24-
変更のない場合はアップロードされていないので過去のバージョンのReleaseからダウンロードしてください
24+
`%AppData%\DMMGamePlayerFastLauncher\tools` にある `DMMGamePlayerProductIdChecker.exe` を実行する
25+
起動したいゲームの `product_id` をメモする
2526

26-
## 使い方
27-
エクスプローラーやデスクトップで右クリックし**新規作成****ショートカットの作成**を選択<br>
28-
**項目の場所を入力して下さい**にダウンロードした**DMMGamePlayerFastLauncherのパス****product_id**を入力<br>
29-
ショートカットの名前は何でも良いです<br>
30-
31-
例<br>
32-
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume`<br>
33-
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe priconner`<br>
34-
35-
## インストールしているゲームのproduct_idを取得する
36-
product_idとはゲームに割り当てられているidです<br>
37-
`%AppData%\DMMGamePlayerFastLauncher\tools` にある `DMMGamePlayerProductIdChecker.exe` を実行することで確認できます<br>
38-
※エクスプローラーのファイルパス入力欄に`%AppData%\DMMGamePlayerFastLauncher\tools`とそのまま入力すると移動できます
39-
40-
## 引数
41-
`DMMGamePlayerFastLauncher.exe <product_id>`
42-
43-
| オプション | エイリアス | デフォルト | 備考 | タイプ |
44-
|----------------------|------------|--------------------------------------------------|-----------------------------------------|--------|
45-
| --help | -h | False | | bool |
46-
| --game-path | | False | ゲームのパス Falseにすると自動 | |
47-
| --login-force | | False | ログインを強制する | bool |
48-
| --skip-exception | | False | エラーをスキップ | bool |
49-
| --https-proxy-uri | | None | HTTPSプロキシを指定 | string |
50-
| --non-request-admin | | False | 管理者権限が必要な際にリクエストしない | bool |
51-
52-
## ヘルプ
53-
54-
### インストールするとき
55-
> **セットアップする際、WindowsによってPCが保護されましたと表示される**<br>
56-
> 詳細情報をクリックして実行をクリック<br>
57-
58-
> **WindowsDefenderがトロイの木馬判定を出す**<br>
59-
> このツールはトロイの木馬ではないので誤判定です<br>
60-
> 不安が残るようであればプログラムのコードを公開しているのでビルドしてお使い下さい
61-
62-
### 全てのゲームに起こる症状
63-
64-
> **「要求された操作には管理者特権が必要です」というエラーが出る**<br>
65-
> DMMGamePlayerが管理者権限でインストールされています<br>
66-
> DMMGamePlayerから管理者権限を外して下さい<br>
67-
> (このツールのv4.0以降このエラーは出ないと思いますが)
68-
69-
> **「日本国外からのアクセスは禁止されています」というエラーが出る**<br>
70-
> `--https-proxy-uri`を指定してください<br>
71-
> 例<br>
72-
> `%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --https-proxy-uri http://host:port`<br>
73-
> Basic認証<br>
74-
> `%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --https-proxy-uri http://user:pass@host:port`<br>
75-
> Socks5<br>
76-
> `%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --https-proxy-uri socks5://user:pass@host:port`<br>
77-
> [requests.org/Proxies](https://docs.python-requests.org/en/latest/user/advanced/#proxies)
78-
79-
### 特定のゲームに起こる症状
80-
81-
> **「ゲームのパスの検出に失敗しました」というエラーが出る**<br>
82-
> **アンインストーラーなどの別のソフトが起動する**<br>
83-
> 自動でゲームのパスを探す機能のバグです<br>
84-
> `--game-path <ゲームのパス>` を指定してください<br>
85-
例<br>
86-
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --game-path %UserProfile%/umamusume/umamusume.exe`<br>
87-
88-
> **「ゲームが起動しませんでした」というエラーが出る**<br>
89-
> `--game-path <ゲームのパス>` を指定してください<br>
90-
例<br>
91-
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --game-path %UserProfile%/umamusume/umamusume.exe`<br>
92-
93-
> **ゲームが起動しているのに「ゲームが起動しませんでした」というエラーが出る**<br>
94-
> `--skip-exception` を指定することでエラーをスキップ出来ますがオススメしません<br>
95-
> 別の解決方法を探すので発生するゲームがあれば報告して下さい<br>
96-
> 例<br>
97-
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume --skip-exception`<br>
98-
99-
> **BlueStacksを利用しているゲームだとエラーが出る**<br>
100-
> 現在、BlueStacksを利用しているゲームは対応していません<br>
101-
> 対応する予定はないです
102-
103-
> **「要求された操作には管理者特権が必要です」というエラーが出る**<br>
104-
> ゲームが管理者権限でインストールされています<br>
105-
> ゲームから管理者権限を外して下さい<br>
106-
107-
> **「指定されたファイルが見つかりません」というエラーが出る**<br>
108-
> `--game-path` で指定したゲームのパスが間違っています<br>
109-
110-
> **プロキシを設定した際、ゲームは起動するがゲーム側に通信エラーが発生する**<br>
111-
> ゲーム側で国外アクセスが禁止されています<br>
112-
> ウマ娘、プリコネRは禁止されていました<br>
113-
114-
> **管理者権限が要求され起動しないかつエラーが出ない**<br>
115-
> そのゲームには対応していません<br>
116-
> IssueやTwitterでバグ報告お願いします<br>
117-
118-
### 何もしてないのに壊れた!!ってとき
119-
120-
> **「ログインに失敗しました」というエラーが出る**<br>
121-
> DMMGamePlayerを起動してログインし直して下さい<br>
122-
123-
> **「ゲームが起動しませんでした」というエラーが出る**<br>
124-
> ゲームにアップデートがないか確認して下さい<br>
125-
> 管理者権限を与えてみてください<br>
126-
> それでも解決しなければIssueやTwitterでバグ報告お願いします<br>
127-
128-
> **「起動にエラーが発生したため修復プログラムを実行しました」というエラーが出る**<br>
129-
> まれに表示される場合は正常な動作です<br>
27+
![screenshot1](docs/img/DMMGamePlayerProductIdChecker1.png)
13028

131-
> **「起動にエラーが発生したため修復プログラムを実行しました」と連続して何度も表示される**<br>
132-
> `%AppData%\DMMGamePlayerFastLauncher``cookie.bytes` を削除してみて下さい<br>
133-
> 解決しない場合、アカウントに問題がある場合が高いです<br>
134-
> DMMGamePlayerからゲームを起動できるか確認してみて下さい<br>
135-
> それでも解決しない場合はエラーの一番下の{ }で囲まれた文字列のerrorの右側に理由が書いているので心当たりがあればそれで解決して下さい<br>
136-
> 心当たりがない場合は{ }で囲まれた文字列を開発者に送って下さい<br>
29+
エクスプローラーやデスクトップで右クリックし**新規作成****ショートカットの作成**を選択
30+
**項目の場所を入力して下さい****DMMGamePlayerFastLauncher のパス**`product_id` を入力
13731

138-
> **「データが無効です」というエラーが出る**<br>
139-
> `%AppData%\DMMGamePlayerFastLauncher``cookie.bytes` を削除してみて下さい<br>
32+
例:
33+
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe umamusume`
34+
`%AppData%\DMMGamePlayerFastLauncher\DMMGamePlayerFastLauncher.exe priconner`
14035

141-
> **その他のエラー**<br>
142-
> `%AppData%\DMMGamePlayerFastLauncher``cookie.bytes` を削除してみて下さい<br>
143-
144-
> **解決しない**<br>
145-
> ツールが対策された可能性があります<br>
36+
**ショートカットの名前**は何でも良い
14637

147-
### 不具合以外
38+
あとはショートカットをダブルクリックして実行するだけ
14839

149-
> **ゲームのアイコンに寄せたい**<br>
150-
> ショートカットを右クリック→プロパティ→アイコンの変更→参照
40+
## アップデート通知を受け取る
15141

152-
> **このツールを使用するとDMMGamePlayerを起動する際に毎回ログインを求められるようになった**<br>
153-
> DMMGamePlayerのバグ(仕様?)です<br>
154-
> どうすることも出来ないので頻繁にDMMGamePlayerを起動する方にこのツールはオススメしません<br>
42+
このツールにアップデートがあった時に通知します
15543

156-
> **なぜか管理者権限が要求される**<br>
157-
> ゲームによっては要求されたりされなかったりします<br>
44+
![screenshot1](docs/img/subscribe1.png)
45+
![screenshot1](docs/img/subscribe2.png)
15846

15947
## 典拠
48+
16049
[Lutwidse/priconner_launch.py](https://gist.github.com/Lutwidse/82d8e7a20c96296bc0318f1cb6bf26ee)
50+
[kira-96/Inno-Setup-Chinese-Simplified-Translation](https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation)
16151

16252
## ライセンス
53+
16354
DMMGamePlayerFastLauncher is under MIT License

0 commit comments

Comments
 (0)