マイクラプラグインサーバーの立て方!Paperで導入する手順を初心者向けに解説
2026.10.29広告・PRを含む記事です
マイクラのプロキシサーバーの立て方!VelocityとBungeeCordの設定手順

- VelocityとBungeeCordのどちらを使えばよいのかわからない…
- 子サーバーを
online-mode=falseにして安全なのか不安… - ロビーと生活サーバーを1つのアドレスにまとめたい…
プロキシサーバーは、複数のマイクラサーバーを1つのアドレスにまとめる受付役のソフトです。
この記事では、新しく作る人に向くVelocityを主役にして、ダウンロードからvelocity.tomlの設定、Paperの子サーバー側の設定、/serverでの移動まで進めます。子サーバーに渡すプレイヤー情報の転送方式(modern)の意味も説明します。
BungeeCordをすでに使っている人や、使う理由がある人向けの手順は、後半の節にまとめました。
online-mode=falseが危険になる理由と、子サーバーへ直接入られないようにする設定も手順に含めています。どのファイルのどの行を書き換えるかは、図解と設定例で1つずつ見せる形です。
完成すれば、子サーバーを増やしても友達に伝えるアドレスは1つのまま。ロビーから生活サーバーやミニゲームへ、/serverひとつで行き来できる遊び場になります。

サーバーを何台も動かすなんて、難しそうです…

Velocityで書き換えるのはvelocity.tomlの3か所だけなので、この記事の順に上から直せば大丈夫ですよ!
プロキシサーバーの仕組みとできること

イメージとしては、プロキシサーバーが駅の総合改札口で、後ろにある子サーバーが各路線のプラットホームにあたります。
プレイヤーは改札口から入るだけで、ログアウトせずに、コマンドで別のホームへ乗り換えられます。
ロビーや生活、ミニゲームなど種類の違うサーバーを、1つのアドレスにまとめて大きなワールドのように見せられるのが特徴です。
対象はJava版のサーバーで、統合版のサーバーはつなげません。
子サーバーはそれぞれ独立したマイクラサーバーなので、持ち物や経験値も子サーバーごとに保存されます。
プロキシの後ろに別のプロキシを置く構成には対応していません。
1台のサーバーでワールドを行き来するだけなら、プロキシは要りません。Multiverse-Coreの使い方で足ります。
子サーバーにするPaperサーバーがまだない場合は、Paperサーバーの立て方を先に済ませてください。
VelocityとBungeeCordの選び方

プロキシ用のソフトはVelocityとBungeeCordの2つから選びます。決め手は、子サーバーのソフトと、使い続けたいプラグインです。
| 状況 | 選ぶもの | 理由 |
|---|---|---|
| これから新しく作る(子サーバーはPaper) | Velocity | Paper 1.14以上は標準でmodern転送に対応していて、より安全に情報を渡せる |
| 子サーバーがFabric | VelocityとFabricProxy-Lite | FabricはFabricProxy-Liteを入れるとmodern転送を使える |
| BungeeCord用のプラグインを使い続けたい | BungeeCord | BungeeCord用プラグインはVelocityで直接は動かない |
| 子サーバーがForgeの1.7.2から1.12.2 | BungeeCordとBungeeForge(またはSpongeForge) | この版のForgeには、この2つのどちらかが推奨されている |
| 子サーバーがSpigot | BungeeCord、またはVelocityのlegacy転送 | Spigotはlegacy転送にしか対応していない。Velocityを選んでもmodernは使えない |

僕のサーバーは、生活サーバーとミニゲームサーバーの2台をVelocityでつなぎ、最初は生活サーバーに入って/server minigameで移動する形にしています。
転送とは、プレイヤーのIPアドレスなどの情報をプロキシから子サーバーへ渡す仕組みです。転送の方式は次の3つがあり、どれか1つだけ選びます。
- modern:Velocityの推奨で、より安全。Minecraft 1.13以上のサーバーだけで使える
- legacy:BungeeCordと互換があるが、根本的に安全ではない
- bungeeguard:legacyにシークレットを足した方式
この記事のVelocityの手順は、modern転送で進めます。
Velocityを立てる手順

Velocity用の専用フォルダを作り、そこでjarの配置から起動、設定の書き換えまで進めます。手順は4つです。
手順1:Java 25を用意する
VelocityにはJava 25以上が必要です。
Javaが入っているかわからない場合は、Javaのインストール手順で用意してください。
手順2:Velocityをダウンロードする
Velocityのダウンロードページを開き、版番号が書かれた青いボタンを押します。

Velocityは起動すると設定ファイルを同じ場所に作ります。デスクトップなどに置くとファイルが散らばるので、velocityのような専用フォルダを作って、ダウンロードしたjarをその中に入れます。
手順3:起動ファイルを作って起動する
Velocityはダブルクリックでは動かないため、コマンドを書いた起動ファイルを作ります。
ダウンロードしたjarの名前には、velocity-4.3.1-45.jarのように版番号が付いています。velocity.jarに名前を変えるか、次のコマンドのvelocity.jarを実際のjar名に書き換えてください。
java -Xms1G -Xmx1G -XX:+UseG1GC -XX:G1HeapRegionSize=4M -XX:+UnlockExperimentalVMOptions -XX:+ParallelRefProcEnabled -XX:+AlwaysPreTouch -XX:MaxInlineLevel=15 -jar velocity.jarWindowsでは、jarのあるフォルダで右クリックして「新規作成」→「テキストドキュメント」を選び、上のコマンドを貼り付けて保存します。拡張子を.txtから.batに変えて、start.batにしてください。
macOSとLinuxでは、1行目に#!/bin/sh、2行目に上のコマンドを書いたstart.shを作ります。次のコマンドで実行できる状態にしてから起動してください。
chmod u+x start.sh./start.shVelocityは接続を振り分けるだけなので、メモリは1GBで足ります。
ただし、つなぐロビーやゲームサーバーは、それぞれ別に人数分のメモリが必要です。
起動すると、黒い画面のログにListening onを含む行が出ます。この行が、起動できた合図です。
初回の起動では、同じフォルダに設定ファイルのvelocity.tomlと、転送用のパスワードにあたるforwarding.secretが作られます。
設定を書き換える前に、Velocityの黒い画面でshutdownと入力して止めてください。endやstopでも止まります。
手順4:velocity.tomlで子サーバーを登録する
velocity.tomlをメモ帳などで開き、3か所を書き換えます。
player-info-forwarding-mode:既定の"NONE"を"modern"にする[servers]:初期のlobby、factions、minigamesは例なので、自分の子サーバーに書き換えるtry:ログインしたときに最初に入るサーバーを指定する
tryは、ログイン時と、サーバーからキックされたときに、接続を試すサーバーを前から順に並べた一覧です。
ポート番号は、このあと子サーバーのserver.propertiesに書く番号と合わせた例です。
player-info-forwarding-mode = "modern"
[servers]lobby = "127.0.0.1:25566"survival = "127.0.0.1:25567"minigame = "127.0.0.1:25568"
try = ["lobby"]bindは既定の0.0.0.0:25565のままで構いません。プレイヤーはこのポートでVelocityに接続します。
[forced-hosts]には、lobby.example.comなどの例が残っています。この例が消したサーバー名を指していると、「Server ’…’ for forced host ’…’ does not exist」というエラーが出て起動しません。
ログに「Your configuration is invalid. Velocity will not start up until the errors are resolved.」と出たときも、設定の書き間違いが原因です。[forced-hosts]の例は、[servers]を書き換えたときにあわせて消してください。
保存したら、手順3の起動ファイルでVelocityを起動し直し、ログにエラーが出ないことを確かめます。子サーバーの設定が終わったら、いったんshutdownで止めて、起動の順番どおりに起動し直してください。

僕のサーバーもplayer-info-forwarding-mode = "modern"で、Paper側はpaper-global.ymlのproxies.velocityで受けているので、この記事と同じ設定です。
同じPCで動かすなら、アドレスは127.0.0.1のままにします。別のPCやVPSで動かす場合は、子サーバーのアドレスに書き換えてください。
複数のサーバーを1台のVPSにまとめたい場合は、root権限のあるXServer VPS for Gameも候補です。
Velocityと子サーバーを1台にまとめて、自分の構成で動かせます
XServer VPS for Gameの料金プランを見る子サーバー(Paper)の設定

子サーバーごとに、同じ作業を繰り返します。どのサーバーのファイルを開いているかわからなくなりやすいので、1台ずつ進めてください。
server.propertiesでポートと認証を変える
編集するのは、マイクラサーバーの設定ファイルserver.propertiesの3行です。
server-portは、Velocityと重ならない番号にします。25566から順に、子サーバーごとに別の番号を割り当ててください。
online-modeはfalseにします。プレイヤーの認証はVelocityが代わりに行うため、子サーバーで二重に認証する必要はありません。
プロキシと同じマシンで動かす場合は、server-ipを127.0.0.1にします。
server-port=25566online-mode=falseserver-ip=127.0.0.1子サーバーのポートは外に開けない
子サーバーのonline-mode=falseは、駅のホームの勝手口に鍵をかけずに開け放した状態と同じです。
子サーバーのポートが外に出ていると、改札口を通らず勝手口から直接ホームへ入られます。
認証がないサーバーは名乗った名前でログインできてしまうため、管理者の名前を偽装されて、OP権限を乗っ取られる危険があります。
外に開けるのは改札口にあたるVelocityのポートだけにして、子サーバーのポートには直接入れないようにしてください。
spigot.ymlのbungeecordをfalseのままにする
modern転送では、spigot.ymlのsettings.bungeecordをfalseにします。
この項目は初期値がfalseなので、変更しないままで構いません。trueにするのはBungeeCordの転送を使うときだけです。
paper-global.ymlでVelocityの転送を有効にする
config/paper-global.ymlのproxies.velocityを、次のように書き換えます。
proxies: velocity: enabled: true online-mode: true secret: [forwarding.secretの中身]secretには、Velocityのフォルダにあるforwarding.secretをメモ帳で開き、中の文字列をそのまま貼り付けます。[ ]は書かずに、文字列だけを入れてください。
online-modeは、velocity.tomlのonline-modeと同じ値にします。velocity.tomlの既定はtrueです。
Paper 1.18.2以下では、paper.ymlのsettings.velocity-supportに同じ項目があります。
子サーバーへの直結を防ぐ


僕は子サーバーのポートを外へ公開せず、外から入れるのはVelocityだけにしています。
プロキシと子サーバーを同じマシンで動かすなら、server.propertiesのserver-ip=127.0.0.1と、velocity.tomlの127.0.0.1:ポート番号の組み合わせで、外部のプレイヤーは子サーバーのポートへ直接つなげません。
別のマシンに子サーバーを置く場合は、server-ip=127.0.0.1にするとプロキシから届かなくなります。ファイアウォールで、子サーバーのポートをプロキシのIPアドレスからだけ許可し、それ以外を拒否してください。
modern転送を使っていても、ファイアウォールの代わりにはなりません。
例では、プロキシのIPアドレスを198.51.100.10、子サーバーのポートを25566とします。UbuntuのUFWなら、許可ルールを先に置いてから拒否ルールを追加します。
sudo ufw insert 1 allow proto tcp from 198.51.100.10 to any port 25566sudo ufw insert 2 deny proto tcp to any port 25566sudo ufw status numberediptablesを使う場合も、プロキシのIPアドレスからの許可を先に置きます。
sudo iptables -A INPUT -p tcp -s 198.51.100.10 --dport 25566 -j ACCEPTsudo iptables -A INPUT -p tcp --dport 25566 -j DROP子サーバーが複数ある場合は、実際のポートごとに同じ規則を追加します。
既存の「どこからでも許可する」規則があると制限できないため、ufw status numberedなどでルールの順番と許可元を確認してください。
iptablesの設定はOSによって再起動後に消えるため、永続化の方法も環境に合わせて設定します。
起動してサーバー間を移動する

すべての設定ファイルを保存したら、子サーバーを先に起動し、最後にVelocityを起動します。
マイクラのサーバー一覧には、Velocityのアドレスを入力して接続します。ポートが標準の25565なら、番号を書く必要はありません。
自宅のPCで動かして外の友達を招くなら、開放するのは25565だけです。開放の手順はポート開放のやり方で確かめてください。
サーバー間の移動は/serverコマンドで行います。/serverだけを打つと接続できるサーバーの一覧が出ます。
/server [設定したサーバー名]/serverのあとにスペースを押すと接続先の候補が出るため、TABキーで補完すると入力ミスを防げます。/serverは権限の設定をしなくても、全員が使えます。

ログイン後にtryで指定したサーバーへ入り、/serverで別のサーバーへ移動できれば成功です。
入れないときは、次の3点を見直してください。
forwarding.secretの中身と、Paperのpaper-global.ymlのsecretが一致しているかvelocity.tomlとpaper-global.ymlのonline-modeの組み合わせが、この記事の設定と同じかtryに書いた名前が、[servers]の名前と一致しているか
BungeeCordで立てる場合

BungeeCordを選ぶのは、BungeeCord用のプラグインを使い続けたい人や、Forgeの1.7.2から1.12.2のサーバーをつなぐ人などです。
BungeeCordの公式Jenkinsページを開き、「Last Successful Artifacts」の一覧にあるBungeeCord.jarをクリックしてダウンロードします。

専用のフォルダにBungeeCord.jarを入れ、Velocityの手順3と同じ方法で起動ファイルを作ります。中身は次のコマンドです。
java -Xms1G -Xmx1G -jar BungeeCord.jar起動すると、次の行が出ます。BungeeCordの既定の待ち受けポートは25577です。
[情報] Listening on /0.0.0.0:25577生成されたconfig.ymlで、変更する箇所は2つあります。
hostを0.0.0.0:25565にして、マイクラ標準のポートにそろえるip_forwardをtrueにして、プレイヤーのIPアドレスを子サーバーへ渡す
host: 0.0.0.0:25565ip_forward: trueservers:の項目は、次のように書きます。
| 項目 | 説明 |
|---|---|
| lobby | サーバーの名前。自由に決められる |
| motd | サーバーの説明欄 |
| address | サーバーのアドレスとポート番号。同じポートは使えない |
| restricted | trueにすると、権限を持つ人以外は入れない |
servers: lobby: motd: "ロビー" address: 127.0.0.1:25566 restricted: false survival: motd: "生活サーバー" address: 127.0.0.1:25567 restricted: false minigame: motd: "ミニゲームサーバー" address: 127.0.0.1:25568 restricted: false子サーバー側では、server.propertiesのonline-mode=falseに加えて、次の2つを書き換えます。server-portとserver-ipはVelocityの子サーバーと同じです。
bungeecord: trueconnection-throttle: -1connection-throttleの既定は4000です。サーバー間を移動すると短時間に複数の接続が走るため、-1にしないと接続が弾かれることがあります。
legacy転送は安全ではないため、子サーバーへの直結を防ぐ設定は必須です。
Q子サーバーごとに持ち物を分けられますか?
A
何もしなくても分かれています。子サーバーはそれぞれ独立したマイクラサーバーで、持ち物や経験値も子サーバーごとに保存されます。逆に、子サーバー間で持ち物を共有したい場合は、HuskSyncなどの同期プラグインを入れます。
Q統合版の友達もVelocityのサーバーに入れますか?
A
そのままでは入れません。Geyser-VelocityとFloodgateをVelocity側に入れると、統合版からも同じアドレスで参加できます。鍵ファイルの扱いを含む導入の手順は、GeyserMCの記事にまとめています。
QBungeeCord用のプラグインはVelocityで動きますか?
A
直接は動きません。Velocityに対応した版のプラグインを探してください。BungeeCord用のプラグインを使い続けたい場合は、BungeeCordを選びます。
Q権限の設定はどうすればよいですか?
A
LuckPermsにVelocity版があるため、プロキシ側に入れて権限を管理できます。設定はLuckPermsの設定ガイドの記事にまとめています。
まとめ:Velocityで複数のマイクラサーバーを1つのアドレスにまとめる
Velocityのアドレスで入り、/server 名前でサーバー間を移動でき、子サーバーには直接入れない状態になれば完成です。
子サーバーのポートに外から接続を試して、入れないことも確かめておきましょう。
統合版の友達も同じアドレスで遊ぶなら、GeyserMCの導入手順に進んでください。管理者と一般プレイヤーで使えるコマンドを分けたいときは、LuckPermsの設定ガイドで権限を整えます。
子サーバーが増えて自宅PC1台では回らなくなったら、root権限のあるVPSにVelocityと子サーバーをまとめると、この記事の構成のまま動かせます。
Velocityと子サーバーを1台にまとめて、自分の構成で動かせます
XServer VPS for Gameの料金プランを見る








