For AI agents: the complete documentation index is available at https://renmori.mewbaka.cn/ja/llms.txt, the full documentation bundle is available at https://renmori.mewbaka.cn/ja/llms-full.txt, and this page is available as Markdown at https://renmori.mewbaka.cn/ja/cli/configuration.md.
  • 日本語
  • 設定ファイル renmori.toml

    renmori protect は設定なしで実行できます。チーム内で保護パラメータを固定したい場合や、CI で同じ設定を再利用したい場合は、TOML 形式の設定ファイル renmori.toml を使用できます。設定ファイルのキーはすべて任意であり、設定されていないキーにはデフォルト値が使用されます。

    検索順序

    1. -c, --config FILE で指定したファイル(ファイルが存在しない場合、コマンドは終了コード 2 で失敗)
    2. ビルドルートの renmori.toml、すなわち <game-dir>/renmori.toml
    3. カレントディレクトリの renmori.toml

    最初に見つかったファイルが使用され、使用したパスが stderr に表示されます。3 か所のいずれにも存在しない場合は、すべてデフォルト値が使用されます。

    Tip

    ビルドルートに置いた renmori.toml は game/ の外にあるためアーカイブされませんが、ビルドディレクトリ内に残ります。設定ファイルを配布用ビルドに含めたくない場合は、カレントディレクトリに置くか、-c で別の場所を指定してください。

    設定ファイルの読み込みには Python 3.11 以降が必要です。Python 3.9 または 3.10 では tomli を追加でインストールする必要があり、インストールされていない場合、コマンドは終了コード 2 で失敗します。

    マージルール

    設定ルール
    一般的な設定コマンドラインオプション > 設定ファイル > デフォルト値
    除外リスト上書きせず、steam_appid.txt(組み込み)、keep_on_disk、exclude、コマンドラインの --exclude の順にマージ
    lockdown設定ファイルで true または false を設定可能。コマンドラインの --no-lockdown が優先され、強制的に無効化
    keep_plaintext、launcher設定ファイルとコマンドラインのどちらか一方で有効にすれば有効

    [protect] セクション

    キー型デフォルト値対応するオプション説明
    strength文字列未設定(フル保護)--strength保護強度。値は baseline、auto、またはプラグインが宣言する強度
    lockdownブール値true--no-lockdown保護済みビルドで開発者モード、開発者コンソールとデータエクスポート用サブコマンドを無効化
    chunk_size整数65536--chunk-sizeコンテナのチャンクサイズ(単位はバイト)
    keep_plaintextブール値false--keep-plaintext保護後も平文の元ファイルを保持。問題の調査専用
    exclude文字列の配列[]--exclude暗号化せずディスク上に保持するファイルのパターン
    keep_on_disk文字列の配列[]—エンジン以外のプログラムが読み込み、平文のまま保持すべきファイルのパターン。steam_appid.txt は常に含まれる
    platforms文字列の配列自動検出--platformsプラグインのみ:対象プラットフォームのリスト
    launcherブール値false--launcherプラグインのみ:鍵をネイティブランチャーに紐付けてビルドと共に配布

    strength

    値動作
    未設定フル保護。クローズドプラグインが必要で、プラグインが利用できない場合は失敗
    "baseline"オープンソースのベースライン形式。プラグインは使用しない
    "auto"プラグインが利用可能ならフル保護、そうでなければベースラインを使用
    プラグインが宣言する値例えばポリモーフィック強度 "poly" など。プラグインに処理を委ねる

    詳細な違いは保護強度とクローズドプラグインを参照してください。

    lockdown

    有効にすると、実行時に config.developer と config.console が False に設定され、Ren'Py のコマンドラインサブコマンド compile、dialogue、translate、add_from、merge_strings の実行が拒否されます。これらのサブコマンドはスクリプトやテキストデータをディスクにエクスポートできるため、リリース版では無効にしておく必要があります。false に設定するのは、社内テスト用ビルドで開発者コンソールを使用する必要がある場合のみにしてください。

    chunk_size

    各チャンクは個別に暗号化され、16 バイトの認証タグが付加されます。デフォルト値の 65536 バイトでは、サイズのオーバーヘッドは約 0.024% です。大きなチャンクは大容量の CG や動画のシーケンシャルな読み込みに有利であり、小さなチャンクは多数の小さなファイルによる追加オーバーヘッドを抑えます。フル保護のチャンクパラメータはプラグインがビルドごとに決定します。

    exclude と keep_on_disk

    どちらも一致したファイルを暗号化せずディスク上に保持しますが、用途が異なります。keep_on_disk はエンジン以外のプログラムが読み込むファイルを宣言するためのもので、exclude はそれ以外で平文のまま保持する必要がある場合に使用します。パターンはゲーム相対パスに対して照合され、Python の fnmatch のセマンティクスを使用します。* はディレクトリ区切りもまたぎ、Windows では大文字と小文字を区別しません。

    [protect]
    keep_on_disk = ["steam_appid.txt", "thirdparty/sdk_config.json"]
    exclude = ["licenses/*"]
    Danger

    スクリプトファイルを除外しないでください。ランタイムのローダーは、game/ 内でディスク上にある .rpy、.rpyc、.rpym、.rpymc などのスクリプト系ファイルを開くことを拒否するため、除外したスクリプトは読み込めなくなります。

    platforms

    プラグインでのみ有効です。設定しない場合は、プラグインがビルド内の lib/py3-* ディレクトリから検出します。使用できる値はプラグインによって決まります。例:

    platforms = ["win-x64", "linux-x64", "mac-universal"]

    launcher

    プラグインでのみ有効です。有効にすると、鍵がネイティブランチャーに紐付けられてビルドと共に配布され、そのランチャーからゲームを起動した場合にのみ鍵が再構築されます。

    [keys] セクション

    [keys] はベースライン保護でのみ有効で、コンテナ鍵とスクリプト鍵の取得元を指定します。フル保護ではプラグインが鍵を自ら導出し、このセクションは無視されます。

    キー説明
    master_envコンテナのマスター鍵を保持する環境変数名
    script_envスクリプト鍵を保持する環境変数名

    ルール:

    • 環境変数の値は 64 文字の 16 進数、すなわち 32 バイトの鍵である必要があり、形式が誤っている場合、コマンドは終了コード 2 で失敗する
    • master_env または script_env が設定されていない場合は、今回のビルド用にランダムな鍵を生成
    • キー名が設定されていても環境変数が存在しないか空の場合は、stderr にその旨を表示し、同じくランダムな鍵を生成
    • 概要パネルには鍵の取得元が表示される(例:master=env:RENMORI_MASTER_KEY · script=random)。CLI の出力言語は中国語または英語のみであり、ここでは英語出力の表記を示す
    [keys]
    master_env = "RENMORI_MASTER_KEY"
    script_env = "RENMORI_SCRIPT_KEY"

    鍵を生成する方法の一例:

    python -c "import os; print(os.urandom(32).hex())"

    CI での鍵の保管方法はCI との連携を参照してください。

    Warning

    ベースライン形式では、鍵がゲームと共に配布されるローダー拡張に平文で書き込まれます。鍵を固定しても保証されるのは複数のビルド間の一貫性のみであり、ベースラインの安全性は向上しません。ベースラインの位置付けは保護強度とクローズドプラグインを参照してください。

    完全な例

    # renmori.toml
    
    [protect]
    # strength を設定しない場合はフル保護を使用。"auto" はプラグインが利用できない場合にベースラインへフォールバック
    strength = "auto"
    
    # リリース版では有効のままにする
    lockdown = true
    
    # ベースラインでのみ有効。フル保護ではプラグインがチャンクパラメータを決定
    chunk_size = 65536
    
    # リリース版では決して有効にしない
    keep_plaintext = false
    
    # 平文のまま保持するファイル
    exclude = []
    keep_on_disk = ["steam_appid.txt"]
    
    # プラグインのみ
    # platforms = ["win-x64", "linux-x64", "mac-universal"]
    launcher = false
    
    [keys]
    # ベースラインのみ
    # master_env = "RENMORI_MASTER_KEY"
    # script_env = "RENMORI_SCRIPT_KEY"

    リポジトリのサンプルファイル:examples/renmori.toml。

    © 2026 笨猫工作室 MewBaka Studio. All Rights Reserved.