この記事について
この記事は、Minecraft Java版の mod入りサーバー を自分で立てたい人向けの実体験ガイドです。
自分でやってみると、modサーバーは普通のバニラサーバーよりも詰まるポイントが多いです。
- Forge と Fabric のどちらを選べばいいのか
- Minecraft本体、mod、ローダーのバージョンをどう合わせるのか
- Javaのバージョンは何を使うのか
-Xmxや-Xmsのメモリ設定はどう決めるのかmodsフォルダには何を入れるのか- クライアント側にも同じmodが必要なのか
- Cloudflare TunnelでMinecraftサーバーを公開できるのか
この記事では、Macで構築した経験をベースに、つまずきやすい部分をできるだけ具体的に整理します。
先に結論
Minecraftのmodサーバーで一番大事なのは、次の4つです。
- Minecraft本体のバージョンを決める
- ForgeかFabricのどちらで遊ぶか決める
- サーバー側とクライアント側のmod構成をそろえる
- Javaとメモリ設定をmod数に合わせる
特に重要なのは、バージョンをそろえることです。
Minecraftのバージョン、Forge/Fabricのバージョン、modの対応バージョン、Javaのバージョンがズレると、ほぼ確実に起動エラーや参加エラーが出ます。
modサーバーは、コマンドを1つ覚えれば終わりではありません。
どのファイルが何の役割を持っているのかを理解すると、トラブル対応がかなり楽になります。
ForgeとFabricの違い
modサーバーを立てるとき、最初に決めるのが Forge にするか Fabric にするかです。
ざっくり言うと、Forgeは昔からある定番のmod環境で、大型modや有名modが対応していることが多いです。
Fabricは比較的軽量で、起動が速く、便利系modや軽量化modでよく使われます。
どちらが絶対に上というより、使いたいmodが対応しているほうを選ぶのが正解です。
Forgeを選ぶとき
Forgeは、工業mod、魔術mod、大型追加要素modなどでよく使われます。
Forgeを選ぶとよいケースは次の通りです。
- 遊びたいmodがForge専用
- 大型modpackを使いたい
- 古いバージョンのMinecraftで遊びたい
- 解説記事や導入例が多い環境を使いたい
一方で、mod数が多いと起動が重くなりやすいです。
メモリ設定やJavaバージョンを間違えると、起動直後に落ちることもあります。
Fabricを選ぶとき
Fabricは、軽量でシンプルなmod環境として使いやすいです。
Fabricを選ぶとよいケースは次の通りです。
- 軽量化modを中心に入れたい
- サーバーをできるだけ軽くしたい
- 比較的新しいMinecraftバージョンで遊びたい
- 小規模な友達サーバーを作りたい
Fabricでは、Fabric API が必要なmodも多いです。
mod本体だけを入れて起動しようとすると、「前提modが足りない」というエラーで止まることがあります。
最初に決めるべき構成
サーバーを立てる前に、次の情報をメモしておくと失敗しにくいです。
Minecraftバージョン:
modローダー: Forge / Fabric
ローダーのバージョン:
Javaバージョン:
サーバーのメモリ:
入れるmod一覧:
公開方法:
このメモがないまま進めると、あとから「何のバージョンで作ったサーバーかわからない」という状態になります。
特に、友達に参加してもらう場合は、クライアント側のmod構成も説明できるようにしておく必要があります。
Javaバージョンの考え方
MinecraftサーバーはJavaで動きます。
ただし、どのJavaでも動くわけではありません。
Minecraftのバージョンによって、必要なJavaのバージョンが変わります。
目安としては、次のように考えるとよいです。
- 古いMinecraftでは古いJavaが必要なことがある
- 1.17以降ではJava 17が使われることが多い
- 1.20.5以降ではJava 21が必要になることがある
- ForgeやFabricの案内にあるJavaバージョンを優先する
Macなら、まず現在のJavaを確認します。
java -version
ここで出るバージョンが、使いたいMinecraftやmodローダーに合っているか確認します。
もし複数のJavaを使い分けるなら、SDKMAN! や Homebrew を使って管理すると楽です。
ただし、初心者のうちはJavaを複数入れすぎると混乱しやすいので、まずは必要な1つを正しく使える状態にするのがおすすめです。
サーバー用フォルダを作る
modサーバーは、専用のフォルダを作って管理するのが安全です。
例えばMacなら、次のように作ります。
mkdir -p ~/minecraft/mod-server
cd ~/minecraft/mod-server
サーバーフォルダには、あとから次のようなファイルができます。
mod-server/
eula.txt
server.properties
mods/
world/
logs/
libraries/
forge-xxxx.jar
fabric-server-launch.jar
大事なのは、サーバーごとにフォルダを分けることです。
Forge用、Fabric用、別バージョン用を同じフォルダに混ぜると、原因不明のエラーが出やすくなります。
Forgeサーバーの立て方
Forgeを使う場合は、公式のForge配布ページから使いたいMinecraftバージョンの Installer をダウンロードします。
ダウンロードしたら、サーバー用フォルダに置いて、次のように実行します。
java -jar forge-installer.jar --installServer
GUIで開く場合は、Installerをダブルクリックして Install server を選び、サーバー用フォルダを指定します。
インストールが終わると、Forge用の起動ファイルや libraries フォルダが作られます。
バージョンによって起動方法が少し違うことがあるので、生成されたファイル名を確認してください。
起動コマンドの例は次の通りです。
java -Xms2G -Xmx6G -jar forge-server.jar nogui
実際の forge-server.jar の部分は、自分のフォルダにあるファイル名に合わせます。
Fabricサーバーの立て方
Fabricを使う場合は、Fabricのサーバー用インストーラーまたはサーバーランチャーを使います。
Fabricの公式案内では、Minecraft Server用のダウンロードページからバージョンを選び、サーバー用jarを取得する方法が紹介されています。
起動コマンドの例は次の通りです。
java -Xms2G -Xmx6G -jar fabric-server-launch.jar nogui
Fabricの場合も、実際のjar名はダウンロードしたファイル名に合わせてください。
Fabricでよくある失敗は、Fabric API を入れ忘れることです。
入れたいmodの説明ページに「Fabric API required」のような記載がある場合は、サーバー側とクライアント側の両方に Fabric API を入れます。
初回起動とeula.txt
ForgeでもFabricでも、最初に起動すると eula.txt が生成されます。
初回起動の例です。
java -Xms2G -Xmx4G -jar server.jar nogui
初回は途中で止まっても正常です。eula.txt が作られていれば、次に進みます。
eula.txt を開くと、次のような行があります。
eula=false
MinecraftのEULAを確認し、同意する場合は次のように変更します。
eula=true
これを変更しないと、サーバーは起動しません。
メモリ設定の意味
Minecraftサーバーの起動コマンドでよく出てくるのが、-Xms と -Xmx です。
java -Xms2G -Xmx6G -jar server.jar nogui
それぞれの意味は次の通りです。
-Xms2G: 起動時に確保するメモリ-Xmx6G: 最大で使ってよいメモリ-jar server.jar: 起動するjarファイルnogui: GUIを出さずに起動する
modサーバーでは、バニラより多くのメモリが必要になります。
目安は次の通りです。
少人数・軽いmod: 4GB前後
中規模mod構成: 6GB前後
大型modpack: 8GB以上を検討
ただし、メモリを増やせば必ず速くなるわけではありません。
PC全体のメモリに余裕がない状態で -Xmx を大きくしすぎると、Mac全体が重くなります。
例えばメモリ16GBのMacなら、最初は -Xms2G -Xmx6G くらいから試すのが現実的です。
modsフォルダの入れ方
modは、サーバーフォルダの mods フォルダに入れます。
mod-server/
mods/
example-mod.jar
fabric-api.jar
architectury-api.jar
ここで重要なのは、サーバー側とクライアント側のmod構成をそろえることです。
多くのmodは、サーバーと参加者のMinecraftクライアントの両方に必要です。
サーバーだけに入れても、クライアント側にmodがなければ参加できないことがあります。
逆に、軽量化modや表示系modのように、クライアントだけで動くmodもあります。
modの説明ページで「client」「server」「both」のような対応範囲を確認してください。
前提modを忘れない
modには、別のmodを前提として動くものがあります。
よくある前提modの例です。
- Fabric API
- Architectury API
- Cloth Config
- Balm
- GeckoLib
起動時にエラーが出て、ログに requires や dependency のような文字がある場合は、前提mod不足の可能性があります。
このとき、適当に別バージョンの前提modを入れるとさらに壊れます。
Minecraftのバージョン、Forge/Fabric、modの対応バージョンを必ず合わせます。
server.propertiesで最低限見るところ
サーバーを起動すると、server.properties が作られます。
最初に見るべき項目は次のあたりです。
server-port=25565
motd=A Minecraft Server
max-players=20
online-mode=true
view-distance=10
simulation-distance=10
allow-flight=false
特に大事なのは online-mode=true です。
基本的には true のままにします。
これを false にすると、正規のMinecraftアカウント認証を使わない状態になり、なりすましなどのリスクが上がります。
軽くしたい場合は、view-distance や simulation-distance を下げると効果があります。
例えば、少人数のmodサーバーなら次のようにすることがあります。
view-distance=6
simulation-distance=6
描画距離やシミュレーション範囲を下げると、サーバーの負荷を減らせます。
起動用スクリプトを作る
毎回長いコマンドを打つのは面倒なので、Macなら start.sh を作ると楽です。
#!/bin/bash
cd "$(dirname "$0")"
java -Xms2G -Xmx6G -jar server.jar nogui
保存したら実行権限を付けます。
chmod +x start.sh
./start.sh
ForgeやFabricでjar名が違う場合は、server.jar の部分を実際のファイル名に変えます。
Windowsなら start.bat を作ります。
java -Xms2G -Xmx6G -jar server.jar nogui
pause
起動コマンドをファイルにしておくと、メモリ設定をあとから見直しやすくなります。
Cloudflare Tunnelで公開するときの注意
ここはかなり重要です。
Cloudflare Tunnelは、自宅サーバーを外部へ公開するときに便利です。
Webサイトや管理画面のようなHTTP/HTTPSサービスなら、かなり扱いやすいです。
ただし、Minecraft Java版は通常TCPの 25565 番ポートで接続します。
Cloudflare Tunnelで任意のTCPサービスを扱う場合、接続側にも cloudflared access tcp が必要になる構成があります。
つまり、普通のMinecraftクライアントに mc.example.com と入力するだけで、必ずそのまま入れるとは限りません。
整理すると、こうです。
Webサイト公開:
Cloudflare Tunnelと相性が良い
ブラウザから普通にアクセスできる
Minecraftサーバー公開:
TCP通信が必要
構成によっては参加者側にもcloudflaredが必要
通常のマイクラ接続だけで使いたいなら別方式も検討
友達に普通のMinecraftクライアントだけで参加してもらいたい場合は、次のような方法も候補になります。
- ルーターでポート開放する
- VPSにサーバーを置く
- ゲーム向けのトンネルサービスを使う
- Cloudflare SpectrumなどTCP向けの仕組みを検討する
- TailscaleなどVPN型の方法で身内向けにする
Cloudflare Tunnelは便利ですが、「Webサイトと同じ感覚でMinecraftも公開できる」と考えるとハマります。
cloudflaredでTCP接続する考え方
Cloudflare TunnelでTCPサービスを扱う場合、サーバー側ではローカルのMinecraftサーバーへ向けます。
設定イメージは次のような形です。
tunnel: your-tunnel-id
credentials-file: /Users/yourname/.cloudflared/your-tunnel-id.json
ingress:
- hostname: mc.example.com
service: tcp://localhost:25565
- service: http_status:404
この設定は、Cloudflare側のホスト名から、Mac上の localhost:25565 へ流す考え方です。
ただし、任意TCPの接続では、クライアント側で次のようにローカル転送を作る方式があります。
cloudflared access tcp --hostname mc.example.com --url localhost:25565
この場合、Minecraftクライアントでは localhost:25565 に接続します。
つまり参加者にも cloudflared の準備が必要になります。
身内だけで遊ぶならこれでも成立します。
でも、不特定多数が普通に参加する公開サーバーには向きません。
Macで運用するときの注意
MacでMinecraftサーバーを動かす場合、地味に大事なのがスリープ対策です。
MacBookの蓋を閉じると、基本的にスリープしてJavaサーバーもTunnelも止まります。
サーバーを公開している間は、スリープしない設定にする必要があります。
確認したいポイントは次の通りです。
- Macをスリープさせない
- Wi-Fiを固定する
- 電源アダプタにつなぐ
- サーバー起動中に蓋を閉じない
cloudflaredとMinecraftサーバーの両方が動いているか確認する
自宅運用は手軽ですが、PCが落ちたらサーバーも落ちます。
長時間安定させたいなら、VPSや専用サーバーも選択肢に入ります。
よくあるエラーと対処
modサーバーでよく見るエラーをまとめます。
eulaに同意していない
症状は、起動してもすぐ止まる状態です。
eula.txt を開いて、次のように変更します。
eula=true
Javaのバージョンが違う
症状は、UnsupportedClassVersionError のようなエラーが出る状態です。
対処は、MinecraftやForge/Fabricが要求しているJavaに合わせることです。
java -version
で確認し、必要ならJavaを入れ直します。
modのバージョンが違う
症状は、起動時にクラッシュしたり、参加時にエラーで弾かれたりします。
確認するものは次の4つです。
- Minecraftのバージョン
- Forge/Fabricの種類
- Forge/Fabricのバージョン
- modの対応バージョン
1つでもズレると動かないことがあります。
前提modが足りない
ログに requires、dependency、missing のような文字が出ている場合は、前提mod不足の可能性があります。
modの配布ページに戻り、必要な前提modを確認します。
メモリ不足
症状は、ワールド生成中に落ちる、探索中に固まる、ログに OutOfMemoryError が出るなどです。
-Xmx を増やすと改善することがあります。
java -Xms2G -Xmx8G -jar server.jar nogui
ただし、PC本体のメモリを超える設定はできません。
他のアプリを閉じる、mod数を減らす、view-distanceを下げるなども検討します。
クライアントだけ参加できない
サーバーは起動しているのに参加できない場合、クライアント側のmod構成が違うことがあります。
参加者に配る情報は、最低でもこれくらい必要です。
Minecraftバージョン:
Forge/Fabric:
ローダーバージョン:
必要mod一覧:
サーバーアドレス:
できれば、mod一覧をスクリーンショットではなくファイル名のリストで共有すると間違いが減ります。
サーバーを安定させる設定
modサーバーを安定させるには、メモリだけでなく負荷設定も見直します。
おすすめは次のあたりです。
view-distanceを下げるsimulation-distanceを下げる- 使っていないmodを外す
- ワールド生成系modを入れすぎない
- サーバー起動後にログを確認する
- TPSが落ちる場面を記録する
TPSは、サーバーの処理速度を見る目安です。
理想は20TPS付近です。
重いmod構成でTPSが落ちる場合、メモリを増やすだけでは直らないことがあります。
CPU負荷、ワールド生成、モブ、チャンク読み込み、mod同士の相性も原因になります。
バックアップは必ず取る
modサーバーでは、バックアップが本当に大事です。
modを追加したり、設定を変えたり、バージョンを上げたりする前に、最低限 world フォルダはコピーしておきます。
cp -R world world-backup-2026-04-30
バックアップしたいものは次の通りです。
worldserver.propertiesmodsconfigops.jsonwhitelist.jsonbanned-players.json
modの追加や削除は、ワールドに影響することがあります。
一度壊れたワールドを完全に戻すのは難しいので、変更前バックアップは必須です。
自分が一番つまずいたところ
自分が一番つまずいたのは、Minecraftサーバーそのものよりも、周辺の理解でした。
具体的にはこのあたりです。
- Javaのバージョン
- ForgeとFabricの違い
- modの前提関係
- サーバー側とクライアント側のmod差分
- Macのスリープ
- Wi-Fi変更
- Cloudflare TunnelのTCP接続
- DNSや公開URLの考え方
最初は、エラーが出るたびに「Minecraftが壊れた」と思っていました。
でも実際には、原因はバージョン違い、前提mod不足、起動コマンド、ネットワーク設定のどれかであることが多かったです。
modサーバーは、仕組みがわかるまでは難しく見えます。
でも、問題を1つずつ分けると対処できます。
最終チェックリスト
サーバーを起動する前に、次を確認します。
- Minecraft Java版のサーバーである
- ForgeかFabricを決めている
- Minecraftバージョンが決まっている
- Javaバージョンが合っている
eula=trueにしているmodsフォルダに必要modを入れている- クライアント側にも必要modを入れている
- 前提modを入れている
server.propertiesを確認している- メモリ設定がPCに対して大きすぎない
- Macがスリープしない
- 公開方法を理解している
- バックアップを取っている
このチェックリストを通してから起動すると、かなり失敗を減らせます。
参考リンク
公式情報は更新されることがあるので、導入時は必ず最新の案内も確認してください。
- Minecraft: Java Edition server download
- Minecraft EULA
- Minecraft Forge downloads
- Forge Documentation
- Fabric install guide
- Cloudflare Tunnel documentation
- Cloudflare arbitrary TCP documentation
- Cloudflare Tunnel protocols
まとめ
Minecraftのmodサーバーは、バニラサーバーよりも難しいです。
でも、難しさの正体はだいたい決まっています。
- バージョン合わせ
- Java
- メモリ
- 前提mod
- クライアントとの差分
- ネットワーク公開
- バックアップ
この7つを押さえれば、かなり安定して運用できます。
最初はエラーだらけでも大丈夫です。
ログを見て、バージョンをそろえて、起動コマンドを整えて、少しずつ直していけば動くようになります。
modサーバーは、仕組みを理解すると一気に面白くなります。
自分だけの環境を作って、友達と遊べるようになるまでの過程も含めて、かなり良い学習になります。