Skip to content

obj+me.virmesh.worldInstance.instance

WorldServer 上で稼働している world instance を表す object です。

draft

Description

Instance は、world manifest から作られたライブセッションです。 各 instance には WorldServer が割り当てる不透明な id があり、クライアントは worldId, endpoint, id の組として扱います。

Aliases

  • worldInstance
  • me.virmesh.worldInstance.instance

Fields

idstringRequired

WorldServer が割り当てる instance identifier です。不透明な文字列として扱います。

worldIdstringRequired

この instance が属する world identifier です。形式は medi:world:<scheme>:<publicKey> です。

endpointstringRequired

この instance を管理する WorldServer の absolute URL です。

namestringOptional

表示用の instance 名です。

statestringRequired

open, full, closed のいずれかです。

playerCountintegerRequired

現在参加している player 数です。

capacityintegerRequired

参加可能な最大 player 数です。

joinPolicystringRequired

public, invite, private のいずれかです。

createdAtintegerRequired

instance を作成した epoch second です。

updated_atintegerRequired

instance metadata を更新した epoch second です。

worldProtocolsobject[]Required

この instance に接続するための protocol 一覧です。各要素は name, version, information を持ちます。

worldProtocols[].namestringRequired

protocol identifier です。例: me.virmesh.world.websocket

worldProtocols[].versionstringRequired

protocol version です。

worldProtocols[].informationobjectRequired

当該プロトコルがこの instance への接続に必要とするパラメータです。キー・型・意味は worldProtocols[].name で識別されるプロトコル仕様が定義します。

Examples

open world instance

{
  "id": "inst_01HZY8K7N2Q4Y6Z8A0B1C2D3E4",
  "worldId": "medi:world:ed25519:base64url-world-public-key",
  "endpoint": "https://worlds.example.com/",
  "name": "Main",
  "state": "open",
  "playerCount": 12,
  "capacity": 32,
  "joinPolicy": "public",
  "createdAt": 1770000000,
  "updated_at": 1770000100,
  "worldProtocols": [
    {
      "name": "me.virmesh.world.websocket",
      "version": "1.0.0",
      "information": {
        "uri": "wss://worlds.example.com/instances/inst_01HZY8K7N2Q4Y6Z8A0B1C2D3E4/session"
      }
    }
  ]
}

Referenced by

KindReferenceField
Action response (201)me.virmesh.worldInstance.createInstancepayload.instance
Action response (200)me.virmesh.worldInstance.getInstancepayload.instance
Action response (200)me.virmesh.worldInstance.listInstancepayload.instances
Status payloadstatus+me.virmesh.success.worldInstanceCreatedpayload.instance
Status payloadstatus+me.virmesh.success.worldInstanceResolvedpayload.instance
Status payloadstatus+me.virmesh.success.worldInstancesListedpayload.instances