Game > GameAnvil > サーバー開発ガイド > IDの使用方法

ID

GameAnvilはさまざまな種類のIDを使用しています。その一部はサーバーが発行し、その他の一部はユーザーがGameAnvilConfigに直接設定します。接続に必要なアカウント情報などは、クライアントが入力した情報をサーバーに送信します。次はGameAnvilで使用する代表的なIDについての説明です。

名前 説明 データ型 範囲
ServiceId 設定したそれぞれのサービスを区別するためのID - 1つのサービスIDは複数のノードで構成できる int 0<id< 100
HostId ホストの固有ID - 1つのホストに複数のGameAnvilプロセスを実行する場合はGameAnvilConfigに別途のvmIdを設定 long -
NodeId ノードの固有ID - HostId + ServiceId + 内部カウンター値で構成 long -
AccountId クライアントが接続した時に入力 - コネクション1つにつき1つのアカウントIDがマッピング string -
UserId ゲームユーザーオブジェクトの固有ID - ゲームユーザーオブジェクトが作成された時にサーバーが発行 - 同じユーザーが再接続した場合でも、新しいゲームユーザーオブジェクトが作成されると新しいIDを発行 int -
RoomId ルームの固有ID - ルームオブジェクトが作成された時にサーバーが発行 int -
SubId 1つのアカウント(AccountId)内で固有の補助IDとしてクライアントが接続した時に送信する値
1つのコネクション内で複数のセッションを区別するために使用し、セッションの固有IDはAccountIdとSubIdを組み合わせて作成する
int 0 < id

IDサポートAPI

前述したIDに関する一部の機能を次の表のとおりにエンジンユーザーに提供します。該当IDを取得、確認するためには必ず以下のAPIを使用する必要があります。

ServiceId API

メソッド 説明
boolean isValid(int serviceId) 有効なserviceIdであるかを確認
int findServiceId(String serviceName) ServiceNameに該当するServiceIdを取得
String findServiceName(int serviceId) ServiceIdに該当するServiceNameを取得

HostId API

メソッド 説明
boolean isValid(long hostId) 有効なhostIdであるかを確認
long get() プロセスのhostIdを取得

NodeId API

メソッド 名前
boolean isValid(long nodeId) 有効なnodeIdであるかを確認
long getHostId(long nodeId) nodeIdからhostIdを取得
int getServiceId(long nodeId) nodeIdからserviceIdを取得
int getNodeNum(long nodeId) nodeIdからnodeNumを取得

UserId API

メソッド 説明
boolean isValid(int userId) 有効なuserIdであるかを確認

RoomId API

メソッド 説明
boolean isValid(int roomId) 有効なroomIdであるかを確認

SubId API

メソッド 説明
boolean isValid(int subId) 有効なsubIdであるかを確認
TOP