Boreを用いてMinecraftサーバーを公開する
筆者はMinecraftサーバーを公開したいが、Cloudflare Tunnelを使用するとユーザー側の導入という手間が発生する。しかし、Boreを用いてTunnelを作成することでユーザー側の導入不要で公開ができる。
Boreとは、Rustで製作されたlocalhostへのTunnelを作るためのシンプルなCLIツールだ。
構成
動作環境
動作環境は以下の通りとする。
プロキシ側:
今回はOracleのAlways Free VPSの枠を利用する。
プロキシ側
Boreを導入する
導入はcargoを使用してもいいが、今回はスペックの都合上リリースからバイナリをダウンロードする。
mkdir bore
cd bore
wget https://github.com/ekzhang/bore/releases/download/v0.5.2/bore-v0.5.2-x86_64-unknown-linux-musl.tar.gz # バージョンは最新のものを利用すること
tar -zxvf bore-v0.5.2-x86_64-unknown-linux-musl.tar.gz
rm bore-v0.5.2-x86_64-unknown-linux-musl.tar.gz # アーカイブは不要なので削除する
Boreを設定する
Boreは非常にシンプルなため、特段難しい設定は不要だ。
以下のコマンドを実行するだけでTunnelが構築される。
./bore server -s YOUR_PASSWORD
Boreは-s
フラグでパスワードを設定する。これは何でもよいが、漏洩すると他人にTunnelを使用される可能性があるため、パスワードはなるべく漏洩しないようにする必要がある。筆者はuuidを生成し、それを使用した。
ポートを開放する
ポートは公開したいポート(今回は1234
)とBoreの認証用ポート(7835
)を開放する必要がある。
ポート開放については以下の記事を参考にすること。
https://qiita.com/bellx2/items/6f1d95dc8e1bef0be555
ホスト側
基本的にプロキシ側と行うことは変わらないため、導入は省略する。
Boreを設定する
ホスト側は少々コマンドが複雑だが、特段難しいことはない。
以下のコマンドを実行するだけでプロキシと接続される。
今回はMinecraftをTunnelするため、25565
を使用し、プロキシ側では1234
を使用する。また、接続先は***.***.***.***
とする。
./bore local 25565 --to ***.***.***.*** -s YOUR_PASSWORD -p 1234
独自ドメインを使用する場合は、***.***.***.***
をproxy.example.com
などの自分のドメインにする。
接続方法
接続方法は***.***.***.***:1234
に接続すればよい。