さくらのクラウドのサーバで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. 動作確認手順
- 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
- 動作確認
- ブラウザで
https://<IPアドレス>にアクセス - Minecraft BE クライアントから接続テスト(デフォルトポート: 19132)
Minecraft BE Control Panel
Current Status: Stopped
6. 最後に
まだまだ不完全で設定や考慮が足りない部分はありますが、コンセプトは実現できていると思うので一旦公開します。
こちらの不足を子どもたちが改版してくれたら嬉しいです。

この記事へのコメント
コメントはまだありません。
コメントを送る