Spigot サーバーを立てると必ず生成される spigot.yml ですが、
項目が多くて「結局どこをいじればいいの?」と悩む方も多いはずです。
この記事では、実際に運用されている設定ファイルを例に、セクションごとに意味と注意点を解説します!
spigot.yml とは?
server.properties がバニラ由来の基本設定、bukkit.yml が Bukkit 層の設定であるのに対し、spigot.yml は Spigot 独自の最適化・ゲームプレイ調整 を担当するファイルです。パフォーマンスに直結する項目が多いので、意味を理解せずに変更するのは危険です。
なお今回の例では config-version: 12 となっており、これは Minecraft 1.19〜1.20 系の Spigot で使われるバージョンです。
settings:サーバー全体の基本設定
settings:
debug: false
bungeecord: true ⭐️プロキシサーバーを使う場合に設定
restart-on-crash: true ⭐️サーバークラッシュ時に再起動を自動で行う
restart-script: ./start.sh ⭐️サーバークラッシュ時の起動スクリプト
netty-threads: 4
timeout-time: 120
これは BungeeCord / Velocity などのプロキシ配下で動かす ための設定で、プレイヤーの IP や UUID をプロキシから正しく受け取れるようになります。
逆に、プロキシを使っていないのに true にすると、誰でも任意の UUID を名乗って接続できる 深刻なセキュリティホール になるため、単体サーバーでは必ず false にしましょう。
- restart-on-crash: true ⭐️サーバークラッシュ時に再起動を自動で行う
- restart-script: ./start.sh ⭐️サーバークラッシュ時の起動スクリプト
サーバーがクラッシュした際に自動で ./start.sh を実行して復旧させる設定です。無人運用には欠かせません。
ネットワーク処理のスレッド数。CPU コア数が多く同時接続が多いサーバーでは増やす余地があります。
ですが、ネットワークの効率を高めてもTPSが改善するような効果的な対策にはなりません。デフォルトの 4 のままで良いでしょう。
attribute の各 max: 2048.0 は、プラグインで体力や攻撃力を上書きする際の上限値です。
RPG 系プラグインで「HP 10000」のようなボスを作りたい場合はここを引き上げます。
messages:システムメッセージの日本語化
messages:
whitelist: あなたはこのサーバーのホワイトリストに登録されていません!
unknown-command: 不明なコマンドです。"/help" を入力してヘルプを表示してください。
server-full: サーバーが満員です!
outdated-client: クライアントが古いです!{0} を使用してください
outdated-server: サーバーが古いです!まだ {0} を使用しています
restart: サーバー再起動このファイルでは各種メッセージが日本語に翻訳されています。{0} はバージョン番号などが自動で差し込まれるプレースホルダーなので、翻訳時も消さないよう注意してください。カラーコード(&c など)も使えます。
commands:コマンド関連
commands:
replace-commands:
- setblock
- summon
- testforblock
- tellraw
tab-complete: 0
send-namespaced: true
spam-exclusions:
- /skill
silent-commandblock-console: false
log: true
- replace-commands:バニラのコマンドを Spigot の実装で置き換えるリスト。通常は触りません。
- tab-complete:0 は 1 文字目からタブ補完が効く設定。-1 で補完を無効化できます。
- spam-exclusions:スパム検知(Kicked for spamming)から除外するコマンドです。ここに /skill があることから、MythicMobs などスキル系プラグインで短時間に連打されるコマンドを許可していると推測できます。
- log:コマンドをコンソールに記録するか。不正調査のために true 推奨です。
advancements / players / stats:保存の制御
advancements:
disable-saving: false
disabled:
- minecraft:story/disabled
players:
disable-saving: false
stats:
disable-saving: false
forced-stats: {}- advancements.disabled:進捗の ID を記入すると、その進捗を無効化できます。minecraft:story/disabled は存在しないダミー ID で、実質的に何も無効化していないデフォルト状態です。ミニゲームサーバーなどで進捗通知が邪魔な場合はここに追加しましょう。
- players.disable-saving や stats.disable-saving を true にするとプレイヤーデータや統計を保存しなくなります。ロビーサーバー以外では基本 false のままにしてください。
world-settings:パフォーマンスの心臓部
ここが spigot.yml の本丸です。default に書いた内容が全ワールドに適用され、ワールド名のセクションを作れば個別に上書きできます。
作物の成長速度
growth:
cactus-modifier: 100
wheat-modifier: 100
...すべて 100(=バニラと同じ 100%)です。200 にすれば 2 倍速、50 で半減。農業サーバーで調整すると面白い項目です。
エンティティのアクティブ範囲と追跡範囲
entity-activation-range:
animals: 32
monsters: 32
raiders: 48
misc: 16
tick-inactive-villagers: true
ignore-spectators: false
entity-tracking-range:
players: 128
animals: 48
monsters: 48
misc: 32
display: 128
other: 64- activation-range:プレイヤーからこの距離(ブロック)より遠い Mob は AI 処理を停止します。TPS が落ちるサーバーではまず下げるべき項目です。TPS改善するために簡単な対策でありますが、プレイヤーはバニラと同じような体験ができなくなります。TTの設計がうまく動かなくなったりします。つまりこの設定項目は諸刃の剣です。
- tracking-range:クライアントに Mob の情報を送信する距離。下げると通信量が減りますが、遠くの Mob が見えなくなります。
- tick-inactive-villagers:非アクティブ範囲の村人も処理する設定です。取引所が多いサーバーでは村人が「止まっている」問題を防げますが、負荷は増えます。
ホッパー関連
ticks-per:
hopper-transfer: 8
hopper-check: 3
hopper-amount: 1
hopper-can-load-chunks: false- hopper-transfer: 8 はデフォルト設定で、この数値を大きくすれば大量のホッパーによる負荷を軽減できます。ただしアイテム輸送が遅くなるので、自動化施設が多いサーバーでは調整の妥協点を探る必要があります。
- hopper-can-load-chunks: false は、ホッパーが未ロードのチャンクを読み込むのを防ぐ重要な負荷対策です。
アイテム・投擲物の消滅時間
item-despawn-rate: 6000
arrow-despawn-rate: 1200
trident-despawn-rate: 1200- 6000 tick = 5 分でドロップアイテムが消滅。地面に落ちたアイテムは負荷源なので、混雑するサーバーでは短縮を検討しましょう。
mob-spawn-range と max-tnt-per-tick
mob-spawn-range: 6
max-tnt-per-tick: 10- mob-spawn-range: 6(チャンク)は Mob がスポーンする範囲で、view-distance より大きくしても意味がありません。
- max-tnt-per-tick: 10 は 1 tick あたりに処理する TNT の上限で、TNT キャノン荒らし対策になります。
merge-radius
merge-radius:
exp: 6.0
item: 4.0- item: 4.0 は 4 ブロック以内のドロップアイテムをまとめる設定。大きくするとエンティティ数が減り軽くなりますが、アイテムがワープするように見えることがあります。
seed-* 項目
seed-village: 10387312
seed-desert: 14357617
seed-igloo: 14357618
seed-jungle: 14357619
seed-swamp: 14357620
seed-monument: 10387313
seed-shipwreck: 165745295
seed-ocean: 14357621
seed-outpost: 165745296
seed-endcity: 10387313
seed-slime: 987234911
seed-nether: 30084232
seed-mansion: 10387319
seed-fossil: 14357921
seed-portal: 34222645- seed-village: 10387312 などは構造物生成用の内部シード値です。バニラと同じ値がデフォルトなので、通常は絶対に触らないでください。変えると既存ワールドの構造物位置がズレます。
まとめ:まず見直すべき項目
- bungeecord:プロキシ構成と一致しているか(最重要・セキュリティ)
- entity-activation-range:TPS が低ければ下げる
- hopper-*:自動化施設の多さとの兼ね合いで調整
- item-despawn-rate:ドロップアイテムによる負荷が気になれば短縮
- seed-*:触らない
spigot.yml は「速さ」と「バニラらしさ」のトレードオフを決めるファイルです。一度に大きく変えず、Timings や /tps で効果を確認しながら少しずつ調整していきましょう。