-
-
Notifications
You must be signed in to change notification settings - Fork 2
Installer ja
English | 日本語
中核 1.1.0(2026-09-15)で入りました。インストーラーのファイルは、フレームワークのリリース zip の
installer/にあります。
Drag'n Wash の Mod なら、どれでも同じインストーラーを同梱できます。Windows 用の Install.exe と、Steam Deck / Linux 用の install-steamdeck.sh です。どちらも BepInEx、Drag'n Wash ModFramework、それに自分の Mod を入れたり取り除いたりします。どの Mod でも同じ決まりで動くので、ある Mod を入れてもほかの Mod の導入が壊れることはありません。Mod ごとに違うところは、mod-install.json という 1 つのファイルに書くだけです。
プレイヤーの方へ。 Mod のリリース zip を開くと、一番上の階層に Install.exe と install-steamdeck.sh が mod-install.json と並んで入っています。zip をどこかに展開して、Windows なら Install.exe をダブルクリック、Steam Deck や Linux ならデスクトップモードで bash install-steamdeck.sh を動かしてください。Mod を取り除くときは、もう一度動かして Uninstall を選びます。ゲームの中の Options → Mods からもアンインストールできます(プレイヤー向け を見てください)。
Install.exe フレームワークのリリース zip の installer/ から
install-steamdeck.sh フレームワークのリリース zip の installer/ から
mod-install.json 自分で書く
BepInEx/plugins/<自分の Mod>/...
README.md
1.5.0 からは、zip にフレームワークを入れなくて構いません。ビルドに使った ModFramework のリリースを mod-install.json(下のスキーマ 2)に書いておけば、インストーラーがフレームワーク専用の GitHub のリリースから取ってきて、確かめてから入れます。BepInEx/plugins/DragNWash.ModFramework*/ と preloader を入れたままの zip(スキーマ 1、またはフレームワーク入りのスキーマ 2)も、これまでどおり入れられます。
インストーラーのファイルは手を加えずに同梱してください。Install.exe は決定的にビルドしているので、どの Mod に入っていてもハッシュが同じで、ウイルス対策ソフトからの評価も共有されます。
{
"schema": 2,
"name": "My Mod",
"version": "1.2.0",
"website": "https://github.com/me/mymod",
"icon": "MyMod/icon.png",
"plugins": ["MyMod"],
"keep": ["MyMod/UserData"],
"configFiles": ["com.example.mymod.cfg"],
"choices": [
{
"id": "difficulty",
"label": { "en": "Difficulty", "ja": "難しさ", "zh": "难度" },
"config": { "file": "com.example.mymod.cfg", "section": "General", "key": "Difficulty" },
"options": [
{ "value": "Normal", "name": "Normal" },
{ "value": "Hard", "name": "Hard" }
],
"default": "Normal"
}
],
"framework": {
"version": "1.6.0",
"sha256": "2fb8862835c84a707f5f4c37ea01c7d439d434926dbb8fcebb063d37f4c7d25f",
"size": 2326308,
"needs": {
"DragNWash.ModFramework": "1.2.0",
"DragNWash.ModFramework.ToolWindow": "1.5.0"
}
}
}| 項目 | |
|---|---|
schema |
2(1.5.0 から)。zip にフレームワークを入れていて framework を書かないなら 1。知っているより新しい schema は、「Use the installer from the mod's release」と言って受け付けません。 |
name、version、website
|
インストーラーの画面に出ます。website は https:// にしてください。 |
plugins |
BepInEx/plugins の下の自分のフォルダー。フォルダー名だけを書き、DragNWash.ModFramework* は指定できません。 |
icon |
省略できます(1.6.0 から)。payload の中の PNG か JPEG(相対パス、512 KB くらいまで)。インストーラーとランチャーが、Mod を入れる・更新するときに出します。なければ、Mod の名前から文字のタイルを描きます。 |
keep |
自分のフォルダーの中で、プレイヤーのデータが入っているパス。プレイヤーがすべて削除を選ばない限り、アンインストールしても残します。 |
configFiles |
BepInEx/config にある自分のファイル。アンインストールで削除します。 |
choices |
なくても構いません。1 つが、インストーラーでの質問 1 つになり、答えは BepInEx の設定の項目(file、section、key)に書き込まれます。label は言語ごと(en、ja、zh)に書きます。default には選択肢の値を書くか、"ui-language" にするとシステムの言語に合う値(ja、zh-Hans、pt-BR など)の選択肢を選びます。設定ファイルにもう値があればそちらが優先されるので、更新してもプレイヤーの選んだものは変わりません。 |
framework |
スキーマ 2。Mod のビルドに使った ModFramework のリリースです。version、その zip の sha256 と size(どちらもリリースの SHA256SUMS とリリースのページにあります)、それに needs(Mod が使う DragNWash.ModFramework* のプラグインフォルダーごとの最低バージョン)を書きます。 |
パスはすべて確認するので、manifest から自分のフォルダーとファイルの外を指すことはできません。framework では、バージョンは数字と点だけ、ハッシュは小文字の 16 進 64 桁、サイズは 0 より大きく 20 MB まで、needs の名前はどれも DragNWash.ModFramework で始まっている必要があります。
zip にフレームワークが入っていないときは、書いておいたリリースを https://github.com/TomXV/dragnwash-modframework/releases/download/v<version>/DragNWash.ModFramework-<version>.zip から取ってきます。このアドレスはバージョンだけから組み立て、manifest のほかの値は使いません。
- ダウンロードが要るときだけ、そのたびに先に聞きます。どこにつなぐか(github.com と release-assets.githubusercontent.com、BepInEx も取ってくるときは BepInEx の GitHub も)、なぜか、何を送るか(ふつうの HTTPS の要求と User-Agent
DragNWash.Installer/<version>。GitHub には IP アドレスが見えます)、どう確かめるかを出します。Choose zip... で自分でダウンロードした zip を選ぶこともでき、同じように確かめます。 - サイズが
sizeと違った時点でダウンロードを止め、SHA-256 がsha256と合ったときだけ使います。 - 入れるのは中核、preloader、
needsにあるライブラリだけで、Inspector、Overrides、Bridge、Graphs は入れません。無いもの、最低バージョンより古いもの、(中核と preloader は)書いたリリースより古いものを取ってきます。そのあとは新しいものでしか置き換えないので、ほかの Mod が入れた新しいフレームワークは残ります。 - 全部そろっていれば、何もダウンロードせず、どこにもつなぎません。
- ダウンロードに失敗したときは、理由(インターネットにつながらない、GitHub が応えない・ダウンロードを制限している、リリースがまだ公開されていない、サイズやハッシュが合わない)をふつうの言葉で出し、ゲームのフォルダーは元のままにします。入っているフレームワークが最低バージョンを全部満たしていれば、Mod だけを入れる道も出します。
下書きのリリースはダウンロードできないので、書いたフレームワークのリリースを先に公開してから、Mod を公開してください。
インストールと更新
- Steam からゲームを探す(見つからなければプレイヤーがフォルダーを選ぶ)。ゲームが起動中なら、そこで中断する。ゲームのフォルダーに別の Mod ローダー(KrazenLabs の dnw-modloader や、BepInEx を起動しない Doorstop の設定)があれば、何も変えずに止まる。1 つのゲームのフォルダーに入れられるローダーは 1 つだけ
- BepInEx 5.4.23.5 が無ければ入れる。ダウンロードは固定の SHA-256 で確認し、合わなければ何も入れない
- フレームワークを入れる。zip に入っていればそれを、なければ書いておいたリリースから(上を参照)。ほかの Mod が入れた新しいフレームワークを、古いもので上書きすることはない
- 自分のフォルダーを、今あるものに上書きでコピーする。更新でファイルを消すことはないので、プレイヤーが足したファイルは残る
- 選択肢の答えを設定ファイルに書く
- Mods 画面でオフにされていればオンに戻し、ゲーム内で予約されたアンインストールを取り消す
- Mods 画面や次のインストーラーのために、
mod-install.jsonの写しを最初のプラグインフォルダーに置く - Windows では(1.6.0 から)、フレームワークと一緒にランチャーを
BepInEx\DragNWash.Installerに置き、起動時に更新を確認する にチェックがあれば、Steam の起動オプションをランチャー経由の起動にする。Steam は起動中に自分の設定を書き直すので、Steam が開いていると先に確認が出る(Steam を閉じる、自分で閉じる、起動オプションは設定しない)。Steam のlocalconfig.vdfで変えるのはその 1 つの値だけで、先にlocalconfig.vdf.dnw-backupにコピーする。前からある起動オプションは残す - Steam Deck / Linux では、
run_bepinex.shのexecutable_nameと、起動オプション./run_bepinex.sh %command%を設定する。そのために、確認してから Steam をいったん閉じる
インストールで置き換えたり消したりするファイルは、先に BepInEx\DragNWash.Installer\backup\<日時> にコピーします。途中で失敗したら(使用中のファイル、書き込めないフォルダーなど)、全部元に戻します。うまくいったら、そのインストールのバックアップだけを残し、ログの最後にその場所を書きます。
アンインストール
- 自分のフォルダーと
configFilesを削除する。ただしkeepのパスは、プレイヤーが削除を選ばない限り残す - フレームワークはほかの Mod が残っていないときだけ、
BepInEx/SaveHistoryはプレイヤーがデータを残さないときだけ削除する - BepInEx は、プレイヤーが選び、ほかの Mod もパッチャーも残っていないときだけ削除する。Steam Deck では、Mod が残っていなければ起動オプションも元に戻す
ログは、Windows では画面に、Linux では ~/.local/state/dragnwash-installer/installer.log に出ます。
Mods 画面には、フレームワークとそのライブラリ以外のすべての Mod に Uninstall ボタンがあります。1 回目に押すと、何が起きるかと、この Mod を必要としている Mod が出て、2 回目で確定します。ゲームの起動中は Mod を取り除けないので、次にゲームを起動したとき、どの Mod も読み込まれる前にフレームワークのプリローダーが削除します。それまでは Cancel uninstall で取り消せます。
削除されるのは、BepInEx/plugins の下のその Mod のフォルダー(直接置かれていればその DLL)です。フォルダーに mod-install.json があれば keep は残して configFiles を削除し、なければプラグインの GUID の名前の設定ファイルを削除します。BepInEx とフレームワークは残るので、消したいときはインストーラーを使ってください。
テスト用に、どちらも質問なしで動かせます。
Install.exe --install [--game-dir <フォルダー>] [--choice <id>=<値>] [--launch-option on|off|keep]
Install.exe --uninstall [--game-dir <フォルダー>] [--remove-data] [--remove-bepinex]
bash install-steamdeck.sh --yes --install [--game-dir <フォルダー>] [--choice <id>=<値>] [--no-launch-option]
bash install-steamdeck.sh --yes --uninstall [--remove-data] [--remove-bepinex]
--bepinex-zip <ファイル> で手元の BepInEx の zip を使えます。その場合も固定の SHA-256 で確認します。--framework-zip <ファイル> は手元の ModFramework の zip を使い、同じく sha256 と size で確かめます。--no-download はどこにもつなぎません。BepInEx か ModFramework をダウンロードしないといけないときは、何も変えずに止まります。--keep-framework は Mod だけを入れて、入っているフレームワークはそのままにします。--install は、BepInEx と同じく、ダウンロードへの同意として扱います。--launch-option は、Steam の起動オプションにランチャーを入れる・外す・そのままにする、を選びます(--install の既定は on)。コマンドラインは Steam を閉じないので、Steam が起動中なら起動オプションには手を付けず、ログにそう書きます。全部の一覧は Install.exe --help で出ます。
1.6.0 から、Install.exe は WebView2 で、ランチャーと同じ見た目の窓を出します。ロゴのあと、画面を 1 枚ずつ(準備、作業中、完了)出し、手順ごとに絵が出ます。今までどおり 1 つのファイルです。WebView2 の部品は中に入っていて、WebView2Loader.dll は %LOCALAPPDATA%\DragNWash ModFramework\Installer に一度だけ書き出し、使うたびに SHA-256 で確かめます。Install.exe の隣には何も書きません。WebView2 ランタイムがないときや新しい窓が出せないときは、今までの窓が開き、ログに理由が出ます。DNW_INSTALLER_CLASSIC=1 で、わざと今までの窓を開けます。
Players
Mod authors
- Getting started
- Playing well with others (the guide)
- Going online
- Installer
- Mod reload
- Overrides (no code)
- Graphs (no code, makes things happen)
Tools (F1, developer tools)
- Inspector
- Console
- Code graph
- Bridge (AI clients, MCP)
API
日本語
- ホーム
- プレイヤー向け · ランチャー · FAQ · クラッシュレポート
- はじめての Mod · ほかの Mod と一緒に動かす · 外と通信する Mod · インストーラー · Mod の再読み込み · Overrides · Graphs
- Inspector · Console · コードのグラフ · Bridge
- 中核 API · 操作の登録簿 · Text · Dialogue · Tool window · Assets · Flags and saves · GameEvents · SettingMeta
Links
- Repository
- Releases
- Changelog
- Design records: DESIGN · ROADMAP · CONTENT_POLICY