本文へスキップ
Colyseusを基盤に
Colyseus

サーバーが守るのは、 プレイヤー同士の同期

aukimiにおけるマルチプレイヤーはColyseusです——ルーム、状態同期、再接続はすべて、私たちが用意し運用するオープンソースの権威サーバー(authoritative server)によって処理されます。

バージョン

Colyseus 0.18

ライセンス

MIT

ランタイム

Node.js, WebSocket

無料テストサーバー

wss://test.mp.aukimi.com

Colyseusとは

ColyseusはNode.js向けのオープンソースなマルチプレイヤーフレームワークで、MITライセンスの下、インディーゲームの世界で広く使われています。設計思想として権威主導型(authoritative)であり、状態はサーバーが保持し、クライアントは意図を送るだけです。ルームのライフサイクル、差分圧縮された状態同期、接続切断後の再接続など、誰もが自作すると失敗しがちな部分は、すべてこのフレームワークが引き受けます。

フォークではなく、素のColyseus

私たちが運用しているのは、公開されている素のColyseus 0.18に、クォータ層を上乗せしただけのものです。それ以外は何も変更していません。Engineは公式のColyseusクライアントを使って通信します。通信プロトコルにも、ルームAPIにも、状態スキーマにも、aukimi固有の要素はひとつもありません。これには具体的な意味があります——本家のドキュメントがそのままあなたのゲームに当てはまり、ここで身につけた知識は、ここでしか使えない知識にはならないということです。

すでに有効な、無料の共有サーバー

ゲームをマルチプレイヤー化するのに、サブスクリプションも、何かを決断することすら必要ありません。共有テストサーバーは常時稼働しており、一度も設定したことのないシーンでも、すでにそこを参照しています。意図的に小さく、意図的に忘れっぽく作られています——1ルームあたり8人、接続数16、ルームコードごとに2ルームまで、セッション間で何も保存されません。ここは、あなたのゲームが動くことを確かめる場所です。プレイヤーを迎え入れるのは、あなた自身のサーバーの役目です。

  • 1ルームあたり8人・接続数16・ルームコードごとに2ルームまで
  • アカウント不要、永続化なし、稼働保証なし
  • クォータはルームコードごとに適用されるため、混雑したゲームが他のゲームを圧迫することはありません

会員ゾーンから起動する、あなた専用のサーバー

テストルームでは手狭になったら、サーバー専用のページが用意されています。作成、起動、停止、再起動、削除ができ、プロビジョニングの進行状況を確認し、アドレスをコピーしたり、Engineから直接開いたりできます。それぞれが公開された上限を持つ独立したコンテナで動作します。ターミナル操作もコンテナの面倒を見る必要もなく、各プランでできることはプラン表に明記されています。

再接続も込みで提供される

プレイヤーの接続は途切れるものです——トンネル、エレベーター、ノートPCの蓋。Colyseusは切断されたクライアントの席を確保しておき、見知らぬ他人として最初からやり直すのではなく、同じ識別情報で同じセッションに戻ることを可能にします。この経路は、ホストを立ち上げる過程で私たちが一度壊し、見つけ、直したものであり、ヘルスチェックではなく実際のクライアントで検証済みです。

ゲームをオンラインにする

共有テストサーバーはすでに稼働中です。再生ボタンを押して、誰が現れるか確かめましょう。

プロジェクトを支援