Minecraft Server(統合版)をUbuntu上で起動する
概要
- Ubuntu 22でマインクラフトのBedrock(統合版)サーバを動かすための方法を記載します。(Bedrock版と、Java版が存在します。Java版を使っていない場合はBedrockを使えばOKです)
- マインクラフトのサーバソフトは無料でダウンロード、利用できます。Linuxの操作に慣れていれば3分ぐらいでセットアップが完了します。
手順
Minecraft(Bedrock)のサーバは以下のURLで公開されています。
以下に、2023年2月時点での最新のサーバをダウンロードして解凍する手順を記載します。
% mkdir bedrock
% cd bedrock
% wget https://minecraft.azureedge.net/bin-linux/bedrock-server-1.19.52.01.zip
% unzip bedrock-server-1.19.52.01.zip
起動方法
その後、 以下のコマンドを打てばサーバが立ち上がります。
% LD_LIBRARY_PATH=. ./bedrock_server
サーバを停止するためにはCtrl−Cを押せばサーバを終了できます。
ポート開放
サーバ自体にfirewallが設定されている場合は、以下の内容でポートを開放して外部から接続できるようにします。
- IPv4で接続する場合は、UDPの19132を開放します。
- IPv6で接続する場合は、UDPの19133を開放します。
サーバが自宅などのNAT内に置かれている場合は、ルータ上でパケットフィルタの解除と静的NATの設定(=静的ポートフォワーディング)を変更してください。
このあとに、Minecraftから立ち上げたサーバのアドレスを指定してログインできれば成功です。
接続権限の設定
普通にサーバを立ち上げただけでは、全世界から誰でもアクセスが可能で、しかもメンバー権限で接続できてしまうので勝手に遊ばれてしまいます。
それを防ぐために、特定のユーザだけが接続して遊べるように設定をします。
server.propertiesをテキストエディタで開いて以下のように設定をしました。
1つ目のallow-cheatsはチートを禁止するようにする設定をしています。
2つ目はdefault-player-permission-levelでデフォルトの権限を設定します。他人が接続してきたときの権限を設定しておきます。最低の権限がvisitorしか無いのでvisitorを設定します。
> diff server.properties.default server.properties
23c23
< allow-cheats=true
---
> allow-cheats=false
79c79
< default-player-permission-level=visitor
---
> default-player-permission-level=member
次に、permission.jsonを編集して以下のようなフォーマットで遊べるユーザのIDを記載します。
> cat ~/bedrock/permissions.json
[
{
"permission": "operator",
"xuid": "2535406840148511"
},
{
"permission": "operator",
"xuid": "2535471542624633"
}
]
上記の設定例では、2人のユーザを接続可能にしています。
xuidのIDは、Minecraftのアプリからサーバに接続するとログに出力されるので、その値をコピペします。
自動起動設定
自動起動の設定をしておかないと、サーバが途中で停止したときに自動で再起動されないので遊べなくなってしまいます。だいたい数日ぐらい遊ぶと勝手にサーバが落ちてしまいます。
自動起動の設定は別の記事に書きました。
Discussion