「コマンド入力」なんてダサい!
こんにちは!「リナックス先生」です。
前回はVelocityを使って複数のサーバーを連結させました。でも、移動するのにいちいち /server survival と打つのは面倒ですよね。
そうなんです。友達に「サバイバルに行きたいならコマンド打って」って説明しても「スペルわからん」って言われて…。
Hypixelみたいに、目の前のゲートに飛び込んだら勝手に移動するようにしたいです!
それこそが「UI(ユーザー体験)」の向上よ。
今回はLobbyサーバーを改造して、「ポータル(転送ゲート)」と「案内人NPC」、そして「豪華なTABリスト」を実装しましょう。
これで見た目は完全にプロのサーバーよ!
0. 今回の作業場所
今回の作業は、プロキシ(Velocity)ではなく、中身の「Lobby(ロビー)」サーバーに対して行います。
間違えてSurvivalサーバーに入れないように注意してください。
# 作業ディレクトリへ移動 su - minecraft cd network/lobby/plugins
Step 1:サーバー間移動ポータルの作成
ゲート(水やネザーゲートなど)に入った瞬間、別のサーバーへ転送される仕組みを作ります。
使うプラグインは「AdvancedPortals」です。
1. プラグインの導入
# AdvancedPortalsのダウンロード wget https://github.com/AdvancedPlugins/AdvancedPortals/releases/download/release-0.9.9/AdvancedPortals.jar
ダウンロードしたら、Lobbyサーバーを再起動(Screenで stop → 起動)します。
2. ポータルの作成(ゲーム内作業)
Lobbyサーバーに入り、ポータルにしたい形(例えばネザーゲートのような枠)をブロックで作ります。
そして、「ポータルの中身にしたい空間」を「木の斧(WorldEditの選択ツール)」で範囲選択します。
※木の斧がない場合は //wand で出してください(要WorldEdit)。
選択できたら、以下のコマンドを打ちます。
# /portal create [ポータル名] [行き先] trigger:block /portal create to_survival survival trigger:block
これで、選択した範囲に入ると「survival」サーバーへ転送されるようになります!
【ハマりポイント】
もし移動できない場合は、config.yml の BungeeCord 設定が有効になっているか確認してね。
Velocity環境でも、サーバー移動にはBungeeCordプロトコルを使うのが一般的なの。
Step 2:案内人NPCを配置する
「クリックするとサーバーへ送ってくれる村人」を作ります。
使うのは超有名プラグイン「Citizens」と、NPCにコマンドを埋め込む「CommandNPC」です。
1. プラグインの導入
# Citizens (無償版の配布リンク例、またはSpigotMCから取得) wget [CitizensのダウンロードURL] # CommandNPC wget https://github.com/CommandNPC/CommandNPC/releases/download/1.9.1/CommandNPC-1.9.1.jar
※Citizensは有料プラグインですが、開発ビルド等は無料で手に入ることがあります。規約を確認して利用してください。
2. NPCの作成(ゲーム内作業)
# 1. NPCを作る /npc create 案内人さん --type VILLAGER # 2. 視線がプレイヤーを追うようにする /npc look # 3. コマンドを紐付ける # "server survival" というコマンドを "コンソール(サーバー)" ではなく "Bungee" として実行させる設定 /npc cmd add server survival
これで、この村人を右クリックするだけでサバイバルサーバーへ飛べるようになります。
Step 3:TABリストを豪華にする
Tabキーを押した時のリスト、デフォルトだと地味ですよね。
「TAB」というプラグインを使って、ヘッダーにサーバー名を表示したり、ランクを表示したりしましょう。
1. TABプラグインの導入
wget https://github.com/NEZNAM/TAB/releases/download/4.1.6/TAB.v4.1.6.jar
再起動して導入します。
2. 設定ファイルの編集
plugins/TAB/config.yml を編集すると、自由にデザインを変えられます。
header: - "&b&lWelcome to My Server Network!" - "&6現在 &e%online% &6人がプレイ中" footer: - "&7Webサイト: www.example.com" - "&7Ping: %ping% ms"
%online% などのプレースホルダーを使えば、全サーバーの合計人数を表示することも可能です。
Velocity環境の場合、TABプラグインをVelocity側のpluginsフォルダに入れることで、全サーバー共通のリストを作ることもできます(こちらのほうが推奨です!)。
Step 4:ロビーを「聖域」にする
ロビーは冒険の場所ではありません。ブロック破壊や空腹、ダメージを無効化して、平和な待機所にする必要があります。
第2回で紹介した「WorldGuard」を使いますが、今回はロビー全体を保護します。
ロビー専用の保護設定
Lobbyサーバーで以下のコマンドを実行します。
# 1. ロビー全体(__global__)のブロック破壊を禁止 /rg flag __global__ build deny # 2. PVP(殴り合い)を禁止 /rg flag __global__ pvp deny # 3. 落下ダメージなどの無敵化 /rg flag __global__ invincible allow # 4. 空腹ゲージが減らないようにする /rg flag __global__ hunger deny
これで、ロビーで餓死したり、間違って床を壊してしまう事故がなくなりました。
まとめ:見た目はもう「大手サーバー」
お疲れ様でした!
今回のカスタマイズで、あなたのサーバーは:
- ゲートに入るだけでサーバー移動ができ
- NPCが案内してくれて
- Tabリストにはカッコいいロゴが表示され
- ロビーでは絶対に死なない安全地帯になった
これでもう、友達を招待しても「操作がわからない」と言われることはありません。
最高です!
ロビーにいるだけでワクワクしてきました!
でも先生、これだけサーバーが増えると、悪い人が変なところから侵入してきたりしないか心配です…。
鋭いわね。
実は今の状態だと、Velocityを通さずに「裏口」からサバイバルサーバーに直接入られる危険性があるの。
最終回の次回は、Linuxのファイアウォールを駆使して「不正アクセスを完全に遮断する鉄壁の防御網」を構築するわよ!
▼マルチサーバーを快適に動かすVPS
プラグインを多数導入したLobbyと、サバイバルサーバーを同時に動かすにはCPUパワーが必要です。ラグのない快適な環境を作るなら、こちらのVPSが最適です。



コメント