Minecraft【サーバー】Velocityで作るプロキシサーバー。

2024-02-16

Mac、Windowsで動作確認。

拡張性に優れ、高性能。複数のサーバーを繋ぐ、マインクラフト用プロキシサーバー。

複数のサーバーを作った場合、それぞれに違うポート番号が必要になり、ホストサーバーへの入り口が増えます。また、サーバー間の移動には、マインクラフトを終了して入り直すなど、手間がかかります。Velocityを設置することで、入り口をひとつにし、マインクラフトを起動したままサーバー間を移動出来るようになります。

◻︎Velocityの特徴
・詳しい使い方が、WEBサイトで確認出来きる。
・PaperMCなどサーバーとの連携もスムーズ。Fabricに対応!
・プログラムの更新が速い!
・専用プラグインも充実!

 

目次

1.導入手順
・サーバー作成。
・プロキシサーバーのダウンロード。
・Velocityの展開。
・プロキシの設定。

2.プロキシの設定
・サーバー側の設定。
・プロキシ側の設定。

3.サーバーの起動と停止
・起動ファイルの作成。
・起動ファイルの作成。
・プロキシ、サーバー起動。
・プロキシ、サーバーの停止。

4.プラグイン
・ダウンロードサイト。

5.マルチプレイ
・ローカルエリアネットワーク。
・ポート転送(開放)。

 

導入手順

サーバー作成。

Velocityを設置するには、サーバーが必要になります。下記リンクを参考に作成してください。※非推奨ですが、プラグインとモッドサーバーの併用も出来ます。

◻︎プラグインサーバーの場合。

 

◻︎モッドサーバーの場合。

 

プロキシサーバーのダウンロード。

Velocityを入手

青い枠で囲まれた「Velocity」を押し、Recommended(推奨)版をダウンロードします。※画像はGoogle翻訳。

 

Velocityの展開。

velocity-(バージョン).jarを開きます。※(バージョン)はダウンロードした時期によって変わります。「forwarding.secret」を開き、コードを確認しておきます。

 

プロキシの設定。

初回起動時に必要なサーバーとプロキシの設定をしていきます。Velocityにアクセスされたプレイヤー情報を、各サーバーに転送します。方法はいくつかありますが、Velocity推奨のVelocity modern forwarding(モダン転送)を使います。※Minecraft 1.13以前のクライアントやForgeでは使用出来ません。

サーバー側の設定

◎基本設定(共通)

◻︎「server.properties」を変更。

online-mode=true =falseに変更。※サーバーの代わりに、プロキシがプレーヤー認証するため不要
level-name=world =lobbyなどに変更。
server-port=25565 ポート番号を設定。※他のサーバーと被らないように

 

◎PaperMC(プラグイン)サーバーの転送設定。

◻︎サーバー→config→「paper-global.yml」を変更。
velocity:の項目を「true」に変更。secret: には「forwarding.secret」のコードを入力。

velocity:
enabled: false
online-mode: false
secret: ''
velocity:
enabled: true
online-mode: true
secret: ここにコードを記入

 

◎Fabric(モッド)サーバーの転送設定。

VelocityでFabric(モッド)サーバーの動作に必要。サーバーのmodsフォルダに入れて一度起動しておきます。※バージョンをよく確認してから導入してください。

CrossStitch プロキシとモッドの互換性を向上。

FabricProxy-Lite モッドサーバーでモダン転送が使える。

◻︎Fabricサーバー→config→「FabricProxy-Lite.toml」の変更。
hackEarlySend= の項目は、VelocityにLuckPermsが入っている場合「true」に変更。secret= には「forwarding.secret」のコードを入力。

hackOnlineMode = true
hackEarlySend = false
hackMessageChain = true
secret = ""
hackOnlineMode = true
hackEarlySend = false
hackMessageChain = true
secret = "ここにコードを記入"

 

プロキシ側の設定

◻︎「velocity.toml」の変更。

bind = "0.0.0.0:25577" ホストサーバーのIPアドレス、ポート番号を入力。
motd = "<#09add3>A Velocity Server" サーバーのタイトルを変更可。※MiniMessage形式。
show-max-players = 500 最大人数の設定。
player-info-forwarding-mode = "NONE" ="modern"に変更。
velocity:
enabled: false
online-mode: false
secret: ''
velocity:
enabled: true
online-mode: true
secret: ここにコードを記入
[servers]
lobby = "127.0.0.1:30066"
factions = "127.0.0.1:30067"
minigames = "127.0.0.1:30068"
サーバーで設定したlevel-nameとポート番号を入力。IPアドレスはホストサーバーと同じ。※複数のサーバーマシンを使っている場合は合わせて変更。
try = [
"lobby"
]
プレイヤーが最初にログインするサーバー。
[forced-hosts]
"lobby.example.com" = [
"lobby"
]
サーバーでlevel-nameを変更している場合、合わせて変更しておきます。

Welcome to the Velocity Docs ※詳しい設定方法はこちら。

 

サーバーの起動と停止

テキストエディタにコマンドを入力し起動ファイルを作ります。サーバーよりオプション項目が多いようです。メモリーもVelocity推奨設定のままで良いです。ファイル名はバージョンに合わせて変更してください。

「proxy」と名前を付けて、proxy-(バージョン).jarと同じ場所に保存します。※(バージョン)はダウンロードした時期によって変わります。

起動ファイルの作成。

◎Windowsの場合。 拡張子を.batで保存。

@echo off
java -Xms512M -Xmx512M -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -jar velocity-(バージョン).jar
pause

 

◎Macの場合。 実行権を付与にチェックを入れ、拡張子を.commandで保存。

#!/bin/sh
cd "$(dirname "$0")"
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity-(バージョン).jar

◻︎スクリプトの実行権限 付与を忘れた場合、作り直すかコマンド入力。

chmod +x proxy.command

※proxy.commandファイルをオプションキーを押しながら右クリックすると、パスがコピー出来ます。

 

プロキシ、サーバー起動。

プロキシサーバー、すべてのサーバーで作成したバッチ、スクリプトをダブルクリックして起動します。

プロキシサーバーが起動出来ない場合は、プロキシの設定、ポート番号やIPアドレスなど、もう一度よく確認して再度実行してください。

 

プロキシ、サーバーの停止。

プロキシサーバー、すべてのサーバーでコマンドプロンプトやターミナルにstopと入力します。

stop

 

毎回手動で起動するのは大変なので、バッチファイルやスクリプトを作っておくと便利です。サーバの起動や停止、ワールドのバックアップなどを自動化しました。詳しくは下記リンクをご覧ください。

◻︎Mac・Linux はこちら

◻︎Windows はこちら

 

 

プラグイン

ダウンロードサイト。

Hangar Velocityに対応しているプラグインがダウンロード出来ます。

プロキシ専用のものや、サーバーにも導入が必要なものがあります。使い方は、プラグインによって異なります。 ※プラグインの組み合わせによっては、うまく動作しない場合があります。

 

マルチプレイ

マルチプレイからサーバーの追加、またはダイレクト接続からサーバーアドレスを入力します。※プロキシになっても、接続方法はサーバーと同じです。

ローカルエリアネットワーク。

ホストサーバーのIPアドレスを入力すると、Velocityのプロキシサーバーに接続出来ます。ポート番号を変更している場合は、ポート番号も入力します。
例)192.168.0.1:27555

プロキシサーバー、サーバーの動作確認に使用します。

 

ポート転送(開放)。

自宅サーバーのネックだったポート転送(開放)ですが、難しい設定や環境に悩むことなく、トンネルを使って簡単にサーバー公開出来るようになりました。詳しくは下記リンクを参照してください。※離れている友人と遊ぶには、ポート転送、またはトンネル設定が必要です。