top of page

プレイヤーを追い出さないサーバーメンテナンス

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

サーバーを更新しなければならないとき、プレイヤーには実際に何が起こるのでしょうか。簡単な答えは、電源を抜くことでしょう。ぼくたちは、もっと良い答えを作りました。理想は、ほとんど気づかれないことですが、ぼくのお気に入りの機能のひとつです。


お知らせ。サーバーは、動いているすべての世界にメンテナンスのメッセージを送れます。するとゲームの中に、カウントダウン付きのバナーが表示されます。「サーバーを10分後に再起動します」。このメッセージは自分で閉じる必要がありますが、数秒たってからでないと閉じられません。戦いの真っ最中に、うっかりクリックして消してしまわないためです。


おだやかな再起動。カウントダウンが終わると、世界は順番どおりに終了します。ゲームの状態を保存し、プレイヤーには意味不明な「接続が切れました」ではなく、わけを説明するお別れ画面を出し、コンテナを止めます。次に参加したとき、世界は新しいバージョンで目を覚まします。もちろん、セーブはそのまま残っています。


裏の技術:保護された管理用エンドポイントがお知らせを受け取ります。サーバーだけが知っているトークンで守られています。トークンが設定されていなければ、この機能はまるごとオフです。開いたままのお知らせエンドポイントは、いたずらを招くようなものですから。管理者向けには、ゲーム内のチャットコマンドと、管理パネルの世界ごとのボタンもあります。


思わぬ副作用もありました。このしくみができてから、ぼくたちはおちついて更新できるようになり、そのぶん更新の回数も増えました。良いメンテナンスのツールは、メンテナンスだけでなく、プロジェクト全体を良くしてくれます。

最新記事

すべて表示
新しいバージョンが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