まずはマイクラサーバ構築
これについては色々なサイトで書かれているので省略
少なくとも外部からのアクセスはできるような状態になっていることを確認
別のVPS等でNginxとStream moduleを構築
今回はRocky Linux9で構築
Nginx環境をインストール
他のサイトだと1からビルドしろとか書いてあるがそんなことしなくても最新版だとyumとかapt-getでインストールしてもできるらしい
dnf -y install nginx
dnf -y install nginx-mod-stream
nginx.confを編集
インストールしたモジュールがincludeされていることを確認
RockyLinuxなら以下記載があればOK
include /usr/share/nginx/modules/*.conf;
最終行に以下を記載
これがプロキシサーバーの設定になる
あとはお好みでhttpの記載をコメントアウト
stream {
log_format main '$remote_addr [$time_local] $protocol $status $bytes_sent $bytes_received $session_time';
access_log /var/log/nginx/stream_access.log main;
error_log /var/log/nginx/stream_error.log;
upstream minecraft_backend {
server XXX.XXX.XXX.XXX:XXXXX; # マイクラサーバIPとリッスンポート
}
server {
listen 25565; # NGINXがリッスンするポート番号
proxy_pass minecraft_backend; # バックエンドサーバーにプロキシ
proxy_timeout 600s; # 全体のタイムアウト設定
tcp_nodelay on; # TCP_NODELAYを有効にする
}
}
Nginxを起動
# systemctl enable nginx
# systemctl start nginx
ポートがリッスンされていることを確認
# ss -atn
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 511 0.0.0.0:25565 0.0.0.0:*
ファイアウォールの設定をして外部からのアクセスを受け入れる
# firewall-cmd --add-port=25565/tcp --zone=public --permanent
以上