config.yml
plugins/EasyMenu/config.yml は、言語、キャッシュ、スレッド、表示の既定値などを管理する全体設定ファイルです。
全設定項目と既定値
plugins/EasyMenu/config.yml
# 言語設定 (en_us, ja_jp, ru_ru)
language: "en_us"
# デバッグモード (詳細な動作ログをコンソールに出力)
debug: false
# 起動時動作
load-on-startup: true # 起動時にメニューをロード
precache-submenus: true # 起動時にサブメニューを事前キャッシュ
# 非同期ワーカースレッド数
async:
worker-threads: 2
# キャッシュ設定
cache:
submenu-expiry-seconds: 300 # サブメニューキャッシュの有効期限(秒)
submenu-max-size: 100 # キャッシュする最大サブメニュー数
cleanup-interval-seconds: 60 # キャッシュ掃除の実行周期(秒)
resolved-path-max-size: 200 # 解決済みパスの最大キャッシュ数
# サブメニュー設定
submenu:
search-depth: 3 # sub/ 配下のサブフォルダ探索深度
# 実行時表示設定
runtime:
default-presentation: inventory # 指定のないメニューの表示形式 (inventory, native-preferred, auto 等)
# 診断ログ設定
diagnostics:
log-warnings-on-load: true # ロード時の警告メッセージを出力するか
# 入力設定
input:
default-timeout-seconds: 60 # 入力待ちのデフォルトタイムアウト(秒)
# クールダウン設定
cooldown:
cleanup-interval-seconds: 60 # 期限切れクールダウンの掃除周期(秒)
/menu reload による動的反映範囲
/menu reload を実行すると、config.yml が再読込され、load-on-startup を除くすべての設定項目が、検証に成功した時点でまとめて反映されます。
config.yml の読み込み自体に失敗した場合(YAMLの文法エラーなど)は、リロードが拒否されて今までの設定が維持されます。
| 設定キー | リロード時の反映 |
|---|---|
language | 即座に反映(メッセージファイルを再読み込み) |
debug | 即座に反映 |
precache-submenus | 即座に反映 |
async.worker-threads | 即座に反映(スレッドプールを安全に再構築) |
cache.* | 即座に反映 |
submenu.search-depth | 即座に反映 |
runtime.default-presentation | 即座に反映 |
diagnostics.log-warnings-on-load | 即座に反映 |
input.default-timeout-seconds | 即座に反映 |
cooldown.cleanup-interval-seconds | 即座に反映(定期タスクを再スケジュール) |
load-on-startup | サーバー起動時のみ意味を持つためリロード対象外 |
値の範囲と不正値の扱い
数値の設定は、範囲外や数値でない値を書いても起動やリロードは失敗せず、黙って既定値に置き換えられます(警告は出力されません)。
| 設定キー | 有効な範囲 | 不正値のときの値 |
|---|---|---|
async.worker-threads | 1以上 | 2 |
cache.submenu-expiry-seconds | 1以上 | 300 |
cache.submenu-max-size | 1以上 | 100 |
cache.cleanup-interval-seconds | 1以上 | 60 |
cache.resolved-path-max-size | 1以上 | 200 |
submenu.search-depth | 1〜16 | 3 |
input.default-timeout-seconds | 1以上 | 60 |
cooldown.cleanup-interval-seconds | 1以上(実際の周期は最小20tick = 1秒) | 60 |
language は小文字に変換されます。runtime.default-presentation の値が不正だった場合は、各メニューの読み込み時にエラー(invalid-presentation)になります。
config.yml に足りない新しいキーは、サーバー起動時に既定値で追記されて保存されます(/menu reload では追記されません)。