top of page

ホステッドワールドのしくみ

執筆者の写真: Marcel Dütscher
Marcel Dütscher
7月5日
読了時間: 2分

インターネット上に自分だけの世界があって、だれもサーバーを立てなくても、友だちがいつでも遊びに来られる。それがぼくたちのホステッドワールドのアイデアです。この記事では、ポータルの「プレイ」ボタンの裏で本当に何が起きているのかを紹介します。


すべての中心は WorldHost です。ぼくたちのサーバー上で動く小さなサービスで、世界を管理します。それぞれの世界は専用のDockerコンテナで動き、完全に分離されていて、独自のセーブファイル、メモリ上限、CPU上限を持っています。だれも遊んでいないときは何も動きません。世界は眠り、コンテナは止まり、リソースも使いません。


ポータルで「プレイ」をクリックすると、次のようなことが起こります。まずWorldHostが、みなさんが参加していいかどうかを確認します。パスワード付きの世界では、世界を起こす前にパスワードを確認します。だから、参加しようとするだけで、他の人の世界を勝手に起動することはできません。そのあとでやっとコンテナが起動し、世界がセーブファイルを読み込み、その世界専用の短い期限つきの参加トークンが届きます。そのあいだ、ポータルには「世界を起こしています…」というステータスが表示されます。


全員が世界から出ると、しばらくして世界はまた眠ります。セーブが書き込まれ、コンテナは止まります。また、世界を自分のパソコンで続けて遊びたいときは、セーブをダウンロードして、あとでまたアップロードできます。ホステッドワールドのセーブは、ローカルのゲームのセーブと同じものです。


このしくみ全体は、あえて小さく作ってあります。Kubernetesもクラウドの魔法もありません。サーバーが1台、Docker、そしてコンテナを起動したり止めたりするサービスだけです。家族のプロジェクトなら、これで驚くほど遠くまで行けます。どこまで行けるのか、そしてこういうサーバーにいくらかかるのかは、VPSの記事で話します。

最新記事

すべて表示
新しいバージョンが2026.7.19で、0.9.2ではない理由 🗓️

今日アップデートする人は、バージョン0.9.1から2026.7.19にジャンプします。打ち間違いに見えますが、意図した決定です。バージョンの付け方を、「セマンティック」から日付ベースのバージョン(年.月.カウンター)に変えました。その理由をお話しします。 古い方式は、だれも聞かない質問に答えていました。 セマンティックバージョニング(0.9.1、1.2.3…)は、ソフトウェアライブラリの世界から来

 
 
おそうじ完了:GitHubのキャッシュをようやくちゃんと使えるようになりました 🧹

前回の技術記事では、ビルドとチェックのパイプラインに本当は何がかかっているのかを測りました。わかったのは、お金ではなく、待ち時間と保存容量だということでした。その記事は「おそうじの作業は計画してあるけれど、まだ終わっていない」で締めくくっていました。ところが、思ったより早く進みました。今日のお昼の時点で、メインブランチに入っています。数字をご紹介します。 まず結果から。 リポジトリのキャッシュ使用

 
 
月に1000回のビルド実行、そのどれにもお金はかかっていません ⚙️

まず訂正です。この記事の最初のバージョンでは、GitHubのビルド時間を使い切ってしまい、そのせいでProアカウントにアップグレードせざるをえなかった、と書いていました。それは間違いでした。ドキュメントを一目見ればわかったことです。公開リポジトリでは、GitHubのビルド時間は無料です。アーティファクトもキャッシュもです。うちのリポジトリは5月末から公開されているので、1分もお金を払ったことはあり

 
 

コメント


この投稿へのコメントは利用できなくなりました。詳細はサイト所有者にお問い合わせください。
bottom of page