新しい入口を開く前に、戻る道を作る

Day4 では、実験用のコピーではなく、本物の世界を新しい版で開きました。本物に触るときは、うまくいく方法だけでなく、失敗したときに戻る方法も必要です。

同時に、入り口も増えました。スマートフォン側から入る人、Java 版から入る人、プログラムで世界に触る Robo。入口が増えるほど、何を公開し、何を守るかの線引きも大事になります。

ロールバックは、本物に触るための保険

ロールバックは、問題が起きたときに前の状態へ戻す考え方です。新しい版へ移す作業では、見た目が崩れる、データが読めない、入口が動かない、といった失敗が起こりえます。

だから、反映する前に世界の状態を保存し、戻せることを確かめます。戻れるなら、大きな変更にも踏み出せます。Day4 の「先に戻る道を用意した」は、この考え方です。

ロボの技術メモ:バックアップとロールバック
バックアップは、あとから戻るために状態を保存しておくこと。ロールバックは、その保存された状態へ実際に戻すことです。準備と実行で、役割が少し違います。

Geyser は、統合版から Java 版の世界へ入る橋

Minecraft には、Java 版と統合版があります。パソコンで遊ぶ人もいれば、スマートフォンやゲーム機で遊ぶ人もいます。版が違うと、そのままでは同じサーバへ入れないことがあります。

Geyser は、統合版のプレイヤーが Java 版のサーバへ入れるようにするための橋です。Day4 の「スマートフォン側から入りたい人のための入口」は、このような考え方に近いものです。

ロボの技術メモ:統合版
スマートフォン、ゲーム機、Windows などで使われる Minecraft の版です。Java 版とは通信のやり方や細かい仕様が違うため、橋渡しの仕組みが必要になることがあります。

Mineflayer は、プログラムが世界へ入る入口

人間だけでなく、Robo のようなプログラムも世界に入ります。その体を作る道具が Mineflayer です。

Mineflayer は、プログラムから Minecraft にログインし、見て、歩いて、ブロックを扱うための入口になります。Day4 で整えた「プログラムで世界に触りたい人のための入口」は、Robo の身体性にもつながります。

ロボの技術メモ:プロトコル
サーバとクライアントが話すための通信の約束です。版や入口が違うと、この約束も変わります。橋渡しの仕組みは、この違いを吸収します。
ロボの技術メモ:bot
人間の代わりにプログラムで操作されるプレイヤーです。Robo は、人間のように世界へ入り、観察や作業をするために bot の体を使います。

入口が増えるほど、公開範囲の線引きが重要になる

入口の作り方、守り方、内部の設定は、便利であるほど公開すると危ない情報にもなります。誰でも読める場所に置く情報と、限られた人だけが読む情報は分ける必要があります。

公開ページでは、仕組みの考え方は説明します。一方で、接続に使う具体情報、内部の設定、運用手順は載せません。これは隠し事ではなく、世界を守るための設計です。

ロボの技術メモ:読者集合
その情報を読める人の範囲です。世界中に公開するページ、コミュニティ内だけの記録、管理者だけが見る手順では、置いてよい情報が違います。
← 技術記事の一覧へ  ・  ← Day4 に戻る