マインクラフトでサーバーを作成する方法
自分専用のサーバーは、ワールドとゲームルールを完全に制御できます。月額サブスクリプションを支払うことなく友達と遊んだり、あらゆる改造を導入したり、ミニゲームや技術的な構成を作成したりできます。サーバーはコンピューター上で別個のプログラムとして起動します。ゲームのロジックを処理し、…
自分専用のサーバーは、ワールドとゲームルールを完全に制御できます。月額サブスクリプションを支払うことなく友達と遊んだり、あらゆる改造を導入したり、ミニゲームや技術的な構成を作成したりできます。サーバーはコンピューター上で別個のプログラムとして起動します。ゲームのロジックを処理し、プレイヤーのクライアントがそれに接続します。作成プロセスは、コアの選択、コンフィグの基本設定、そしてネットワークへのアクセス開放で構成されます。
サーバーコアの選択
コアの種類がサーバーの機能を決定します。Paper に Forge の Mod を導入したり、Vanilla にプラグインを導入したりすることはできません。
コアの種類 | 対応 | 適した用途 |
Vanilla | データパックのみ | 純粋なサバイバル、スピードラン。最も最適化が悪い。 |
Paper | プラグイン (Bukkit/Spigot/Paper) | 公開サーバー、友達とのサバイバル、ミニゲーム。優れた最適化。 |
Purpur | プラグイン (Paper) + 独自のコンフィグ | Paper と同様だが、メカニクスの細かい調整が可能(例えば、ハチに乗ることを許可する)。 |
Fabric | Mod (Fabric) | 技術的なサーバー (Carpet mod)、バニラ+の構成、最適化 (Lithium)。 |
NeoForge / Forge | Mod (Forge/NeoForge) | 新しいディメンション、機械、魔法を含む重いモッドパック。 |
大規模なグローバル Mod を使わない 90% のプライベートサーバーにとって、Paper が最適な選択です。プレイヤーのクライアントに Mod を導入する必要がなく(すべてバニラクライアントから入れます)、土地保護用のプラグインに対応し、公式コアより高速に動作します。
⚠️ 重要: Mod とプラグインの両方を同時にサポートするハイブリッドコア (Arclight, Mohist) は、Mod のメカニクスを壊し、不安定さを引き起こすことがよくあります。どちらか一方を選んでください。プラグインか Mod か、どちらかです。
システム要件と準備
サーバーはメインメモリ (RAM) とプロセッサのリソースを消費します。サーバーにグラフィックカードは関係ありません。ワールドの生成は CPU でのみ行われます。
2~5 人のプレイヤー向け (Paper):
RAM: 2~3 GB の割り当てメモリ。
CPU: 4 コア以上の最新プロセッサであれば何でも可。
10 人以上のプレイヤーまたは重いモッドパック向け (NeoForge):
RAM: 6~8 GB の割り当てメモリ。
CPU: 1 コアあたりの高い処理性能。
Java のインストール
Minecraft 1.21 以降は Java 21 を必要とします(バージョン 26.1 以降は Java 26 が必要)。サーバーはクライアントに組み込まれた Java を使用しないため、システムに別途インストールする必要があります。
Oracle 公式サイトから JDK 21(または JDK 26)をダウンロードします。
インストール時に必ずインストーラーの「Add to PATH」オプションを有効にしてください。
ターミナルで確認します: java -version。バージョン 21.0.x が出力されるはずです。
基本的なインストールと起動
Paper コアのインストール例:
ステップ 1. コアのダウンロード
公式サイト papermc.io にアクセスし、ゲームバージョン(例えば 26.1)を選択してファイルをダウンロードします。サーバー用の空のフォルダを作成し、ファイルをそこへ移動します。便宜上、ファイル名を server.jar に変更します。
ステップ 2. 起動ファイルの作成
サーバーはダブルクリックでは起動しません。スクリプトを通じてメモリを割り当てる必要があります。
サーバーフォルダにテキストドキュメント start.txt を作成し、
それを開いてコードを貼り付けます:
DOS
java -Xmx4G -Xms4G -jar server.jar nogui
pause
パラメータ -Xmx4G はメインメモリの最大上限(4 GB)を設定します。-Xms4G は開始時の容量です。ファイルを保存し、拡張子を .txt から .bat に変更します(Windows の場合)。
Linux/macOS では start.sh を作成し、最初の行に #!/bin/bash を追加します。
ステップ 3. EULA への同意
start.bat を実行します。コンソールが数秒間開いて閉じます。新しく作成された eula.txt ファイルを開きます。行 eula=false を eula=true に変更します。これは開発者のライセンス契約への正式な同意です。
ステップ 4. 本格的な起動
再度 start.bat を実行します。サーバーがワールドと設定ファイルを生成します。コンソールに Done! というメッセージが表示されます。サーバーは必ずコンソールの stop コマンドで停止してください。さもないとワールドが破損する可能性があります。
設定server.properties
ファイル server.properties にはサーバーの主要設定が含まれています。これを開くには、ファイルを右クリック(マウスの右ボタン)して「プログラムから開く…」を選択し、その後「メモ帳」または他の任意のテキストエディタを選択します。\
以下は server.properties のデフォルト設定と各パラメータの説明の表です:
パラメータ | 値 | 説明 |
accepts-transfers | FALSE | このサーバーが他のサーバーからのプレイヤーの転送(トランスファー)を受け入れるかどうかを決定します。 |
allow-flight | FALSE | サバイバルモードでのサーバー上での飛行を許可または禁止します(プレイヤーが外部の改造を使用している場合)。false の場合、サーバーはそのようなプレイヤーをキックします。 |
broadcast-console-to-ops | TRUE | 有効にすると、コンソールコマンドの実行結果がサーバーのすべてのオペレーター(管理者)のチャットに送信されます。 |
broadcast-rcon-to-ops | TRUE | 前項と同じですが、リモートアクセス (RCON) 経由で送信されたコマンドに対するものです。 |
bug-report-link | (空) | エラーやクラッシュによりサーバーから切断されたときに、プレイヤーの画面に表示されるリンク。 |
debug | FALSE | 拡張されたエラーログのためのデバッグモード (debug mode) を有効にします。 |
difficulty | easy | サーバーの難易度(peaceful - ピースフル、easy - イージー、normal - ノーマル、hard - ハード)。 |
enable-code-of-conduct | FALSE | 接続時にプレイヤーに Microsoft の行動規範 (Code of Conduct) への同意を求めるかどうか。 |
enable-jmx-monitoring | FALSE | サーバーのパフォーマンス監視のための JMX (Java Management Extensions) の使用を許可します。 |
enable-query | FALSE | GameSpy4 プロトコル (Query) を有効にします。これにより、外部のモニタリングサイトがサーバーの情報(オンライン数、プラグイン)を取得できるようになります。 |
enable-rcon | FALSE | マシンのターミナルへの直接アクセスなしで管理するための、サーバーコンソールへのリモートアクセス (RCON) を有効にします。 |
enable-status | TRUE | ゲームクライアントのサーバーリストにサーバーが「オンライン」として表示されることを許可します。 |
enforce-secure-profile | TRUE | プレイヤーが署名済みの Mojang プロファイル公開鍵を持つことを要求します(チャットメッセージの偽造に対する保護)。 |
enforce-whitelist | FALSE | true の場合、このリストが有効化されたとき、サーバーは「ホワイトリスト」(whitelist) にいないプレイヤーを強制的に追い出します。 |
entity-broadcast-range-percentage | 100 | サーバーがクライアントにエンティティ(モブ、他のプレイヤー、アイテム)のデータを送信する距離(パーセンテージ)を制御します。 |
force-gamemode | FALSE | サーバーに接続するたびに、プレイヤーにデフォルトのゲームモードを強制的に設定します。 |
function-permission-level | 2 | データパック (datapacks) を通じて実行される関数の権限レベル(1 から 4 まで)。 |
gamemode | survival | デフォルトのゲームモード(survival, creative, adventure, spectator)。 |
generate-structures | TRUE | ワールドに構造物(村、ダンジョン、寺院など)を生成するかどうかを決定します。 |
generator-settings | {} | ワールドジェネレーターの特別な設定(通常はカスタムワールドに使用されます)。 |
hardcore | FALSE | 「ハードコア」モード。true の場合、死亡後プレイヤーは永久にスペクテイターモードに移行します。 |
hide-online-players | FALSE | true の場合、マルチプレイメニューでアクティブなプレイヤーのニックネームのリストを非表示にします。 |
initial-disabled-packs | (空) | 新しいワールドの作成時に無効化されるデータパックのリスト。 |
initial-enabled-packs | vanilla | デフォルトで有効化されているデータパックのリスト(基本ゲーム「vanilla」)。 |
level-name | world | あなたのワールドのファイルが保存されるフォルダの名前。 |
level-seed | (空) | ワールド生成用のシード(数値のシード)。空の場合、ランダムなものが生成されます。 |
level-type | minecraft\:normal | ワールド生成のタイプ(normal - 通常、flat - フラット、large_biomes - 大きなバイオーム、amplified - 山岳)。 |
log-ips | TRUE | プレイヤーの IP アドレスをサーバーのログファイルに記録するかどうかを決定します。 |
management-server-* | (さまざま) | 外部のサーバー管理ツール用のパラメータ群(ポート、キー、設定)(めったに使用されません)。 |
max-chained-neighbor-updates | 1000000 | サーバーのフリーズを防ぐための連鎖ブロック更新の上限(例えば、TNT の爆発や複雑なレッドストーン回路の際)。 |
max-players | 20 | サーバーに同時に存在できるプレイヤーの最大数。 |
max-tick-time | 60000 | 1 つの「ティック」の実行最大時間(ミリ秒)。サーバーがこの時間より長く「考え込む」と、自動的にシャットダウンします(「死んだ」フリーズに対する保護)。 |
max-world-size | 29999984 | ワールド境界の最大半径(ブロック単位)。 |
motd | A Minecraft Server | Message Of The Day。プレイヤーがサーバーリストで見るサーバーの説明・名前。 |
network-compression-threshold | 256 | サーバーがインターネットトラフィックを節約するために圧縮を開始する、パケットの最小サイズ(バイト単位)。 |
online-mode | TRUE | 非常に重要なパラメータ。true の場合 — ライセンス版ゲームを持つプレイヤーのみを通します。false の場合 — 「海賊版」ランチャーのプレイヤーの参加を許可します。 |
op-permission-level | 4 | オペレーターのデフォルトの権限レベル(1~4、4 は stop を含むすべてのコマンドへのアクセスを与えます)。 |
pause-when-empty-seconds | -1 | プレイヤーがいない場合、サーバーがワールドを「一時停止」にするまでのアイドル時間(秒単位)(-1 は無効を意味します)。 |
player-idle-timeout | 0 | 非アクティブ (AFK) なプレイヤーが自動的にキックされるまでの時間(分単位)。0 — 無効。 |
prevent-proxy-connections | FALSE | VPN またはプロキシを使用するプレイヤーの接続を禁止します(Mojang の認証システムと連携して動作します)。 |
query.port | 25565 | Query プロトコル用のポート(パラメータ enable-query で有効化されている場合)。 |
rate-limit | 0 | クライアントからサーバーへのパケットの最大数。パケットスパムに対する保護に使用されます(0 — 無効)。 |
rcon.password | (空) | サーバーコンソールへのリモートアクセス用のパスワード(enable-rcon=true の場合は入力が必要)。 |
rcon.port | 25575 | RCON 接続用のポート。 |
region-file-compression | deflate | ワールドファイル(リージョン)の圧縮アルゴリズム。deflate は標準的で最も一般的です。 |
require-resource-pack | FALSE | true の場合、プレイヤーはサーバーのリソースパックのダウンロードに同意するまでサーバーに参加できません。 |
resource-pack | (空) | プレイヤーに提供されるサーバーのリソースパックの .zip アーカイブへの直接リンク (URL)。 |
resource-pack-id | (空) | リソースパックの一意の識別子 (UUID)。 |
resource-pack-prompt | (空) | リソースパックのダウンロードを提案する際にプレイヤーが見るメッセージ(例えば「より良いゲームのためにパックをダウンロードしてください」)。 |
resource-pack-sha1 | (空) | リソースパックのアーカイブの SHA-1 ハッシュ。パックが変更されていない場合に、クライアントが再ダウンロードしないようにするために必要です。 |
server-ip | (空) | サーバーを「バインド」するための IP アドレス。サーバーがマシンのすべてのネットワークインターフェースで動作するように、通常は空のままにします。 |
server-port | 25565 | プレイヤーが接続するサーバーのメインポート。 |
simulation-distance | 10 | プレイヤーの周囲でワールドがシミュレートされる半径(チャンク単位)(植物が育ち、モブが歩き、機械が動作する)。 |
spawn-protection | 16 | スポーンゾーンの保護半径(ブロック単位)。このゾーンでは、一般のプレイヤーはブロックを壊したり置いたりできません。 |
status-heartbeat-interval | 0 | サーバーステータスの拡張データの送信間隔(通常は使用されません)。 |
sync-chunk-writes | TRUE | チャンクのディスクへの保存を同期的にします(クラッシュ時のワールドデータ損失を回避するためにより信頼性が高いですが、サーバーを少し遅くする可能性があります)。 |
text-filtering-config | (空) | チャット内の不適切な単語をフィルタリングする外部システムの設定。 |
text-filtering-version | 0 | テキストフィルタリングシステムの API バージョン。 |
use-native-transport | TRUE | サーバーがシステムの最適化されたネットワークライブラリ(例えば Linux 用の epoll)を使用することを許可し、ネットワークパフォーマンスを向上させます。 |
view-distance | 10 | サーバーがクライアントに送信する描画距離(チャンク単位)(プレイヤーの視認距離はこれに依存します)。 |
white-list | FALSE | 「ホワイトリスト」の有効化。true の場合、このリストに追加された(コマンド /whitelist add <ニックネーム> で)ニックネームのプレイヤーのみがサーバーに参加できます。 |
⚠️ 重要: online-mode=false に設定すると、どのプレイヤーも管理者のニックネームで参加できてしまいます。保護のために必ず認証プラグイン(例えば AuthMe Reloaded)を導入してください。
プラグインのインストール方法
プラグインは、プレイヤーが Mod を導入する必要なく、サーバーの機能を拡張します。Paper、Purpur、Spigot でのみ動作します。
プラグインを .jar 形式でダウンロードします。
ファイルをサーバー内の plugins フォルダに配置します。
サーバーを再起動します(stop -> start.bat)。
plugins フォルダ内にプラグインのコンフィグが入ったフォルダが表示され、そこでその設定を編集します(通常は config.yml ファイル内)。
Mod のインストール方法
Mod で遊ぶには Fabric または NeoForge コアが必要です。すべてのプレイヤーは、自分のクライアントに同一の Mod セットを持っている必要があります。
Fabric の場合:
インストーラーを fabricmc.net からダウンロードします。
それを実行し、「Server」タブを選択し、ゲームバージョンと空のフォルダを指定します。「Install」をクリックします。
ダウンロードした fabric-server-launch.jar を start.bat 経由で起動します。
生成された mods フォルダに Mod を入れます。Fabric には必ず Fabric API という Mod が必要です。
NeoForge の場合:
インストーラーを neoforged.net からダウンロードします。
それを実行し、「Install server」を選択してフォルダを指定します。
インストール後、run.bat ファイルを実行します(インストーラーが自動的に作成します)。
サーバー用の Mod を mods フォルダに配置します。
クライアント側の Mod(ミニマップ、シェーダー、Sodium のような描画最適化)はサーバーに導入してはいけません — それらは起動時にコアのクラッシュを引き起こします。
プレイヤーをサーバーに入れる方法
方法 1: ポート転送 (Port Forwarding)
最も ping が低い最良の方法です。ルーターへのアクセスが必要です。
ルーターの設定パネルに入ります(ブラウザで 192.168.1.1)。
「Port Forwarding」または「NAT」セクションを探します。
ルールを作成します: ポート 25565、プロトコル TCP/UDP、ローカル IP — あなたのコンピューターのアドレス(ipconfig で確認します)。
プレイヤーはあなたの外部 IP アドレスで接続します(サイト 2ip.ua)。
方法 2: トンネル (Playit.gg)
プロバイダーがポートをブロックしている場合。
プログラムを playit.gg からダウンロードします。
それをサーバーと一緒に起動します。ブラウザでページが開きます。
登録すると、サービスが公開アドレスを発行します(例えば auto-bridge.playit.gg)。
プレイヤーはこのアドレスをゲームに入力します。
方法 3: Radmin VPN
すべてのコンピューターに Radmin VPN をインストールします。
ネットワークを作成し、友達にその名前を伝えます。
彼らはネットワークに参加します。
プレイヤーは Radmin VPN に表示されるあなたの PC の IP アドレスで接続します。
技術的な詳細 / 内部での動作の仕組み
Minecraft サーバーはシングルスレッドのアプリケーションです。モブの動き、物理、機械を処理するメインのゲームサイクル (tick loop) は、プロセッサの 1 コアでのみ実行されます。
ゲームは 1 秒間に 20 ティック (TPS - Ticks Per Second) を実行しようとします。1 ティックには 50 ミリ秒が割り当てられています。計算により多くの時間がかかると、TPS が低下し、プレイヤーは遅延を感じます。まさにこのため、サーバーにとってはコアの総数よりも 1 コアのクロック周波数の方が重要です。
Paper のようなコアでのマルチスレッド処理は、ディスクからのチャンクの非同期読み込みとネットワーク処理にのみ使用されますが、ゲームロジック自体は単一のスレッドに留まります。
管理者の基本コマンド
サーバーコンソールで入力します(/ なし)。
動作 | コマンド |
オペレーター権限を付与する | op [ニックネーム] |
権限を取り消す | deop [ニックネーム] |
ホワイトリストを有効にする | whitelist on |
ホワイトリストに追加する | whitelist add [ニックネーム] |
プレイヤーをキックする | kick [ニックネーム] [理由] |
プレイヤーを BAN する | ban [ニックネーム] [理由] |
ワールドを手動で保存する | save-all |
代替手段としてのホスティング
家庭のコンピューターが非力な場合、サーバーをレンタルできます。
種類 | 代表例 | 利点 | 制限 |
無料 | Aternos, FalixNodes | 支払い不要 | 起動待ち行列、負荷時のラグ、プレイヤーがいないとサーバーが停止する。 |
有料・低価格 | PebbleHost, Bloom.host | 1 GB あたり 1 ドルから、24/7 稼働 | 毎月支払う必要がある。 |
VDS/VPS | Hetzner, Oracle | マシンの完全な制御 | Linux の管理スキルが必要。 |
よくあるミスと回避方法
エラー 1: FAILED TO BIND TO PORT。ポート 25565 がすでに使用されているため、サーバーが起動しません。2 つの start.bat を起動した際によく発生します。タスクマネージャーを開き、すべての Java(TM) Platform SE binary プロセスを閉じてください。
エラー 2: UnsupportedClassVersionError。Java のバージョンが古いです。1.20.5 以降には Java 21 が、1.16.5 には — Java 11 が必要です。
エラー 3: 高速飛行時のラグ。サーバーが新しいチャンクの生成に追いつきません。Chunky プラグインを導入し、5000 ブロックの半径でワールドを事前生成してください。
エラー 4: 起動時の Fabric/Forge サーバーのクラッシュ。mods フォルダにクライアント側の Mod(ミニマップ、Sodium)が入ってしまいました。サーバーにはグラフィカルインターフェースがなく、それらを読み込もうとすると落ちます。
エラー 5: 接続時の Invalid session エラー。プレイヤーが online-mode=true が有効な状態で海賊版ランチャーを使用しています。server.properties で値を false に変更してください。
まとめ
Paper をベースにした自分専用のサーバーは、優れたパフォーマンスを提供し、ゲームクライアントを変更せずにプラグインを追加できるため、友達とのプライベートなサバイバルに最適な選択です。新しいメカニクスを含む大規模な構成には、サーバーとプレイヤーの間で Mod の同期が必要な Fabric または NeoForge を使用する必要があります。家庭用サーバーの設定における主な課題はポートの正しい開放ですが、Playit.gg のようなサービスを使用すれば、プロバイダーの閉じたポートの問題を解決できます。家庭用 PC の性能が足りない場合、安価な有料ホスティングへの移行により、安定した 24/7 のアクセスが保証されます。
まだコメントはありません。最初にコメントしてみましょう。