目指すは「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
変更すべき重要ポイント
- bind = “0.0.0.0:25577”
入り口のポート番号です。今回は25577を使います。 - [servers] セクション
ここで接続先のサーバーを定義します。[servers] lobby = "127.0.0.1:25565" survival = "127.0.0.1:25566" try = ["lobby"] # 最初に接続するサーバー
- 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プランが必須級です。



コメント