minecraft-protocolでInsufficientPrivilegesExceptionが出たとき
Microsoftアカウントを使い、有効なセッションでMinecraftサーバーに入ろうとしたら、こんなエラーが出た。
code:log
/.../node_modules/yggdrasil/src/utils.js:35
if (body?.error !== undefined) throw new Error(body?.errorMessage ?? body?.error)
^
Error: InsufficientPrivilegesException
at call (/.../node_modules/yggdrasil/src/utils.js:35:40)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async join (/.../node_modules/yggdrasil/src/Server.js:20:12)
Emitted 'error' event on Client instance at:
at onJoinServerResponse (/.../node_modules/minecraft-protocol/src/client/encrypt.js:32:18)
at /.../node_modules/yggdrasil/src/utils.js:78:39
at processTicksAndRejections (node:internal/process/task_queues:96:5)
結論
Xboxの設定でマルチプレイの機能が許可していなかったのが原因だった。
Xboxサイトの設定ページで「プライバシーとオンラインの安心設定」→「Xbox Series X|S、Xbox One、Windows 10 デバイス オンライン セーフティ」内にある
「Xbox Live以外のプレイヤーとプレイできます」と「マルチプレイヤーゲームへの参加」を許可にしてあげたら、できるようになった。
https://scrapbox.io/files/62909fdc20231000233a20ee.png
余談
最初原因がわからずで、Microsoftアカウントにメールアドレスのエイリアスを追加してみるなどをしてしまってた。