【超・上級編第1回】マイクラサーバーを「連結」せよ!Velocityで作る大規模マルチサーバー網構築術

Linux

目指すは「Hypixel」のような巨大ネットワーク

こんにちは!「リナックス先生」です。
これまでの連載で、あなたのサーバーは高機能な生活鯖になりました。しかし、まだ足りないものがあります。

コウ君

先生、生活鯖は楽しいんですけど、「リセットして新しい冒険もしたい」けど「今の建築も残したい」っていう板挟みになってます…。
大手サーバーみたいに、ロビーから「生活鯖」「資源鯖」「ミニゲーム鯖」って移動できるようにできませんか?

リナックス先生

それこそが「マルチサーバーネットワーク」よ!
1台のVPSの中で、複数のマイクラサーバーを同時に動かして、それらを「プロキシ」という技術で束ねるの。
難易度はS級だけど、これができればあなたはもう「業者」レベルの技術者よ!

0. 今回構築する「システム構成図」

これから作るのは、以下のような3層構造のシステムです。

【プレイヤーのアクセス】
  ↓
【1. Velocity (プロキシ)】 ポート:25577
   受付係。ゲーム機能はなく、プレイヤーを各サーバーへ振り分けるだけ。
  ↓ ├── (転送) ──┐
【2. Lobby (ロビー)】       【3. Survival (サバイバル)】
ポート:25565                 ポート:25566
(PaperMC)                     (PaperMC)

※VPSのメモリは最低でも4GB以上、推奨は8GBです。メモリ不足だと全サーバーが共倒れします。

Step 1:プロキシサーバー「Velocity」の構築

まずは司令塔となるVelocity(ヴェロシティ)を導入します。
昔は「BungeeCord」が主流でしたが、現在はより軽量でセキュリティの高いVelocityが業界標準です。

1. 専用ディレクトリの作成

今回はフォルダ構成が命です。綺麗に整理しましょう。

su - minecraft
mkdir network
cd network
mkdir velocity lobby survival

2. Velocityのダウンロードと起動

公式サイトから最新版をダウンロードします。

cd velocity
# Velocity 3.3.0-SNAPSHOT の例(URLは最新に!)
wget https://api.papermc.io/v2/projects/velocity/versions/3.3.0-SNAPSHOT/builds/389/downloads/velocity-3.3.0-SNAPSHOT-389.jar -O velocity.jar

# 起動用スクリプト作成
vi start.sh

▼start.shの中身

#!/bin/bash
java -Xms512M -Xmx512M -jar velocity.jar

※Velocity自体は軽量なのでメモリ512MBで十分です。

権限を与えて一度起動します。

chmod +x start.sh
./start.sh

Done と出たら end と入力して停止させます。

Step 2:Velocityの設定(velocity.toml)

生成された設定ファイル velocity.toml を編集し、各サーバーを登録します。

vi velocity.toml

変更すべき重要ポイント

  1. bind = “0.0.0.0:25577”
    入り口のポート番号です。今回は 25577 を使います。
  2. [servers] セクション
    ここで接続先のサーバーを定義します。
    [servers]
    lobby = "127.0.0.1:25565"
    survival = "127.0.0.1:25566"
    try = ["lobby"] # 最初に接続するサーバー
  3. player-info-forwarding-mode = “modern”
    これを modern に設定します(超重要)。これでPaperMC側とセキュリティ連携します。

Step 3:中身のサーバー(PaperMC)を2つ用意

次に、中身となる「ロビー」と「サバイバル」の2つのサーバーをセットアップします。
※重要:バニラサーバーは使えません。必ずPaperMCを使用してください。

1. Lobbyサーバーの構築(ポート25565)

通常のPaperMC導入手順と同じですが、ポート番号と設定ファイルを変えます。

cd ../lobby
# PaperMCをダウンロード(URLは省略)
wget [PaperMCのURL] -O server.jar
# 一度起動してEULA同意し、停止

▼server.properties の変更

server-port=25565
online-mode=false  # Velocityが認証するため、ここはfalseにする(必須!)

▼config/paper-global.yml の変更(超重要)

proxies:
  velocity:
    enabled: true
    online-mode: true
    secret: "ここにVelocityのシークレットキーを貼る"

※シークレットキーは、Velocityフォルダの forwarding.secret ファイルの中に書いてあります。これをコピペして貼り付けます。

2. Survivalサーバーの構築(ポート25566)

同様の手順で survival フォルダにもPaperMCを導入しますが、ポート番号をずらします。

▼server.properties

server-port=25566
online-mode=false

▼config/paper-global.yml
Lobbyと同じようにVelocity設定を有効化し、シークレットキーを貼ります。

Step 4:ポート開放と全起動!

最後に、VPSのファイアウォール設定で、Velocityのポートを開放します。

# rootユーザーで
firewall-cmd --add-port=25577/tcp --permanent
# ※25565, 25566は外部に公開しません(セキュリティのため)
firewall-cmd --reload

いよいよ、3つのサーバーを全てScreenで起動します。

# 1. Lobby起動
cd ../lobby
screen -S lobby
java -Xmx2G -jar server.jar nogui
(Ctrl+a -> d でデタッチ)

# 2. Survival起動
cd ../survival
screen -S survival
java -Xmx4G -jar server.jar nogui
(Ctrl+a -> d でデタッチ)

# 3. Velocity起動
cd ../velocity
screen -S velocity
./start.sh
(Ctrl+a -> d でデタッチ)

接続テスト:夢のマルチサーバーへ

マイクラのマルチプレイ画面で、以下のアドレスを入力して接続してください。

  • IPアドレス: VPSのIPアドレス:25577

無事に「Lobby」サーバーに入れましたか?
成功していれば、チャット欄で /server survival と打つだけで、ログアウトすることなくサバイバルサーバーへ移動できるはずです!


まとめ:ここからが本当の構築

おめでとうございます!これで「サーバー連結」の土台が完成しました。

コウ君

すごい!コマンド一つで世界が切り替わりました!
でも先生、いちいち /server って打つのは面倒だし、ロビーがただの平原で殺風景です…。

リナックス先生

まだ骨組みができただけだからね。
次回は、ロビーに「水に入るだけで移動できるポータル」を設置したり、Tabキーを押した時のリストを豪華にするカスタマイズ編よ!
Hypixelのようなカッコいいロビーを作るわよ!

▼マルチサーバー構築におすすめのVPS

3つのサーバーを同時起動するため、メモリ消費が激しくなります。最低でも4GB、快適に動かすなら8GBプランが必須級です。

【2026年最新】Linuxサーバー構築におすすめのVPS比較3選!現役エンジニアが速度とコスパで厳選
Linuxの勉強、まだ「自分のPC」でやって消耗していませんか?「Linuxを覚えたいけど、環境構築でエラーが出て先に進めない…」「VirtualBoxを入れたらパソコンが重くなった…」これは、Linux学習を始める9割の人がぶつかる壁です...

コメント