更新日:2025年7月最新版
マイクラサーバーを本格的に運用したいゲーマーの皆さん、こんにちは!多くのサーバー管理者が直面する技術的な課題を解決し、快適なマルチプレイ環境を提供するための実践的なガイドをお届けします。
この記事では、MODサーバーのメモリ最適化から高度な監視システムまで、プロレベルのサーバー運用テクニックを詳しく解説します。初心者の方でも理解できるよう、図解を交えながら丁寧に説明していきます。
出典:ConoHa公式サイト
マイクラMODサーバーのメモリ設定最適化
MODサーバーに必要なメモリ容量の基準
MODサーバーを安定して動作させるためには、適切なメモリ設定が不可欠です。以下の基準を参考にしてください:
推奨メモリ容量(2025年7月現在)
プレイヤー数 | バニラサーバー | 軽量MOD | 重量MOD(工業系) |
---|---|---|---|
1-4人 | 2GB | 4GB | 6GB |
5-10人 | 4GB | 6GB | 8GB |
10-20人 | 6GB | 8GB | 12GB |
20人以上 | 8GB | 12GB | 16GB以上 |
Javaメモリパラメータの詳細設定
基本的な設定方法
Copyjava -Xms4G -Xmx4G -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 -jar server.jar nogui
出典:ConoHa公式サイト
重要なパラメータ解説
- -Xms4G: 初期メモリ割り当て(最小ヒープサイズ)
- -Xmx4G: 最大メモリ割り当て(最大ヒープサイズ)
- -XX:+UseG1GC: G1ガベージコレクター使用(推奨)
- -XX:MaxGCPauseMillis=200: GC停止時間の目標値(200ms)
GC(ガベージコレクション)調整のポイント
G1GCが推奨される理由
- 低レイテンシ: プレイヤーの体感ラグが少ない
- メモリ効率: 大容量メモリでも安定動作
- 自動調整: 手動チューニングの必要性が少ない
メモリ不足のサインと対処法
- 症状: サーバーの応答が遅い、チャンクの読み込みが遅い
- 確認方法:
/forge tps
コマンドでTPS値をチェック - 対処法: メモリ容量を1段階アップ、または軽量化MODの導入
Spongeサーバーとプラグイン管理
SpongeForgeの導入と設定
SpongeForgeは、ForgeのMODとSpongeのプラグインを同時に使用できる強力なサーバープラットフォームです。
導入手順
- Minecraft Forgeのインストール
Copywget https://files.minecraftforge.net/maven/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jar java -jar forge-1.20.1-47.2.0-installer.jar --installServer
- SpongeForgeの配置
Copywget https://repo.spongepowered.org/maven/org/spongepowered/spongeforge/1.20.1-11.0.0/spongeforge-1.20.1-11.0.0.jar mv spongeforge-1.20.1-11.0.0.jar mods/
- プラグインの追加
Copymkdir plugins # プラグインファイルをpluginsフォルダに配置
Mixinsアップデート対応
設定ファイルの最適化
Copy{
"refmap": "mixins.mymod.refmap.json",
"package": "com.mymod.mixins",
"compatibilityLevel": "JAVA_17",
"minVersion": "0.8",
"client": [
"ClientMixin"
],
"server": [
"ServerMixin"
],
"mixins": [
"CommonMixin"
]
}
Plugin-Loader設定
権限管理の流用
sponge {
commands {
aliases {
"perm" = "luckperms:lp"
}
}
modules {
bungeecord = true
entity-activation-range = true
optimizations = true
}
}
Azure VPS設定ガイド
B1sプランでの最適化
Azure B1sプランの特徴
- vCPU: 1コア
- メモリ: 1GB RAM
- ストレージ: Premium SSD対応
- 月額料金: 約1,000円~
推奨設定
Copy# サーバー起動スクリプト
#!/bin/bash
java -Xms768M -Xmx768M -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -jar server.jar nogui
Network Security Group設定
セキュリティグループ設定例
方向 | プロトコル | ポート | 送信元 | 目的 |
---|---|---|---|---|
受信 | TCP | 25565 | Any | Minecraft接続 |
受信 | TCP | 22 | 管理者IP | SSH接続 |
受信 | TCP | 8080 | 管理者IP | 管理画面 |
自動バックアップ構築
Azure Storage連携
Copy# Azure CLIを使用したバックアップ
az storage blob upload-batch \
--destination backup \
--source ./world \
--account-name mystorageaccount \
--account-key $AZURE_STORAGE_KEY
サーバー監視システム構築
Grafana + Prometheus構成
出典:ナ組Minecraftサーバー監視システム
Prometheusの設定
Copyglobal:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: 'minecraft'
static_configs:
- targets: ['localhost:9225']
scrape_interval: 5s
metrics_path: /metrics
Grafanaダッシュボード設定
Copy{
"dashboard": {
"title": "Minecraft Server Monitoring",
"panels": [
{
"title": "TPS (Ticks Per Second)",
"type": "stat",
"targets": [
{
"expr": "minecraft_tps",
"legendFormat": "TPS"
}
]
},
{
"title": "Online Players",
"type": "graph",
"targets": [
{
"expr": "minecraft_players_online",
"legendFormat": "Players"
}
]
}
]
}
}
TPSダッシュボード設定
重要な監視項目
- TPS(Ticks Per Second): 20.0が理想値
- メモリ使用率: 80%以下を維持
- CPU使用率: 平均70%以下
- ディスク使用率: 残り容量の監視
Webhook通知と自動再起動
Discord Webhook設定
Copyimport requests
import json
def send_discord_alert(message):
webhook_url = "https://discord.com/api/webhooks/YOUR_WEBHOOK_URL"
data = {
"content": f"🚨 マイクラサーバー警告: {message}",
"username": "Server Monitor"
}
requests.post(webhook_url, json=data)
# TPS低下時の自動通知
if tps < 15.0:
send_discord_alert(f"TPS低下: {tps}")
自動バックアップシステム
rclone + Google Drive連携
rcloneの初期設定
Copy# rcloneのインストール
curl https://rclone.org/install.sh | sudo bash
# Google Drive設定
rclone config
# n) New remote
# name> gdrive
# Storage> drive
# OAuth認証を完了
バックアップスクリプト
Copy#!/bin/bash
# minecraft-backup.sh
SERVER_DIR="/opt/minecraft"
WORLD_DIR="$SERVER_DIR/world"
BACKUP_DIR="/tmp/minecraft-backup"
DATE=$(date +%Y%m%d_%H%M%S)
# サーバーのセーブ実行
screen -S minecraft -p 0 -X stuff "save-all$(printf \\r)"
sleep 10
# ワールドデータを圧縮
mkdir -p $BACKUP_DIR
tar -czf "$BACKUP_DIR/world_$DATE.tar.gz" -C $SERVER_DIR world
# Google Driveにアップロード
rclone copy "$BACKUP_DIR/world_$DATE.tar.gz" gdrive:minecraft-backups/
# ローカルファイルを削除
rm -f "$BACKUP_DIR/world_$DATE.tar.gz"
echo "バックアップ完了: world_$DATE.tar.gz"
cronスクリプト設定
定期バックアップの設定
Copy# crontab -e
# 毎日午前3時にバックアップ
0 3 * * * /opt/minecraft/scripts/minecraft-backup.sh
# 毎時間差分バックアップ
0 * * * * /opt/minecraft/scripts/incremental-backup.sh
差分同期と復元手順
差分同期スクリプト
Copy#!/bin/bash
# incremental-backup.sh
# 変更されたファイルのみをバックアップ
rclone sync $WORLD_DIR gdrive:minecraft-backups/incremental/ \
--backup-dir gdrive:minecraft-backups/versions/$(date +%Y%m%d_%H%M%S)
復元手順
Copy# 1. サーバー停止
screen -S minecraft -p 0 -X stuff "stop$(printf \\r)"
# 2. 現在のワールドをバックアップ
mv world world_backup_$(date +%Y%m%d_%H%M%S)
# 3. Google Driveから復元
rclone copy gdrive:minecraft-backups/world_YYYYMMDD_HHMMSS.tar.gz ./
tar -xzf world_YYYYMMDD_HHMMSS.tar.gz
# 4. サーバー再起動
./start.sh
ワールドサイズ管理と最適化
MCA Selectorの使用法
出典:アンナビchブログ
MCA Selectorの主な機能
- チャンク表示: 探索済みエリアの可視化
- 選択削除: 不要なチャンクの一括削除
- 統計情報: ワールドサイズとチャンク数の確認
- フィルタ機能: 条件に応じたチャンク抽出
チャンクトリミング手順
手順1: ワールドデータのバックアップ
Copycp -r world world_backup_$(date +%Y%m%d)
手順2: MCA Selectorでチャンク選択
- MCA Selectorを起動
- ワールドフォルダを開く
- 削除したいチャンクを選択
- 「Delete selected chunks」を実行
手順3: 削除結果の確認
Copy# 削除前後のサイズ比較
du -sh world_backup_*/
du -sh world/
2TB HDD運用のベストプラクティス
ストレージ使用量の監視
Copy#!/bin/bash
# disk-monitor.sh
THRESHOLD=80
USAGE=$(df /opt/minecraft | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $USAGE -gt $THRESHOLD ]; then
echo "警告: ディスク使用率が${USAGE}%です"
# 自動クリーンアップ
find /opt/minecraft/backups -name "*.tar.gz" -mtime +7 -delete
fi
pre-genコマンドによる事前生成
Copy# WorldBorderプラグインを使用
wb world set 0 0 5000
wb world fill 20
パフォーマンスチューニング
サーバー設定の最適化
server.properties設定例
Copy# 基本設定
difficulty=normal
gamemode=survival
hardcore=false
max-players=20
motd=§6マイクラサーバー §a2025年7月版
# パフォーマンス設定
view-distance=10
simulation-distance=8
entity-activation-range=48
max-tick-time=60000
# セキュリティ設定
white-list=true
enforce-whitelist=true
プラグイン最適化
推奨軽量化プラグイン
プラグイン名 | 目的 | 効果 |
---|---|---|
Paper | サーバー最適化 | TPS向上 |
LuckPerms | 権限管理 | メモリ効率 |
WorldEdit | ワールド編集 | 作業効率化 |
Essentials | 基本機能 | 利便性向上 |
トラブルシューティング
よくある問題と解決策
問題1: TPS低下(15.0以下)
原因と対処法
- 原因: メモリ不足、重いMOD、大量のエンティティ
- 対処法:
Copy# エンティティ数の確認 /forge entity list # メモリ使用量の確認 /forge tps
問題2: 接続エラー
原因と対処法
- 原因: ポート設定、ファイアウォール、バージョン不一致
- 対処法:
Copy# ポート開放の確認 netstat -tlnp | grep 25565 # ファイアウォール設定 sudo ufw allow 25565/tcp
問題3: ワールドデータ破損
原因と対処法
- 原因: 不適切なサーバー停止、ディスク容量不足
- 対処法: 定期バックアップからの復元
おすすめVPSサービス比較
2025年7月現在の料金比較
サービス | 2GBプラン | 4GBプラン | 8GBプラン | 特徴 |
---|---|---|---|---|
XServer VPS for Game | 830円 | 1,700円 | 3,400円 | 自動構築機能 |
ConoHa for GAME | 641円 | 1,292円 | 2,408円 | 時間課金対応 |
ConoHa VPS | 968円 | 1,958円 | 3,960円 | 汎用性重視 |
さくらのVPS | 1,594円 | 3,520円 | 7,040円 | 老舗の安定性 |
KAGOYA CLOUD VPS | 979円 | 2,200円 | 4,400円 | 日額課金 |
用途別おすすめサービス
初心者向け:XServer VPS for Game
- 自動構築機能で簡単セットアップ
- 24時間365日サポート
- 高性能SSD搭載
コスパ重視:ConoHa for GAME
- 業界最安値クラス
- 時間課金で無駄なし
- 豊富なテンプレート
本格運用:ConoHa VPS
- 自由度の高いカスタマイズ
- 高性能CPU・SSD
- 充実した管理画面
安定性重視:さくらのVPS
- 20年以上の運営実績
- 国内データセンター
- 手厚いサポート
柔軟な課金:KAGOYA CLOUD VPS
- 日額20円から利用可能
- スペック変更が容易
- 豊富なプラン選択
まとめ
マイクラサーバーの上級設定は、適切な知識と経験があれば決して難しいものではありません。この記事で紹介した内容を参考に、以下のポイントを押さえて運用してください:
重要なポイント
- メモリ設定: MODに応じた適切な容量設定
- 監視システム: 24時間365日の自動監視
- バックアップ: 定期的な自動バックアップ
- 最適化: 定期的なチューニング
- セキュリティ: 適切なアクセス制御
運用のコツ
- 小さく始めて徐々に拡張
- 定期的な監視とメンテナンス
- コミュニティとの情報共有
- 最新情報のキャッチアップ
マイクラサーバー運用は奥が深く、やりがいのある作業です。この記事が皆様の快適なマルチプレイライフの助けになれば幸いです。
※本記事は2025年7月時点の情報に基づいて執筆されています。内容の正確性には万全を期していますが、最新情報は各公式サイトをご確認ください。