マインクラフトTPS最適化完全ガイド
サーバーパフォーマンス向上の実践的手法【2025年8月最新】
2025年8月更新
Paper/Spigot対応
実践的手法
最新更新情報
最終更新:2025年8月
本記事は2025年8月時点の最新情報に基づいて執筆されています。Minecraft 1.21.8、Paper 1.21、およびSpigot最新版に対応した最新の最適化手法を詳細に解説します。
1. TPSの基本知識
TPSとは?
TPS(Ticks Per Second)は、マインクラフトサーバーが1秒間に実行できるゲーム内処理の回数を表します。理想的な値は20TPSで、これは1秒間に20回の処理を行うことを意味します。
TPS基準値
- 20.0 TPS: 完璧(理想値)
- 19.0+ TPS: 良好
- 18.0+ TPS: やや重い
- 16.0- TPS: 重い(要対策)
2025年最新:TPSパフォーマンス指標
理想値: 50ms以下
警告値: 80ms以上
理想値: 割り当ての70%以下
警告値: 85%以上
理想値: 5chunks/s以下
警告値: 10chunks/s以上
2. 測定・分析ツール
Spark プロファイラー
2025年最新のSparkプロファイラーは、リアルタイムでサーバーパフォーマンスを分析できる最も強力なツールです。
/spark profiler
/spark profiler --timeout 60
/spark profiler --thread *
/spark heap
2025年新機能
- リアルタイム分析ダッシュボード
- 自動パフォーマンス警告
- クロスプラットフォーム対応
Timings v2
Paper/Spigot標準のパフォーマンス分析ツール。詳細なタイミング情報を提供します。
/timings on
/timings paste
/timings report
/timings reset
注意点
Sparkと同時使用は避けてください。パフォーマンスへの影響を最小化するため、測定後は必ずオフにしましょう。
基本測定コマンド一覧
TPS・パフォーマンス確認
/tps # 現在のTPS表示
/mspt # ミリ秒/tick表示
/lag # 詳細パフォーマンス
/paper metrics # Paper詳細統計
/gc # ガベージコレクション実行
エンティティ・チャンク情報
/paper entity # エンティティ統計
/paper chunks # チャンク情報
/paper heap # メモリ使用量
/paper mobcaps # モブキャップ確認
/paper reload # Paper設定リロード
3. Paper/Spigot最適化設定
2025年8月重要更新
Paper 1.21では設定ファイル構造が大幅に変更されました。従来の paper.yml は廃止され、新しい config/paper-global.yml と config/paper-world-defaults.yml システムに移行しています。
paper-global.yml 設定
# 2025年推奨設定
proxies:
proxy-protocol: false
velocity:
enabled: false
chunk-system:
gen-parallelism: default
io-threads: -1
worker-threads: -1
misc:
fix-entity-position-desync: true
load-permissions-yml-before-plugins: true
region-file-cache-size: 256
use-alternative-luck-formula: false
最適化効果
チャンク処理の並列化により、大規模サーバーで平均15-25%のパフォーマンス向上を実現します。
paper-world-defaults.yml 設定
# エンティティ最適化
entities:
spawning:
despawn-ranges:
ambient: 128
axolotls: 128
creature: 128
misc: 32
monster: 128
underground_water_creature: 128
water_ambient: 64
water_creature: 128
# チャンク最適化
chunks:
auto-save-interval: default
delay-chunk-unloads-by: 10s
entity-per-chunk-save-limit:
arrow: 16
ender_pearl: 8
experience_orb: 16
fireball: 8
small_fireball: 8
snowball: 8
server.properties 最適化設定
基本設定
# 基本パフォーマンス設定
view-distance=8
simulation-distance=6
entity-broadcast-range-percentage=100
network-compression-threshold=256
max-tick-time=60000
高度な設定
# 高度な最適化
sync-chunk-writes=false
use-native-transport=true
rate-limit=0
spawn-protection=0
max-world-size=29999984
2025年最新推奨値
view-distance: プレイヤー数×2+4(最大12)
simulation-distance: view-distanceの75%
network-compression-threshold: 高性能サーバーなら512、一般的なサーバーなら256
4. エンティティ最適化
モブ制限設定
spawn-limits:
monsters: 50
animals: 8
water-animals: 7
water-ambient: 10
ambient: 1
大規模サーバー向けの推奨値。プレイヤー数に応じて調整してください。
AI制限設定
per-player-mob-spawns: true
mob-spawn-range: 6
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
モブのAI処理を制限してCPU負荷を軽減します。
ティック制限
entity-per-chunk-save-limit:
arrow: 8
ender_pearl: 8
experience_orb: 16
fireball: 8
item: 16
チャンクあたりのエンティティ数を制限します。
エンティティパフォーマンス分析
最適化チェックリスト
クロック回路やホッパー使用を最小限に
定期的な /kill @e[type=item] 実行
1チャンクあたり最大50エンティティ
取引回数制限と定期的なリセット
5. JVMパラメータ設定(2025年最新)
Java バージョン要件
Minecraft 1.21+: Java 21が必須です。Java 17以前では起動できません。
推奨JVM: Adoptium OpenJDK 21, GraalVM EE 21, または Amazon Corretto 21
メモリ設定(8GB推奨)
java -Xms8G -Xmx8G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=30 \
-XX:G1MaxNewSizePercent=40 \
-XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=20 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true \
-jar paper.jar --nogui
効果
G1GCによりGCポーズ時間を50-80%短縮。メモリ使用効率が大幅に向上します。
大容量メモリ設定(16GB+)
java -Xms16G -Xmx16G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:G1NewSizePercent=35 \
-XX:G1MaxNewSizePercent=45 \
-XX:G1HeapRegionSize=16M \
-XX:G1ReservePercent=25 \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 \
-XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 \
-XX:G1RSetUpdatingPauseTimePercent=5 \
-XX:SurvivorRatio=32 \
-XX:+PerfDisableSharedMem \
-XX:MaxTenuringThreshold=1 \
-XX:+UseTransparentHugePages \
-Dusing.aikars.flags=https://mcflags.emc.gs \
-Daikars.new.flags=true \
-jar paper.jar --nogui
追加最適化
Transparent Huge Pagesによりメモリアクセス効率が向上。50人以上のサーバーに推奨。
メモリ使用量推奨値
推奨: 6-8GB
最小: 4GB
推奨: 10-12GB
最小: 8GB
推奨: 16GB以上
最小: 12GB
6. ワールド最適化
チャンク最適化
# 未使用チャンクの削除
/chunky trim world 10000
/chunky start
# プリロード(推奨)
/chunky world world
/chunky radius 5000
/chunky start
# チャンク情報確認
/paper chunks
事前にチャンクをプリロードすることで、プレイヤーの移動時の負荷を大幅に削減できます。
2025年推奨設定
- ワールドボーダー: 10000×10000
- プリロード範囲: 5000×5000
- 定期的な未使用チャンク削除
データベース最適化
バックアップ戦略
# 自動バックアップスクリプト
#!/bin/bash
DATE=$(date +%Y%m%d_%H%M%S)
tar -czf backup_$DATE.tar.gz world/
find backup_* -mtime +7 -delete
ワールド最適化ツール
ワールド生成最適化
bukkit.yml 設定
chunk-gc:
period-in-ticks: 300
ticks-per:
animal-spawns: 400
monster-spawns: 5
water-spawns: 11
water-ambient-spawns: 21
ambient-spawns: 31
spigot.yml 設定
world-settings:
default:
merge-radius:
item: 2.5
exp: 3.0
item-despawn-rate: 6000
arrow-despawn-rate: 1200
trident-despawn-rate: 1200
7. プラグイン最適化
推奨プラグイン
必須
推奨
便利
推奨
便利
避けるべきプラグイン
危険
注意
注意
選択
危険
パフォーマンス測定
# プラグインごとの負荷測定
/spark profiler --timeout 60
/timings report
# プラグイン一覧確認
/plugins
/pl
プラグイン設定最適化例
WorldEdit 最適化
# config.yml
limits:
default:
block-change-limit: 100000
entity-remove-limit: 100000
polygon-points-limit: 20
polyhedron-points-limit: 20
selection-points-limit: 5000
butcher-radius: 50
history:
size: 15
expiration: 10
LuckPerms 最適化
# config.yml
sync-minutes: 3
meta-formatting:
prefix:
format:
- "highest"
suffix:
format:
- "highest"
inheritance-traversal-algorithm: "breadth-first"
primary-group-calculation: "stored"
argument-based-command-permissions: false
8. 監視システム構築
リアルタイム監視ツール
1. Spark Web Interface
# Spark設定
/spark monitoring enable
/spark monitoring viewer
# https://spark.lucko.me/viewer/xxxxxx
ブラウザからリアルタイムでパフォーマンスを監視可能
2. Paper Metrics
/paper metrics
/paper dumpitem
/paper syncloadinfo
Paper独自の詳細な統計情報を確認
自動アラートシステム
#!/bin/bash
# TPS監視スクリプト
TPS=$(screen -S minecraft -p 0 -X stuff "tps^M")
if (( $(echo "$TPS < 18.0" | bc -l) )); then
echo "警告: TPS低下 ($TPS)" | mail -s "Server Alert" admin@example.com
fi
# メモリ使用量確認
MEMORY=$(free | grep Mem | awk '{printf("%.1f", $3/$2 * 100.0)}')
if (( $(echo "$MEMORY > 85.0" | bc -l) )); then
echo "警告: メモリ使用率高 ($MEMORY%)" | mail -s "Memory Alert" admin@example.com
fi
Discord Webhook連携
Discord Webhookを使用することで、リアルタイムでパフォーマンス警告を受信できます。
パフォーマンス履歴追跡
9. トラブルシューティング
TPS低下の診断と対策
診断手順
-
1
/spark profiler –timeout 120
長時間のプロファイリングでボトルネックを特定 -
2
/paper entity
エンティティ数をワールド別に確認 -
3
/timings report
プラグイン別の処理時間を分析 -
4
/paper chunks
チャンクの読み込み状況を確認
緊急対策コマンド
# アイテムエンティティ削除
/kill @e[type=item]
# 経験値オーブ削除
/kill @e[type=experience_orb]
# ガベージコレクション強制実行
/gc
# チャンク強制アンロード
/paper chunks unload
# サーバー再読み込み(最終手段)
/reload confirm
メモリ関連問題の解決
OutOfMemoryError
原因: ヒープサイズ不足、メモリリーク
対策:
- -Xmxを増加(プレイヤー数×1GB+4GB程度)
- 不要なプラグイン削除
- 定期的なサーバー再起動
GCオーバーヘッド
原因: 不適切なGC設定、メモリ断片化
対策:
- G1GCパラメータ調整
- ヒープ領域サイズ見直し
- プリテンション調整
ネットワーク最適化
server.properties調整
# ネットワーク最適化
network-compression-threshold=256
entity-broadcast-range-percentage=100
player-idle-timeout=30
max-players=50
online-mode=true
rate-limit=0
Paper ネットワーク設定
# paper-global.yml
async-chunks:
enable: true
threads: 4
packet-limiter:
kick-message: '&cSent too many packets'
limits:
all:
interval: 7.0
max-packet-rate: 500.0
10. 推奨ホスティングサービス
マインクラフトサーバーの安定運営には、適切なホスティングサービスの選択が重要です。以下は2025年8月時点での推奨サービスです。
ConoHa for GAME
ゲーム特化VPS
8GBプラン以上
1,848円~
無料
特徴
- マインクラフト専用テンプレート
- 自動構築機能
- 初心者向けUI
- 高性能SSD標準
XServer VPS for Game
高性能VPS
8GBプラン以上
2,200円~
無料
特徴
- ゲーム専用VPS
- Minecraftテンプレート
- 高性能CPU
- 24時間サポート
ホスティング選択のポイント
必須スペック
- CPU: 4コア以上
- RAM: 8GB以上
- SSD: 100GB以上
- 帯域: 無制限または十分な容量
重要な機能
- 自動バックアップ
- 24時間サポート
- Java 21対応
- 簡単な管理パネル
まとめ
実装すべき最適化(優先順)
-
1
JVMパラメータの最適化
Java 21 + G1GC + Aikarフラグ -
2
Paper設定の調整
エンティティ制限・チャンク最適化 -
3
監視システムの構築
Spark + 自動アラート -
4
ワールド・プラグインの最適化
軽量化・不要な機能削除
期待できる効果
適切な最適化により、プレイヤーにとって快適なマインクラフト体験を提供できます
免責事項
※本記事は2025年8月時点の情報に基づいて執筆されています。内容の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。
※サーバー設定の変更は慎重に行い、必ず事前にバックアップを取得してください。設定変更により発生した問題について、当記事では責任を負いかねます。