TrueNAS SCALE の Apps で建てた Minecraft 統合版のサーバーにオペレーター権限でアクセスする

How to configure to play a server of the Minecraft Bedrock Edition on TrueNAS SCALE's Apps with operator privileges?

流れとしては、アクセス制限を有効化して、
自分のユーザータグにのみアクセス許可を設定した状態でサーバーにログインすると、
アクセスリスト(allowlist.json)に自分のユーザータグに対応したxuidが記録されるので、その xuid を Apps の設定画面で Operator として登録する(permissions.json に記録される)
という感じです。
(あと、使いたい機能によっては Allow Chrats をチェックする必要もある)


TrueNAS SCALE で Minecraft サーバー(Bedrock版)を構築する

でとりあえずサーバーは稼働するものの、アクセスするとMember(星マーク)の権限しかない。

Apps の設定画面内に Operators / Administrators という項目があって、ここに設定すればいいんだろうけど、ユーザータグを記述するのではなく、xuid で指定する必要があるらしい。

XUID = Xbox User Id

のことらしい。

他の資料を調べてみると、
サーバーコンソールにINするとサーバーログにユーザーのログインログアウト時に表示される
契約しているVPSの管理画面で確認できる
など。
また、Java版とは異なる値らしく、Java版の確認方法でUUIDを確認してもダメ。
(Apps というか、利用している Docker のイメージのコンソールがなんか変みたいなので、これが修正されれば View Logs で一撃で確認できるようになるかもしれないけど)
あと、きりしまのゲーマータグがスペースを含んでいるせいで受け付けてくれないフォームがいっぱいあったので、スペースの含まれないゲーマータグを使用している人はフツーに調べられるのかもしれない。また、以降の手順はすでにゲーマータグからスペースをなくしたものを使用しているので、やはりスペースの含まれるゲーマータグの人は実行できないかもしれない可能性は、ある。


そんな中、
【conoha】マイクラ統合版 マルチサーバー設定 OP権限 つけ方|下町とーさんの不登校とマインクラフト
の手順が
TrueNAS SCALE の Apps で建てた Minecraft Bedrock Edtition でも通用したので、
記録しておきます。



バージョン違いだと構成とか違ったりするっぽいので一応現環境を記録しておきます。

環境(2025年2月時点)
TrueNAS SCALE 24.10.2
上にApps でインストールした
Minecraft Bedrock Edition
App Version:
2024.11.0
Version:
1.0.3
Minecraft Bedrock Editionのバージョンは
1.21.60.10

設定ファイルの編集準備

設定ファイルへのアクセス方法を確立する部分はいろいろあると思いますが、
今回はデータを永続化するために先の手順のように専用のデータセット
/tank/minecraft
をマウントしているので、こちらをSMB共有して、GUI では設定できない盲目は Windows パソコンから直接設定ファイルを参照したり編集したりして済ませます。

(サーバー立ててから設定変更で後からマウントし直したりはできない模様。設定していなかった場合は別環境を設定してください。Operator の指定は現在の環境にもできるはずなので、別環境で調べて、現環境に設定してもいいかもしれません。xuidはアカウントに紐ついているので、別のサーバーでも同じ値で同じユーザーを示すはずです。また、データを永続化するためにマウントしているけど、別のデータセットとマウントし直すことで複数のワールドデータを切り換えることもできます。もっともワールドデータを切り換えるならAppsのインスタンスを複数設定して、停止したり起動したりした方が運用しやすいでしょうが)

データセットのアクセス権設定を雑に済ませるために、
TrueNAS 上の Windows パソコンからアクセスするユーザーの
Auxiality Groups に Apps を追加しておきます。

Credentials > Users
自分ユーザーをクリックして Edit

minecraft_be_operator_00a.png

builtin_users の右側の余白部分に apps と入力すると候補が絞られるのでクリック。


minecraft_be_operator_00b.png

白抜きになって×が表示されたらOK。
一番下の
Save


データセットのパーミッションは

minecraft_be_operator_00c.png

Datasets で
対象のデータセットをクリック
Permissions の Edit をクリック


minecraft_be_operator_00d.png

User apps
Group 568 (appsのこと)

Access の
Group の Write をチェックする。

minecraft_be_operator_01.png

Shares の
Windows (SMB) Shares で Add


minecraft_be_operator_02.png

mineccraft 用のデータ設定を指定。
画像では、 /mnt/tank/minecraft
他はデフォルトのまま
Save


minecraft_be_operator_03.png

Restart SMB Service
書いてある項目に該当する変更ではないので
No でもOKだが
Restart Service
をクリックしても別に問題ない。


minecraft_be_operator_04.png

Configure ACL
今回はシンプルなアクセス権で設定しているので
No (いわゆる旧式のLinux風のアクセス権管理のまま)


minecraft_be_operator_05.png

minecraft の Apps の /data に相当するフォルダが共有されました。

Windows パソコンからは、
[Win]+[R](ファイル名を指定して実行)から
\\TrueNASのIPアドレス
などでアクセスする。


サーバーの設定ファイルの編集

minecraft_be_operator_06.png

設定変更するため、稼働している Apps の四角をクリックして停止。


minecraft_be_operator_07.png

赤く Stopped となれば停止しました。


minecraft_be_operator_08.png

Windows パソコンから Minecraft フォルダにアクセスして
server.properties を右クリックしてメモ帳で開きます。


minecraft_be_operator_09.png

今回の目的のために、
allow-cheats=false

allow-cheats=true
にして、

allow-list=false
となっている行を見つけ
allow-list=true
に変更して保存します。
(Windows 11のメモ帳だとタブの×で閉じる)


minecraft_be_operator_10.png

次に
allowlist.json
というファイルをメモ帳で開き、
初期状態では
[]
となっている部分に
[{"ignoresPlayerLimit":false,"name":"(ユーザータグ)"}]
と指定して保存します。
(このユーザータグは""でくくられているので半角スペース付きで指定できるのでは、と。きりしまはもう変えてしまったので未確認。面倒なので1行で記述していますが、適切な記法に従っていれば改行とか半角スペースやタブの有無は無視されるはず。それよりも記号とかが半角記号でなくなっている場合、左右の対応が崩れてしまう場合などに注意)


サーバーにクライアントからいったんアクセスする

minecraft_be_operator_11.png

Minecraft サーバー起動。


minecraft_be_operator_12.png

緑色の Running になったら、
Minecraft Bedrock Edition でアクセスしてみましょう。


minecraft_be_operator_13.png

サーバータブで対象のサーバーの現在のPingが表示されたら
サーバーに接続。


minecraft_be_operator_14.png

無事ゲームが始まったらそのままセーブして終了。
(現時点ではまだ星印=member です)


記録されたXUIDを確認・権限設定

minecraft_be_operator_15.png

再び Minecraft サーバーを停止します。


minecraft_be_operator_17.png

Application Info の Edit をクリック


minecraft_be_operator_18.png

先ほどの共有フォルダの
allowlist.json を開き直すと、
自分のユーザータグの右側に
,"xuid":"****************"
という数字16桁が追記されているのが確認できると思います。
これが自分のMicrosoft アカウントにひもつけられているXUIDになります。
(サーバーが変わっても同じユーザーは同じ値なので別の確認用サーバーでやって調べた値を本番用サーバーに設定する、という方法もあるでしょう)


minecraft_be_operator_19.png

Operators の Add をクリックして
Op
の欄に上記数字16桁を入力して
一番下までスクロールして
Update


minecraft_be_operator_20.png

あと、
アクセス制限を解除するため、
server.properties

allow-list=true
にしたのを
allow-list=false
に戻して保存する。


実際にサーバーに接続して確認

minecraft_be_operator_21.png

サーバーを起動します。


minecraft_be_operator_22.png

Minecraft クライアントでアクセスすると、無事王冠マーク(=operator)がつくのが確認できると思います。

ちゃんと
permissions.json
に内容が記述されているのが確認できると思います。

[
{
"permission": "operator",
"xuid": "****************"
}
]


以上。


Apps の GUI で完了するには、
Allow List Users が
Name と UUID とセットで指定しなければならないので、
最初にユーザー名だけの指定で取得する、っていうことができない。


なお、間違ってXUIDではなくUUIDで一度指定しまったりすると、ここの登録を×で消しても
allowlist.json
の記述から消えなかったりしてちょっと限界を感じました。


ということでやってる内容の割には長い手順になってしまいましたが、
(冒頭の作業の流れで全てですし)
これで自分のXUIDが判明すれば
以降建てるサーバーでは、

Operators
のところに自分のXUIDを指定するだけ
となります。


外部サイトでXUIDを調べる

後で確認して
How to find XUID/UUID for bedrock players!
で示されている
https://www.cxkes.me/xbox/xuid

XUID (DEC):
に同じ値が表示されるのは確認した。
(ここに自分のゲーマータグを入力するのはどうか、という点は未確認)

ここで調べたXUIDをAppsのOperatorsの欄に入力するのが手っとり早いかもしれないですが…。


統合版のオペレーダー権限でやりたいこと

で、これで何がしたいのかというと

/gamerule showcoordinates true

で座標を表示したいだけという。

Bedrock版・統合版は、
Java版と比べて自由度が低いので。

時間変えるのとかも上手じゃない人とプレイする最序盤はいいかも?

あと、
ConoHaで建てた統合版のサーバーでもOperator権限がこれでつけられるかな
(今はJava版にしちゃったけど)

サーバー消してBrdrock版・統合版のサーバーを立て直してやってみたところ、
セキュリティグループで IPv4v6-SSH を追加して、
Minecraft マネージャーで SSH を起動して、
RLoginでSSH接続して、
SFTPファイルの転送を使って、
/opt/minecraft_be_server
のファイルをダウンロードして編集してアップロードして、
という作業でOperator権限でアクセスできるのを確認しました。
XUIDも上で確認したものと同一でしたので、
ぶっちゃけ、上で作成された

permissions.json

をアップロードする、という乱暴な方法もイケそうです。

一応、軽くスクリーンショット撮りながら確認してみた。

ConoHa 上の Minecraft Bedrock Edition に Operator 権限で接続する

(あと、 TrueNAS SCALE の Apps 上で作成した permissions.json をいきなりアップロードしてもみたけどそれでもうまくいった)

コメントは無効になっていますので、何かありましたらフォームかTwitter(X)で。

About

2025年02月16日 17:18に投稿されたエントリーのページです。

ひとつ前の投稿は「「マイクラできる」PCってどのぐらいのレベルなんだろ」です。

次の投稿は「ConoHa 上の Minecraft Bedrock Edition に Operator 権限で接続する」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Movable Type 3.35