Steamworks ドキュメンテーション
ISteamGameServerインターフェイス
SteamゲームサーバーAPIのコアを提供します。

メンバー関数

ISteamGameServerのメンバ関数は、グローバルのアクセサ関数 SteamGameServer() 経由で呼び出されます。

AssociateWithClan

SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
名前説明
steamIDClanCSteamID関連付けるグループのSteam ID。

プレイヤーの互換性を算出するために、このゲームサーバーとこのクランと関連付けます。

戻り値: SteamAPICall_tAssociateWithClanResult_tの呼び出し結果で使われます。

BeginAuthSession

EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
名前説明
pAuthTicketconst void *検証する認証チケット
cbAuthTicketint認証チケットのバイト単位のサイズ。 このチケットを作成したコールが提供した pcbTicket サイズである必要があります。
steamIDCSteamIDこのチケットを送信したエンティティのSteam ID。

エンティティのSteam IDからのチケットが有効であり、再利用されていないことを検証します。 なお、コールバックValidateAuthTicketResponse_tを受け取り、コールバックの戻り値が成功かどうかチェックされるまで、IDは確認されないことに注意してください。

このチケットはエンティティに対してISteamUser::GetAuthSessionTicketまたは ISteamGameServer::GetAuthSessionTicketで作成された後、検証のためにネットワークを介してもう一方のエンドエンティティへ提供される必要があります。

これは、エンティティがオフラインになった時やチケットがキャンセルされた時にValidateAuthTicketResponse_tコールバック用に登録されます。 詳細情報は EAuthSessionResponse を参照してください。

マルチプレイヤーセッションが終了した時は ISteamGameServer::EndAuthSession を呼び出す必要があります。

戻り値: EBeginAuthSessionResult


こちらも参照してください: ユーザー認証と所有権確認

BLoggedOn

bool BLoggedOn();
ゲームサーバーがログオンしているかどうかを確認します。

戻り値: bool
true はサーバーがログオンしている時のみで、それ以外の状態ではfalseです。

BSecure

bool BSecure();
ゲームサーバーが 「セキュア」モードかどうかを確認します。

戻り値: bool
true はサーバーがセキュアの時、それ以外はfalseです。

こちらも参照してください: EServerModeGSPolicyResponse_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
名前説明
steamIDUserCSteamIDユーザーのSteam ID
pchPlayerNameconst char *ユーザー名
uScoreuint32ユーザーの現在のスコア

現在サーバーに接続中のユーザーに向けて、サーバーブラウザ―とマッチメイキングインターフェイスに表示されるデータを更新します。

注: これは以前のユーザー認証APIの一部であり、新しいAPIとは併用できません。

戻り値: bool
true は呼び出しが成功した時、それ以外は失敗があったことを意味し falseとなります。 ( つまりsteamIDUser は現在サーバーに居るプレイヤーではありません。)

こちらも参照してください: ユーザー認証と所有権確認

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
名前説明
hAuthTicketHAuthTicketキャンセルする有効な認証チケット

ISteamUser::GetAuthSessionTicketから受け取った認証チケットをキャンセルします。 指定のエンティティとそれ以上プレイしなくなった時に呼び出される必要があります。

こちらも参照してください: ユーザー認証と所有権確認

ClearAllKeyValues

void ClearAllKeyValues();
ルールクエリ―で送信されるキー/値のリスト全体をクリアします。

こちらも参照してください: ISteamGameServer::SetKeyValueISteamMatchmakingServers::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
名前説明
steamIDNewPlayerCSteamID参加しようとしているプレイヤーのSteam ID

フレネミーシステムに基づいて、現在のプレイヤー内にこの新規プレイヤーとプレイしたくない者がいるのか、またはその逆があるかを確認します。

戻り値: SteamAPICall_tComputeNewPlayerCompatibilityResult_t の呼び出し結果と使われます。

CreateUnauthenticatedUserConnection

CSteamID CreateUnauthenticatedUserConnection();
このサーバーでのプレイヤーとしてリストする偽ユーザー(ボット)を作り出して、検証はスキップします。

注: これは以前のユーザー認証APIの一部であり、新しいAPIとは併用できません。

戻り値: CSteamID
追跡されるボットの Steam IDを返します。

このユーザーがサーバーから退出した際には、本物のユーザーを扱うのと同じようにISteamGameServer::SendUserDisconnect を呼び出す必要があります。

EnableHeartbeats

void EnableHeartbeats( bool bActive );
名前説明
bActiveboolマスターサーバーアップデーターを有効(true)または無効 (false) にします。

Steam マスターサーバーにサーバーを有効にしたいかどうかを伝えます。

有効化されるとサーバーはマスターサーバーと通信しますが、それ以外では受信メッセージは無視されハートビートは送信されません。

こちらも参照してください: ISteamGameServer::SetHeartbeatInterval, ISteamGameServer::ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
名前説明
steamIDCSteamIDアクティブな認証セッションを終了するエンティティ

ISteamGameServer::BeginAuthSessionで開始された認証セッションを終了します。 指定のエンティティとそれ以上プレイしなくなった時に呼び出される必要があります。

こちらも参照してください: ユーザー認証と所有権確認

ForceHeartbeat

void ForceHeartbeat();
次の機会にSteamマスターサーバーへのハートビートを強制します。

通常、使用する必要はありません。

こちらも参照してください: ISteamGameServer::EnableHeartbeatsISteamGameServer::SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
名前説明
pTicketvoid *呼び出しが成功した場合に新しい認証チケットがコピーされるバッファー。
cbMaxTicketintpTicketに割り当てられたバッファーのサイズ。 1024のはずです。
pcbTicketuint32 *実際のチケットの長さを返します。

あなたを認証したいエンティティに送信される認証チケットを取得します。

これを呼び出した後、あなたはエンティティにチケットを送り、そこではISteamUser::BeginAuthSessionを呼び出してエンティティの整合性を確認できます。

ISteamUserAuth/AuthenticateUserTicket Web APIで使うチケットを作成するとき、呼び出すアプリケーションは、チケットを使ってチケットがサーバーに通信されたことを確かめる前に、API コールが作成したGetAuthSessionTicketResponse_tコールバックを待つ必要があります。 適切な時間内(10-20秒)にコールバックが無ければ、クライアントは Steamに接続していないことを意味し、ユーザーを認証することができないためにAuthenticateUserTicket呼び出しは失敗します。

戻り値: HAuthTicket
GetAuthSessionTicketResponse_t コールバックをトリガーします。
認証チケットへのハンドル。 エンティティとの対話が完了した後、ハンドルの ISteamGameServer::CancelAuthTicketを呼び出す必要があります。

呼び出しが失敗すると k_HAuthTicketInvalid を返します。

こちらも参照してください: ユーザー認証と所有権確認

GetGameplayStats

void GetGameplayStats();
非推奨 - 今後のSDKのリリースで削除されます。

戻り値: void
GSGameplayStats_t コールバックをトリガーします。

GetNextOutgoingPacket

int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
名前説明
pOutvoid *このバッファに、コピーして送信される必要のあるパケットを返します。 パケットの最大値は16KiBです。正しく割り当ててください。
cbMaxOutintpOutに提供されるバッファーのサイズ、 16 * 1024である必要があります。
pNetAdruint32 *このパケットが送信されるべき IP アドレスを、ホストの順に返します。 例: 127.0.0.1 == 0x7f000001
pPortuint16 *ホストの順に、このパケットが送信される必要のあるポートを返します。

GameSocketShareモードの時、 UDP でマスターサーバーアップデーターが送信する必要のあるパケットを取得します。

注: そのフレームで受け取ったパケットのために ISteamGameServer::HandleIncomingPacket を呼び出した後に、呼び出してください。

注: GameSocketShare モードで、0が返されるようになるまで繰り返し呼び出される必要があります。

GameSocketShare モードは、 SteamGameServer_Initを呼び出すと有効化できます。

戻り値: int
送信される必要のあるパケットの長さです。このフレームを送信するパケットがこれ以上ない場合には0です。

GetPublicIP

uint32 GetPublicIP();
Steamに従いサーバーのパブリックIPを取得します。

これは、サーバーがNATの背後にあり、他のクライアントが直接接続するためにロビーでIPを公開する場合に役立ちます。

戻り値: uint32
ホスト順のパブリックIP, 例:127.0.0.1 == 0x7f000001.

IPが特定できなければ0を返します。

GetServerReputation

SteamAPICall_t GetServerReputation();
非推奨 - 今後の SDK のリリースで削除されます。

戻り値: SteamAPICall_tGSReputation_t の呼び出し結果と使われます。

GetSteamID

CSteamID GetSteamID();
ゲームサーバーのSteam IDを取得します。

戻り値: CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
名前説明
pDataconst void *着信パケットからのデータ。
cbDataintバイト単位でのpDataのサイズ。
srcIPuint32このパケットが送信されるべきIPアドレスをホストの順で、例:127.0.0.1 == 0x7f000001
srcPortuint16このパケットが送信されたポート、ホスト順。

GameSocketShareモードの時、Steamマスターサーバーパケットを処理します。

GameSocketShareモードの時は、マスターサーバーとの通信にISteamGameServer自身がソケットを作成する代わりに、ゲームが自身のソケットを使用してメッセージを前後に転送します。
back and forth. これにより、ファイアウォールで更に別のポートを開くようにサーバーオペレーションに要求することを防ぎます。

これは0xFFFFFFFFで始まるパケットが到着する度に呼び出す必要があります。 これはSteam用を意味します。

IPとポートパラメーターは、マスターサーバーアップデーターが独自のソケットを使用するのではなく、ゲームサーバーのUDPソケットを多重化することを選択した時に使用されます。

Sourceエンジンのゲームはサーバー管理者の仕事を簡素化するためにこれを使用し、ファイアウォールでポートを更に開く必要はありません。

これを呼び出した後でのみISteamGameServer::GetNextOutgoingPacketを呼び出してください。

GameSocketShareモードは、 SteamGameServer_Initを呼び出すと有効化できます。

戻り値: bool

InitGameServer

bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
名前説明
unIPuint32バインドするIPアドレス。 (これはホスト順です。例 127.0.0.1 == 0x7f000001) すべてのローカルIPv4アドレスのバインドに INADDR_ANYを使用できます。
usGamePortuint16ゲームプレイのためにクライアントが接続するポート。
usQueryPortuint16サーバーブラウザー関連とクライアントからの情報pingを管理するポート。
unFlagsuint321つ以上のServerFlagsの結合。
nGameAppIdAppId_tこのサーバーを使うゲームのAppID。
pchVersionStringconst char *バージョン文字列の形式は通常 x.x.x.xで、サーバーが古くなったことを検出するためにマスターサーバーによって使用されます。. (最新バージョンのサーバーのみがリストされます。)

ISteamGameServerのインスタンスを初期化します。 これはSteamGameServer_Initに呼び出され、通常は直接呼び出す必要はありません。

usQueryPortMASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREを渡すと、ゲームサーバーAPIは"GameSocketShare"モードを使用するようになり、ゲームがマスターサーバーアップデーターのUDPパッケージの送受信を担当することを意味します。

GameSocketShareモードを使用する場合、ISteamGameServer::HandleIncomingPacketISteamGameServer::GetNextOutgoingPacketを使用してSteamマスターサーバーと通信する必要があります。

戻り値: bool
true となるのはゲームサーバーが提供されたIP/ポートに正常にバインドできた場合で、falseとなり失敗を意味します。

LogOff

void LogOff();
ゲームサーバーをSteamからログアウトするプロセスを開始します。

戻り値: void
SteamServerConnectFailure_tコールバックをトリガーします。
SteamServersConnected_tコールバックをトリガーします。
SteamServersDisconnected_tコールバックをトリガーします。

LogOn

void LogOn( const char *pszToken );
名前説明
pszTokenconst char *

永続的なゲームサーバーアカウントにログインするプロセスを開始します。

戻り値: void
SteamServerConnectFailure_tコールバックをトリガーします。
SteamServersConnected_tコールバックをトリガーします。
SteamServersDisconnected_tコールバックをトリガーします。


こちらも参照してください: ISteamGameServer::LogOnAnonymous

LogOnAnonymous

void LogOnAnonymous();
一般的な匿名アカウントにログインします。

戻り値: void
SteamServerConnectFailure_tコールバックをトリガーします。
SteamServersConnected_tコールバックをトリガーします。
SteamServersDisconnected_tコールバックをトリガーします。


こちらも参照してください: ISteamGameServer::LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
名前説明
steamIDUserCSteamIDグループの状況を確認するユーザー。
steamIDGroupCSteamIDチェックするグループ。

ユーザーが指定のSteamグループにいるか確認します。

戻り値: bool
GSClientGroupStatus_tコールバックをトリガーします。
true となるのは呼び出しが正常にSteamサーバーに送信された時で、それ以外の場合、Steamサーバーに接続していないか、無効なユーザーまたはグループが提供された場合にはfalseとなります。

SendUserConnectAndAuthenticate

bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
名前説明
unIPClientuint32接続しているクライアントのIPアドレス。 これはホスト順です。例 127.0.0.1 == 0x7f000001
pvAuthBlobconst void *ISteamUser::InitiateGameConnectionへの呼び出しからユーザーが提供する認証データ。
cubAuthBlobSizeuint32バイト単位でのpvAuthBlobのサイズ。
pSteamIDUserCSteamID *ユーザーのSteam IDを返します。 必ずNULL以外です。

Steamユーザーからの新しい接続の受信を処理します。 これにより、SteamサーバーはユーザーのID、アプリの所有権とVACステータスを検証するように求められます。

Steamサーバーがオフラインの場合、アプリの所有権とIDを検証するキャッシュされたチケット自体を検証します。

注: これは以前のユーザー認証APIの一部であり、新しいAPIとは併用できません。

戻り値: bool
true となるのはユーザーのチケットが基本チェックをパスした時のみで、それ以外は falseです。

この呼び出しが成功した場合、ユーザーの認証が成功したか否かを示すGSClientApprove_tまたはGSClientDeny_tコールバックがあります。 コールバック内のSteam IDはこの呼び出しで受け取ったものと一致します。

SendUserDisconnect

void SendUserDisconnect( CSteamID steamIDUser );
名前説明
steamIDUserCSteamIDゲームサーバーを退出したユーザーのSteam ID。

ユーザーがゲームサーバーを退出する度に呼び出されるべきです。

これにより単一アカウントが複数のサーバーにログインすることを防ぎ、現在サーバーにいるユーザーを表示するなどの目的で、現在どのユーザーがどのサーバーにいるかをSteamが内部的に追跡できるようになります。

注: これは以前のユーザー認証APIの一部であり、新しいAPIとは併用できません。

SetBotPlayerCount

void SetBotPlayerCount( int cBotplayers );
名前説明
cBotplayersintサーバーで現在プレイしているボット/AIプレイヤー。

ゲームサーバー上のボット/AIプレイヤーの数を設定します。 規定値は0です。

SetDedicatedServer

void SetDedicatedServer( bool bDedicated );
名前説明
bDedicatedboolこれは専用サーバーtrue)か、リッスンサーバー(false)か?

これは専用サーバーかリッスンサーバーかを設定します。 規定ではリッスンサーバーです。

注: これはISteamGameServer::LogOnまたはISteamGameServer::LogOnAnonymousの呼び出し前にのみ設定されます。

SetGameData

void SetGameData( const char *pchGameData );
名前説明
pchGameDataconst char *新しい"gamedata"値。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerGameDataより長くてはいけません。

このサーバー用に"gamedata"を定義する文字列を設定します。これは任意ですが、 設定するとユーザーがマッチメイキング/サーバーブラウザ―インターフェースを値でフィルターできるようになります。

これは通常、コンマまたはセミコロンで区切られたリストとしてフォーマットされます。

実際に変更しない限りは設定しないでください。承認された時にマスターに一度限りアップロードされます。

SetGameDescription

void SetGameDescription( const char *pszGameDescription );
名前説明
pszGameDescriptionconst char *ゲームの説明。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerGameDescriptionより長くてはいけません。

ゲームの説明を設定します。 これをゲームのフルネームに設定することを推奨します。

注: これはすべてのゲームサーバーに必須で、ISteamGameServer::LogOnまたはISteamGameServer::LogOnAnonymousの呼び出し前にのみ設定されます。

SetGameTags

void SetGameTags( const char *pchGameTags );
名前説明
pchGameTagsconst char *新しい"gametags"値。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerTagsより長くてはいけません。

このサーバー用に"gametags"を定義する文字列を設定します。これは任意ですが、 設定するとユーザーがマッチメイキング/サーバーブラウザ―インターフェースを値でフィルターできるようになります。

これは通常、コンマまたはセミコロンで区切られたリストとしてフォーマットされます。

実際に変更しない限りは設定しないでください。承認された時にマスターに一度限りアップロードされます。

SetHeartbeatInterval

void SetHeartbeatInterval( int iHeartbeatInterval );
名前説明
iHeartbeatIntervalintミリ秒単位で、ハートビートを送信する間隔。 通常、範囲は250-1000です。 規定値を使用するには-1を使用します。

ハートビートがSteamマスターサーバに送信される頻度を変更します。

通常、使用する必要はありません。

こちらも参照してください: ISteamGameServer::EnableHeartbeats, ISteamGameServer::ForceHeartbeat

SetKeyValue

void SetKeyValue( const char *pKey, const char *pValue );
名前説明
pKeyconst char *
pValueconst char *

ルールのキー/値のペアを追加/更新します。

こちらも参照してください: ISteamGameServer::ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
名前説明
pszMapNameconst char *新しく設定するマップ名。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerMapNameより長くてはいけません。

サーバーブラウザ―内に報告するマップ名を設定します。

SetMaxPlayerCount

void SetMaxPlayerCount( int cPlayersMax );
名前説明
cPlayersMaxintこのサーバー上に許可される新しい最大プレイヤー数。

サーバー上に同時に許可される最大プレイヤー数を設定します。

この値はいつでも変更できます。

SetModDir

void SetModDir( const char *pszModDir );
名前説明
pszModDirconst char *設定するゲームディレクトリ。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerGameDirより長くてはいけません。

ゲームディレクトリを設定します。

ゲームがインストールされるディレクトリと同じである必要があります。 フォルダー名のみで、パス全体ではありません。 例:"Spacewar"

注: これはすべてのゲームサーバーに必須で、ISteamGameServer::LogOnまたはISteamGameServer::LogOnAnonymousの呼び出し前にのみ設定されます。

SetPasswordProtected

void SetPasswordProtected( bool bPasswordProtected );
名前説明
bPasswordProtectedboolパスワード保護を有効化(true)または無効化(false)します。

ユーザーがログインを試みた際にゲームサーバーがパスワードを要求するかを設定します。

SetProduct

void SetProduct( const char *pszProduct );
名前説明
pszProductconst char *ゲームの一意の識別子。 NULLまたは空の文字列("")以外の必要があります。

ゲームの製品識別子を設定します。 バージョンチェックの理由で、現在マスターサーバーによって使用されます。

このためにゲームApp IDを文字列に変換することは推奨です。

注: これはすべてのゲームサーバーに必須で、ISteamGameServer::LogOnまたはISteamGameServer::LogOnAnonymousの呼び出し前にのみ設定されます。

SetRegion

void SetRegion( const char *pszRegion );
名前説明
pszRegionconst char *

地域識別子。 これは任意のフィールドです。デフォルト値は空の文字列で、"全世界"(地域)を意味します。

SetServerName

void SetServerName( const char *pszServerName );
名前説明
pszServerNameconst char *名前を設定する新しいサーバー。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerNameより長くてはいけません。

サーバーブラウザ―内に表示されるサーバー名を設定します。

SetSpectatorPort

void SetSpectatorPort( uint16 unSpectatorPort );
名前説明
unSpectatorPortuint16観戦者が参加するポート。

ゲームサーバーが観戦者を許可するか、その場合どのポートに接続されるかを設定します。 規定値は0で、これはサービスが使用されていないことを意味します。

SetSpectatorServerName

void SetSpectatorServerName( const char *pszSpectatorServerName );
名前説明
pszSpectatorServerNameconst char *名前を設定する観戦者サーバー。 NULLまたは空の文字列("")以外の必要があります。 k_cbMaxGameServerMapNameより長くてはいけません。

観戦者サーバーの名前を設定します。 観戦者ポートが0ではない場合にのみ使用されます。

UserHasLicenseForApp

EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
名前説明
steamIDCSteamID認証チケットを送信したユーザーのSteamID。
appIDAppId_tユーザーが所有するかをチェックするDLC AppID。

指定のダウンロードコンテンツ (DLC) を所有するかをチェックします。

ISteamGameServer::BeginAuthSessionにユーザーの認証チケットを送信後にのみ呼び出し可能す。

戻り値: EUserHasLicenseForAppResult


こちらも参照してください: ユーザー認証と所有権確認

WasRestartRequested

bool WasRestartRequested();
マスターサーバーが、こちらが古いことを警告したかをチェックします。

この関数を呼び出した後、falseに戻ります。

戻り値: bool
true となるのはマスターサーバーがこのゲームサーバーの更新と再起動を希望する場合で、それ以外はfalseです。

コールバック

これらは SteamAPI_RunCallbacks を呼び出すことによって実行されるコールバックです。 これらの多くは ISteamGameServerのメンバー関数への応答として直接実行されます。

AssociateWithClanResult_t

ゲームサーバーがSteamグループとの関連付けを試みると送信されます。

名前説明
m_eResultEResult呼び出しの結果。 可能な値:

関連する関数: ISteamGameServer::AssociateWithClan

ComputeNewPlayerCompatibilityResult_t

ゲームサーバーがフレネミーシステムに基いて、新しいプレイヤーがサーバーに手いkしているかをチェックしている時に送信されます。

名前説明
m_eResultEResult呼び出しの結果。 可能な値:
m_cPlayersThatDontLikeCandidateint指定のプレイヤーとプレイしたくないプレイヤーの現在の数。
m_cPlayersThatCandidateDoesntLikeint指定のプレイヤーが一緒にプレイしたくないサーバー上にいるプレイヤーの数。
m_cClanPlayersThatDontLikeCandidateintプレイヤーと一緒にプレイしたくない、関連付けられたSteamグループ内のプレイヤーの数。
m_SteamIDCandidateCSteamID指定のプレイヤーのSteam ID。

関連する関数: ISteamGameServer::ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

使用されていません - 代わりにISteamGameServerStatsを使用してください。

名前説明
m_SteamIDuint64使用されていません
m_pchAchievementchar[128]使用されていません
m_bUnlockedbool使用されていません

GSClientApprove_t

クライアントがこのゲームサーバーへの接続を承認されました。

名前説明
m_SteamIDCSteamID接続しようとしているユーザーのSteam ID。
m_OwnerSteamIDCSteamIDゲームを所有するSteamID。これは、Steamファミリーシェアリングを通してゲームにアクセスする場合には、m_SteamIDとは異なります。

GSClientDeny_t

ユーザーがこのゲームサーバーへの接続を拒否された時に呼び出されます。

名前説明
m_SteamIDCSteamID接続しようとしているユーザーのSteam ID。
m_eDenyReasonEDenyReasonプレイヤーが拒否された理由。
m_rgchOptionalTextchar[128]拒否の理由を説明する任意のテキスト。 通常、ログイン以外で使用されることはありません。

GSClientGroupStatus_t

ユーザーのグループステータスを受け取った際に呼び出されます。

名前説明
m_SteamIDUserCSteamIDグループ状況を照会したユーザー。
m_SteamIDGroupCSteamID照会したグループ。
m_bMemberboolユーザーはグループのメンバー(true)か否(false)か?
m_bOfficerboolユーザーはグループ内でオフィサー(true)か否(false)か? m_bMemberがfalseの場合にはtrueにはなりません。

関連する関数: ISteamGameServer::RequestUserGroupStatus

GSClientKick_t

ゲームサーバーがユーザーを追放する必要があるときに呼び出されます。

名前説明
m_SteamIDCSteamID追放されるプレイヤーのSteam ID。
m_eDenyReasonEDenyReasonプレイヤーが追放される理由。

GSGameplayStats_t

使用されていません - gameplay情報がISteamGameServer::GetGameplayStatsを使用して照会された時に呼び出されます。

名前説明
m_eResultEResult呼び出しの結果。
m_nRankint32サーバーでの全体ランク (0ベース)。
m_unTotalConnectsuint32サーバーに一度でも接続したことのあるクライアントの総数。
m_unTotalMinutesPlayeduint32サーバーでプレイされた時間(分)。

関連する関数: ISteamGameServer::GetGameplayStats

GSPolicyResponse_t

ゲームサーバーが安全(VAC保護)と表示することを要求した時に受け取ります。

名前説明
m_bSecureuint8今サーバーは安全(true)かセキュリティ保護なし(false)か?

GSReputation_t

使用されていません - ゲームサーバーの評価が照会された時に呼び出されます。

マスターサーバーの禁止はIPで行われるので、スコアが良好でも別のポートに不良サーバーがあれば禁止される可能性があります。
この情報を利用してどのサーバーが不良かを判断できます。

名前説明
m_eResultEResult呼び出しの結果。
m_unReputationScoreuint32ゲームサーバーの評価スコア。
m_bBannedboolサーバーはSteamマスターサーバーの禁止対象true)か否(false)か?
m_unBannedIPuint32禁止されたサーバーのIP。 m_bBannedtrueの場合のみ設定。
m_usBannedPortuint16禁止されたサーバーのポート。 m_bBannedtrueの場合のみ設定。
m_ulBannedGameIDuint64禁止されたサーバーが提供しているゲームID。 m_bBannedtrueの場合のみ設定。
m_unBanExpiresuint32禁止が解かれる時間、Unixエポック形式(1970年1月1日からの時間、秒単位)で提供。 m_bBannedtrueの場合のみ設定。

関連する関数: ISteamGameServer::GetServerReputation

定数

これらはISteamGameServerで使用するために定義された定数です。

名前説明
k_unServerFlagActiveuint320x01このゲームサーバーにはプレイヤーがいます。
k_unServerFlagDedicateduint320x04このゲームサーバーは専用です。
k_unServerFlagLinuxuint320x08このゲームサーバーはLinuxで実行されています。
k_unServerFlagNoneuint320x00このゲームサーバーにフラグはありません。
k_unServerFlagPasswordeduint320x10このゲームサーバーはパスワード保護されています。
k_unServerFlagPrivateuint320x20このゲームサーバーはマスターサーバーにリストされるべきではなく、サーバーに接続するユーザーの認証を強制しません。
クライアントがインターネットに接続されていない可能性のあるサーバーを実行してるが、クライアントにプレイを許可したい場合(つまりLAN接続)に便利です。
k_unServerFlagSecureuint320x02このゲームサーバーはVAC保護を求めています。
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)SteamGameServer_Initを使用して、GameSocketShareモードを有効化します。
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"