記事

レンタルサーバでMinecraftBEサーバと簡易コンパネ

さくらのクラウドのサーバでMinecraftBEサーバにして、管理画面を作りました。
 

 

Ubuntuサーバーセットアップ手順書

1. MinecraftBEのインストール

公式ページよりMinecraft BEのサーバをダウンロードし/opt/minecraftに展開します。

# MinecraftBEサーバーのダウンロードと/opt/minecraft に展開
 

2. PythonとFlaskの準備

 # Pythonとpipのインストール
sudo apt install python3 python3-pip python3-flask python3-flask-httpauth

3. Web画面の準備

app.py

 

4. nginx+自己署名証明書の準備

nginxのインストール手順

# nginxのインストール
sudo apt install nginx

# 自己署名証明書の作成
sudo mkdir /etc/cert
sudo openssl req -nodes -newkey rsa:2048 -keyout /etc/cert/server.key -out /etc/cert/server.csr -subj "/C=JP/ST=Miyagi/L=Sendai/O=CoderDojoSDJWKB/OU=Dojo/CN=example.com" && openssl x509 -req -days 3650 -in server.csr -signkey /etc/cert/server.key -out /etc/cert/nginx-selfsigned.crt

# nginxの設定
sudo cat > /etc/nginx/sites-available/minecraft << 'EOL'
server {
  listen 443 ssl;
  server_name example.com;
  ssl_certificate /etc/cert/nginx-selfsigned.crt;
  ssl_certificate_key /etc/cert/server.key;
  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }

}

  server {
  listen 80;
  server_name example.com;
  rewrite ^(.*)$ https://$host$1 permanent;
}
EOL

# 設定の有効化
sudo rm /etc/nginx/site-enables/default
sudo ln -s /etc/nginx/sites-available/minecraft /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
  

 

5. 動作確認手順

  1. Webアプリケーションの起動
cat > /opt/mcbe/mcbe.service << 'EOL'
[Unit]
Description=Minecraft BE
After=network.target

[Service]
Type=simple
ExecStart=/opt/mcbe/start.sh
ExecStop=/bin/kill -WINCH ${MAINPID}
WorkingDirectory=/opt/mcbe
Restart=always
#User=www-data
#Group=www-data
User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target
EOL

cat > /opt/mcbe/mcbe-cpanel.service << 'EOL'
[Unit]
Description=Minecraft BE Contorl Panel
After=network.target

[Service]
Type=simple
ExecStart=/bin/python3 /opt/mcbe/app.py
ExecStop=/bin/kill -WINCH ${MAINPID}
WorkingDirectory=/opt/mcbe
Restart=always
User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target
EOL

cd /opt/mcbe
sudo ln -s `pwd`/mcbe.service  /etc/systemd/system/mcbe.service
sudo ln -s `pwd`/mcbe-cpanel.service  /etc/systemd/system/mcbe-cpanel.service
sudo systemctl daemon-reload
sudo systemctl start mcbe-cpanel
sudo iptables -A INPUT -p tcp --dport 19132  -j ACCEPT


 

  1. 動作確認
     
  • ブラウザで https://<IPアドレス> にアクセス
  • Minecraft BE クライアントから接続テスト(デフォルトポート: 19132)

Minecraft BE Control Panel

Current Status: Stopped

 

6. 最後に

まだまだ不完全で設定や考慮が足りない部分はありますが、コンセプトは実現できていると思うので一旦公開します。
こちらの不足を子どもたちが改版してくれたら嬉しいです。

この記事へのコメント

コメントはまだありません。

コメントを送る

必須
必須  
※ メールアドレスは公開されません
任意
必須
Loading...  画像の文字を入力してください