初めに
マインクラフトサーバーを建てる備忘録のその4。
外部から接続するためVPSを借りました。VPSにはtailscaleとマルチサーバーに対応するためプロキシサーバーのVerocityを動かします。
さくらのVPS
VPSはさくらのVPSにしました。
コースはCPU 仮想2Core/ メモリ1G/ SSD 50GB/ 石狩リージョン
OSはAlmaLinux 10にしました。
インストールマニュアルにしたがってAlma Linuxインストール。
VPSコントロールパネルで必要なポートを開けておきます。
Tailscaleをおうちのサーバと同様にインストールします。
Velocityインストール
openjdkインストール
最初にopenjdlをインストールします。
sudo yum install java-21-openjdk
バージョン確認
$ java --version
openjdk 21.0.9 2025-10-21 LTS
OpenJDK Runtime Environment (Red_Hat-21.0.9.0.10-1) (build 21.0.9+10-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-21.0.9.0.10-1) (build 21.0.9+10-LTS, mixed mode, sharing)
Velocityインストール
$ mkdir velocity
$ cd velocity
$ curl -O https://fill-data.papermc.io/v1/objects/c77b11066c004e6fc07132145994537155fbbbbd5580b7db7b123e0a387560e3/velocity-3.4.0-SNAPSHOT-555.jar
(WinScpなどのツールの存在を知らなかったので無理やりcurlで入れてます。)
設定ファイルの編集
起動させて設定ファイルを生成させます。
$ java -jar velocity-3.4.0-SNAPSHOT-555.jar
[09:07:45 INFO]: Booting up Velocity 3.4.0-SNAPSHOT (git-b6b6b20f-b555)...
[09:07:45 INFO]: Loading localizations...
[09:07:45 INFO]: Connections will use epoll channels, libdeflate (Linux x86_64) compression, OpenSSL 3.x.x (Linux x86_64) ciphers
[09:07:45 WARN]: Player info forwarding is disabled! All players will appear to be connecting from the proxy and will have offline-mode UUIDs.
[09:07:45 INFO]: Loading plugins...
[09:07:45 INFO]: Loaded 1 plugins
[09:07:45 INFO]: Listening on /0.0.0.0:25565
[09:07:45 INFO]: Velocity and some of its plugins collect metrics and send them to bStats (https://bStats.org).
[09:07:45 INFO]: bStats collects some basic information for plugin authors, like how many people use
[09:07:45 INFO]: their plugin and their total player count. It's recommended to keep bStats enabled, but
[09:07:45 INFO]: if you're not comfortable with this, you can opt-out by editing the config.txt file in
[09:07:45 INFO]: the '/plugins/bStats/' folder and setting enabled to false.
[09:07:45 INFO]: Done (0.52s)!
>
いったん終了。ファイルが作られいるか確認します。
$ ls
forwarding.secret logs velocity-3.4.0-SNAPSHOT-555.jar
lang plugins velocity.toml
velocity.tomlを編集します。以下の部分を編集。
bind = "0.0.0.0:25565" # 外部からの接続を受け付ける
player-info-forwarding-mode = "modern"
survival= "xxx.xxx.xxx.xxx" # 自宅のPaperMCサーバーのTailscale IP
try = [
"survival"
]
firewalldの有効化と起動
sudo systemctl enable firewalld
sudo systemctl start firewalld
必要なポートを開放します。
sudo firewall-cmd --permanent --add-port=25565/tcp
sudo firewall-cmd --permanent --add-port=19132/udp
sudo firewall-cmd --reload
system自動実行
ユニットファイルの作成
sudo vi /etc/systemd/system/velocity.service
内容
[Unit]
Description=Velocity Minecraft Proxy
After=network.target
[Service]
User=xxxx
WorkingDirectory=/home/xxxx/velocity/
ExecStart=/usr/bin/java -jar velocity-3.4.0-SNAPSHOT-555.jar
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
ユニットファイルの読み込みと有効化
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable velocity
起動とステータス確認
sudo systemctl start velocity
sudo systemctl status velocity
paperMCの設定変更
server.properties
Velocityが認証を代行するためonline-modeをfalseに設定
spigot.yml
VelocityはBungeeCordとは異なるプロキシ方式(modern)を使うため、SpigotのBungeeCord設定は無効にします。
settings: bungeecord: false
config/paper-global.yml
Velocityプロキシを許可する設定を追加します。
proxies: velocity: enabled: true online-mode: true secret: "your-velocity-secret"
クライアントからVPSのIPに接続できればOK。
今回建てたサーバはこちらのIPです。
133.242.190.177
よければ遊んでみてください。