Minecraftサーバーを動かす知識

spigot.ymlの設定

投稿:  更新:  By: HimaJyun

spigot.ymlはSpigotを使用している時のみ作成されます。

非常に細かい設定が可能ですが、大抵はデフォルトのままでも大丈夫でしょう。

この記事ではSpigot 1.13.2で動作確認を行っています。バージョンによっては設定ファイルの設定項目が異なることもあるでしょう。

スポンサーリンク

config-version

config-versionはSpigotが設定ファイルのバージョンを確認するための値なので触らないようにしましょう。

ちなみにこの記事はconfig-version: 11で確認しています。

settings

settingsの項目です。主にパフォーマンス関連の設定

設定デフォルト説明
debugfalseデバッグ用オプション、通常はfalseのままでいい
late-bindfalseすべてのプラグインがロードされるまでプレイヤーがサーバーにログインできないようにする。個人的にはtrueを推奨
bungeecordfalseBungeeCord用の機能を有効にするか設定。BungeeCordを使用する際にはtrueにする
timeout-time60設定した値の間にサーバーが応答しないとフリーズしたと判定してスレッドダンプを出力しサーバーが再起動する、単位は秒
restart-on-crashtrueサーバーがクラッシュした際に自動的にサーバーの再起動を試みるか設定
restart-script./start.shサーバーの起動スクリプトを指定。/restartコマンドとrestart-on-crashで使用される
save-user-cache-on-stop-onlyfalseユーザーキャッシュを常にディスクに保存するか、サーバーを停止した時のみ保存するかを設定
user-cache-size1000ユーザーキャッシュのサイズ数を設定する
netty-threads4netty(ネットワークの通信を行う機能)を実行するスレッド数の設定
sample-count12サーバーリストのプレイヤー数の上にマウスを移動した際に表示されるプレイヤー数の設定
player-shuffle0基本的にプレイヤーのパケットは参加した順に処理され、再ログインするとキュー内の位置が変わり他のプレイヤーよりも先に処理されるようになる
そのため、サーバーのゲーム内容次第(PVPなど)では戦略的に再ログインするプレイヤーなどが発生する事もある
この設定はそれらを防止する機能で、定期的にキューをシャッフルすることで再ログインのメリットを無効化する
単位はtick(1/20秒)で0にすると無効、値が小さすぎる(具体的には100未満)だとパフォーマンスに問題が発生する可能性がある
moved-too-quickly-multiplier10.0"moved too quickly"(移動速度が速すぎる)の設定。この値は実質的にプレイヤーの移動速度の最大値になる
通常はデフォルトのままで問題ないがTNT砲などでこの速度を上回って移動する必要がある時は値を大きくする
moved-wrongly-threshold0.0625"moved wrongly"(誤って移動した)の設定、通常はデフォルトのままで問題ない
値を大きくするとラバーバンド現象を軽減できる可能性があるが、プレイヤーに悪用される可能性もある
(ラバーバンド現象: 通信状況が悪いなどの理由で操作しても元の位置に戻されてしまう現象)
attribute2048.0体力(maxHealth)、速度(movementSpeed)、ダメージ(attackDamage)などの最大値を指定

restart-on-crashを利用する際の注意点ですが、何らかのバグなどで起動してすぐクラッシュするような状況だと起動→クラッシュ→再起動→クラッシュ……を繰り返す場合があるので気を付けましょう。

messages

各種メッセージなどが設定できます。

設定デフォルト説明
whitelistYou are not whitelisted on this server!ユーザーがホワイトリストに入っていない際のメッセージ
unknown-commandUnknown command. Type "/help" for help.存在しないコマンドを実行した際のメッセージ
server-fullThe server is full!サーバーが満員の際のメッセージ
outdated-clientOutdated client! Please use {0}クライアントのバージョンが古い場合のメッセージ。{0}は必要なバージョンに置き換わる
outdated-serverOutdated server! I'm still on {0}サーバーのバージョンが古い場合のメッセージ。{0}は必要なバージョンに置き換わる
restartServer is restartingサーバーをリスタートした際のメッセージ

commands

コマンド関係の設定です。

設定デフォルト説明
logtrueユーザーが使用したコマンドをコンソールに表示するか
silent-commandblock-consolefalseコマンドブロックの出力をコンソールに表示するか
tab-complete0タブコンプリートを表示するまでに何文字入力する必要があるか
-1なら無効、0ならすべて表示、1以上なら指定した文字数を入力するとタブコンプリートされる
古いバージョンでは挙動が少し違う
send-namespacedtrueタブを押した時にネームスペース付き(プラグイン名:コマンド名)の構文で表示するか
replace-commands[setblock,summon,testforblock,tellraw]指定したコマンドのBukkit実装を無効にしてバニラの振る舞いを利用する
spam-exclusions[/skill]スパムチェックから除外するコマンド

stats

統計関連の設定です。

設定デフォルト説明
disable-savingfalsetrueにすると統計が保存されなくなる
forced-stats{}特定の統計の値を強制的に設定値にする場合に使用

advancements

1.12で追加された進捗関係の設定です。

設定デフォルト説明
disable-savingfalsetrueにすると進捗が保存されなくなる
disabled[]無効にする進捗のリスト。無効にする際は子の進捗も無効にしないとエラーが出る

world-settings

世界の設定をさらに細かく設定できます。

次の例のように、世界名(ディレクトリ名)を使用してworld-settingsの下に新しいセクションを追加すると世界別に設定できます。

world-settings:
  default:
    verbose: true
    # ~ 略 ~
  # worldの個別設定を行う場合
  world:
    verbose: false

設定内容は以下の通りです。ゲームバランスに大きな影響を与える物もあるので自分が何をやっているかしっかり理解してから編集してください。

設定デフォルト説明
verbosetrue各ワールドの詳細情報と設定を起動時にコンソールに表示するか
view-distance10プレイヤーの周囲のロードされるチャンク数を設定。値は1から15の範囲でなければならない
プレイヤー数が多い場合は値を下げると負荷を減らせる
item-despawn-rate6000ドロップしたアイテムが消滅するまでの時間、単位はtick(1/20秒)
arrow-despawn-rate1200刺さった矢が消滅するまでの時間、単位はtick(1/20秒)
wither-spawn-sound-radius0ウィザーがスポーンした際の音の範囲を設定
dragon-death-sound-radius0エンダードラゴンが死亡した際の音の範囲を設定
mob-spawn-range6プレイヤー周囲のMOBがスポーンする半径を設定
nerf-spawner-mobsfalsetrueにした場合モンスタースポナーから出現するMOBがAIを持たなくなる
enable-zombie-pigmen-portal-spawnstrueネザーポータルからゾンビピッグマンをスポーンさせるか
当然ながらfalseにするとポータルを使用する金塊TTは動作しなくなる
zombie-aggressive-towards-villagertruefalseに設定するとゾンビが村人を襲わなくなる
hanging-tick-frequency100絵画、額縁、結んだリードなどを更新する間隔を設定、単位はtick(1/20秒)
max-tnt-per-tick1001tickに処理するTNTの数
hopper-amount1ホッパーが1回に転送するアイテムの数を設定
random-light-updatesfalseさまざまな理由で更新されていない明かりを修正するためにチャンクをランダムに更新する設定
seed-village10387312村を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-desert14357617砂漠の寺院を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-igloo14357618イグルーを生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-jungle14357619ジャングルの寺院を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-swamp14357620魔女の小屋を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-monument10387313海底神殿を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-shipwreck165745295難破船を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-ocean14357621海底遺跡を生産する際に使われるseed値。より細かいカスタマイズをする際に設定
seed-slime987234911スライムチャンクを生産する際に使われるseed値。より細かいカスタマイズをする際に設定

marge-radiusは落ちているエンティティをまとめる設定です。

Spigotサーバーでエンダードラゴンを倒すと経験値が"しょぼく"なりますが、この機能が原因です。

設定デフォルト説明
item2.5同じアイテムが近くに落ちている時にひとまとめにする範囲の設定
exp3.0経験値オーブが近くに落ちている時にひとまとめにする範囲の設定

entity-activation-rangeはエンティティが活性化する範囲の設定です。

小さくするとパフォーマンスが向上しますが、TTなどの動作に影響を与える可能性があります。

設定デフォルト説明
animals32動物が活性化する範囲
monsters32モンスターが活性化する範囲
misc16その他エンティティが活性化する範囲
tick-inactive-villagerstrue村人の処理のために誰も居ないチャンクをロードする設定
無効にするとパフォーマンスは向上するが村人の処理にバグが発生する可能性がある

entity-tracking-rangeはエンティティがクライアントに表示(もしくは追跡)として認識される範囲をブロック単位で設定します。

この範囲の外のエンティティはレンダリングされなくなるため表示されません。PVPサーバーなどでは値を下げると壁透過MODなどの使用をある程度妨害できるでしょう。

変更してもサーバー側のパフォーマンスはあまり変わりませんが、値を下げるとクライアント側の負荷は下がります。(当然ながらエンティティが見えるようになる範囲も狭まります)

設定デフォルト説明
players48プレイヤーが表示される範囲
animals48動物が表示される範囲
monsters48モンスターが表示される範囲
misc32絵画、額縁、落ちているアイテム、経験値オーブ、看板の文字などが表示される範囲
other64サーバー上のすべてのエンティティに対する一般的な上限

ticks-perはホッパーの転送間隔を調整する設定です。

ホッパーが多いサーバーでは変更するとパフォーマンスが向上しますが、ホッパーを利用したレッドストーン回路などが壊れる可能性もあります。

設定デフォルト説明
hopper-transfer8ホッパーがアイテムを出し入れしてから次に出し入れするまでの間隔。単位はtick(1/20秒)
hopper-check1ホッパーの上に落ちたアイテムなどを検索する間隔。単位はtick(1/20秒)

growthは植物の生長速度の設定です。単位はtick(1/20秒)

変更してもパフォーマンスは向上しません。

設定デフォルト説明
cactus-modifier100サボテンの成長速度を設定
cane-modifier100サトウキビの成長速度を設定
melon-modifier100スイカの成長速度を設定
mushroom-modifier100キノコの成長速度を設定
pumpkin-modifier100カボチャの成長速度を設定
sapling-modifier100苗木の成長速度を設定
beetroot-modifier100ビートルートの成長速度を設定
carrot-modifier100ニンジンの成長速度を設定
potato-modifier100ジャガイモの成長速度を設定
wheat-modifier100小麦の成長速度を設定
netherwart-modifier100ネザーウォートの成長速度を設定
vine-modifier100ツタの成長速度を設定
cocoa-modifier100カカオの成長速度を設定

hungerはさまざまな動作を行った際の満腹度の減少量に関する設定です。

設定デフォルト説明
jump-walk-exhaustion0.05通常のジャンプ
jump-sprint-exhaustion0.2ダッシュジャンプ
combat-exhaustion0.1戦闘行為
regen-exhaustion6.0体力の自然回復
swim-multiplier0.01水泳
sprint-multiplier0.1ダッシュ
other-multiplier0.0その他

max-tick-timeは次のタスクにスキップする前のタイルやエンティティ操作に消費する時間の設定です。単位はミリ秒。

値を低くするとパフォーマンスが大幅に向上するが、とくにエンティティの値を下げると動作がぎこちなく見えるようになる可能性がある。

設定デフォルト説明
tile50タイル操作に費やす時間の設定、10~20でパフォーマンスが大幅に向上
entity50エンティティ操作に費やす時間の設定、20~25でパフォーマンスが大幅に向上

squid-spawn-rangeはイカがスポーンする高さの設定です。

この値より低いY座標の水中でイカがスポーンします。

設定デフォルト説明
min45.0イカがスポーンする高さ

参考