Documentação do Steamworks
Interface ISteamGameServer
Fornece a peça principal da API de servidores de jogos do Steam.

Funções de membro

Funções de membro de ISteamGameServer são chamadas por meio da função de acesso global SteamGameServer().

AssociateWithClan

SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
NomeTipoDescrição
steamIDClanCSteamIDO ID Steam do grupo ao qual se associar.

Associar este servidor ao clã informado para computação da compatibilidade de jogadores.

Retorna: SteamAPICall_t, a ser usado com o resultado de chamada AssociateWithClanResult_t.

BeginAuthSession

EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
NomeTipoDescrição
pAuthTicketconst void *O ticket de autenticação a ser validado.
cbAuthTicketintO tamanho, em bytes, do ticket de autenticação. Deve ser o tamanho do pcbTicket retornado pela chamada criadora do ticket.
steamIDCSteamIDO ID Steam da entidade que enviou o ticket.

Authenticate the ticket from the entity Steam ID to be sure it is valid and isn't reused. Note that identity is not confirmed until the callback ValidateAuthTicketResponse_t is received and the return value in that callback is checked for success.

O ticket é criado na entidade por meio da função ISteamUser::GetAuthSessionTicket ou GetAuthSessionTicket e então deve ser enviado pela rede para validação do outro lado.

Isso dispara retornos de chamada ValidateAuthTicketResponse_t no caso da entidade ficar off-line ou cancelar o ticket. Consulte EAuthSessionResponse para mais informações.

Quando a sessão multijogadora for encerrada, você deverá chamar a função EndAuthSession.

Retorna: EBeginAuthSessionResult


Consulte também: Autenticação de usuário e titularidade

BLoggedOn

bool BLoggedOn();
Verifica se o servidor iniciou a sessão.

Retorna: bool
true se o servidor iniciou a sessão; false caso contrário.

BSecure

bool BSecure();
Verifica se o servidor está no modo "Protegido".

Retorna: bool
true se o servidor estiver no modo protegido; false caso contrário.

Consulte também: EServerMode, GSPolicyResponse_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
NomeTipoDescrição
steamIDUserCSteamIDO ID Steam do usuário.
pchPlayerNameconst char *O nome do usuário.
uScoreuint32A pontuação atual do usuário.

Atualiza os dados a para exibição no navegador de servidores e interface de criação de partidas para um usuário conectado ao servidor.

AVISO: essa função é parte da antiga API de autenticação de usuário e não deve ser usada em conjunto com a nova API.

Retorna: bool
true se a chamada foi bem-sucedida; false no caso de uma falha (i.é., se steamIDUser não for um jogador no servidor atual.)

Consulte também: Autenticação de usuário e titularidade

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
NomeTipoDescrição
hAuthTicketHAuthTicketO ticket de autenticação ativo a cancelar.

Cancela um ticket de autenticação recebido da função ISteamUser::GetAuthSessionTicket. Deve ser chamada quando não estiver mais jogando com a entidade especificada.

Consulte também: Autenticação de usuário e titularidade

ClearAllKeyValues

void ClearAllKeyValues();
Limpa a lista de pares de chaves e valores enviada em consultas de regras.

Consulte também: SetKeyValue, ISteamMatchmakingServers::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
NomeTipoDescrição
steamIDNewPlayerCSteamIDO ID Steam do jogador que está tentando entrar.

Verifica se algum dos jogadores atuais não deseja jogar com o jogador que está tentando entrar ou vice-versa com base no sistema "frenemy".

Retorna: SteamAPICall_t, a ser usado com o resultado de chamada ComputeNewPlayerCompatibilityResult_t.

CreateUnauthenticatedUserConnection

CSteamID CreateUnauthenticatedUserConnection();
Cria um usuário falso (i.é., um bot) que será listado como jogando no servidor, mas sem validação.

AVISO: essa função é parte da antiga API de autenticação de usuário e não deve ser usada em conjunto com a nova API.

Retorna: CSteamID
Retorna o ID Steam do bot para acompanhamento.

Você deverá chamar SendUserDisconnect quando este usuário sair do servidor, assim como faria com um usuário de verdade.

EnableHeartbeats

void EnableHeartbeats( bool bActive );
NomeTipoDescrição
bActiveboolAtiva (true) ou desativa (false) o atualizador do servidor mestre.

Indica aos servidores-mestre do Steam se deseja ficar ativo ou não.

Se ativado, o servidor se comunicará com os servidores-mestre; caso contrário, mensagens recebidas serão ignoradas e pulsações (heartbeats) não serão enviadas.

Consulte também: SetHeartbeatInterval, ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
NomeTipoDescrição
steamIDCSteamIDA entidade com a qual encerrar a sessão de autenticação ativa.

Encerra uma sessão de autenticação iniciada com BeginAuthSession. Deve ser chamada quando não estiver mais jogando com a entidade especificada.

Consulte também: Autenticação de usuário e titularidade

ForceHeartbeat

void ForceHeartbeat();
Força o envio de uma pulsação (heartbeat) aos servidores-mestre na próxima oportunidade.

Na maioria dos casos, não é necessário usar esta função.

Consulte também: EnableHeartbeats, SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
NomeTipoDescrição
pTicketvoid *O buffer para o qual o novo ticket de autenticação será copiado se a chamada for bem-sucedida.
cbMaxTicketintO tamanho do buffer alocado para pTicket. O valor deve ser 1024.
pcbTicketuint32 *Retorna o tamanho verdadeiro do ticket.

Recupera um ticket de autenticação a ser enviado à entidade que deseja autenticá-lo.

Depois de chamar esta função, envie o ticket à entidade, que então chamará a função ISteamUser::BeginAuthSession para verificar a integridade da entidade chamadora.

Ao criar um ticket para uso pela Web API ISteamUserAuth/AuthenticateUserTicket, o aplicativo chamador deve aguardar o retorno de chamada GetAuthSessionTicketResponse_t gerado pela chamada à API antes de tentar usar o ticket para garantir que este foi repassado ao servidor. Se o retorno de chamada não ocorrer em tempo hábil (10–20 segundos), então o cliente não está conectado ao Steam e a chamada AuthenticateUserTicket falhará por não ter como autenticar o usuário.

Retorna: HAuthTicket
Dispara um retorno de chamada GetAuthSessionTicketResponse_t.
Um handle do ticket de autenticação. Quando terminar de interagir com a entidade, você deverá chamar a função CancelAuthTicket com o handle como argumento.

Retorna k_HAuthTicketInvalid se a chamada falhar.

Consulte também: Autenticação de usuário e titularidade

GetGameplayStats

void GetGameplayStats();
Em desuso — será removido em uma versão futura do SDK.

Retorna: void
Dispara um retorno de chamada GSGameplayStats_t.

GetNextOutgoingPacket

int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
NomeTipoDescrição
pOutvoid *Retorna o pacote que precisa ser enviado copiando-o para este buffer. O pacote pode ter até 16 KiB, então faça a alocação de acordo.
cbMaxOutintO tamanho do buffer passado em pOut. O valor deve ser 16 * 1024.
pNetAdruint32 *Retorna o endereço IP ao qual o pacote deve ser enviado, em ordem de host, i.é., 127.0.0.1 == 0x7f000001.
pPortuint16 *Retorna a porta pela qual o pacote deve ser enviado, em ordem de host.

Recupera um pacote que o atualizador do servidor-mestre precisa enviar por UDP quando estiver no modo GameSocketShare.

AVISO: só deve ser chamada DEPOIS de chamar HandleIncomingPacket para quaisquer pacotes que vieram naquele quadro!

AVISO: essa função DEVE ser chamada repetidamente em cada quadro até retornar 0 quando estiver no modo GameSocketShare.

O modo GameSocketShare pode ser ativado na chamada à função SteamGameServer_Init.

Retorna: int
O tamanho do pacote que precisa ser enviado; 0 se não houver mais pacotes a enviar neste quadro.

GetPublicIP

uint32 GetPublicIP();
Recupera o endereço IP público do servidor segundo o Steam.

Útil quando o servidor está em uma rede com NAT e precisa divulgar o endereço IP em algum lugar para conexão direta por outros clientes.

Retorna: uint32
O endereço IP público, em ordem de host, i.é., 127.0.0.1 == 0x7f000001.

Retorna 0 se não foi possível determinar o endereço IP.

GetServerReputation

SteamAPICall_t GetServerReputation();
Em desuso — será removido em uma versão futura do SDK.

Retorna: SteamAPICall_t, a ser usado com o resultado de chamada GSReputation_t.

GetSteamID

CSteamID GetSteamID();
Recupera o ID Steam do servidor.

Retorna: CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
NomeTipoDescrição
pDataconst void *Os dados do pacote recebido.
cbDataintO tamanho de pData, em bytes.
srcIPuint32O endereço IP ao qual o pacote foi enviado, em ordem de host, i.é., 127.0.0.1 == 0x7f000001.
srcPortuint16A porta pela qual o pacote foi enviado, em ordem de host.

Trata um pacote do servidor-mestre do Steam quando estiver no modo GameSocketShare.

Quando estiver no modo GameSocketShare, em vez de a interface ISteamGameServer criar um soquete próprio para comunicação com servidor-mestre, ela permite que o jogo use o soquete dele para enviar e receber mensagens.
Isso evita a necessidade de operadores de servidores abrirem outra porta no firewall.

Deve ser chamada sempre que um pacote que inicie com 0xFFFFFFFF chegar. Esse cabeçalho significa que é para uso da Valve.

Os parâmetros de endereço IP e porta são usados quando você escolheu multiplexar o soquete UDP do servidor em vez de deixar o atualizador do servidor mestre usar soquetes próprios.

Jogos com a engine Source fazem uso desse recurso para simplificar o trabalho de administradores de servidor, evitando a necessidade de abertura de mais portas no firewall.

DEPOIS de chamar esta função é que a função GetNextOutgoingPacket deverá ser chamada.

O modo GameSocketShare pode ser ativado ao chamar a função SteamGameServer_Init.

Retorna: bool

InitGameServer

bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
NomeTipoDescrição
unIPuint32O endereço IP ao qual se vinculará. (Em ordem de host, i.é., 127.0.0.1 == 0x7f000001). Use INADDR_ANY para vincular a todos os endereços IPv4 locais.
usGamePortuint16A porta à qual clientes se conectarão para jogar.
usQueryPortuint16A porta que cuidará de tarefas relacionadas ao navegador de servidores e receberá pings de clientes.
unFlagsuint32União de um ou mais ServerFlags.
nGameAppIdAppId_tO AppID do jogo hospedado pelo servidor.
pchVersionStringconst char *A string de versão costuma usar o formato x.x.x.x e é usada pelo servidor-mestre para detectar quando o servidor está desatualizado (apenas servidores com a última versão serão listados).

Inicializa a instância de ISteamGameServer. É chamada pela função SteamGameServer_Init. Na maioria dos casos, não será necessário chamá-la diretamente.

Caso passe MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE como argumento para usQueryPort, a API de servidores de jogos usará o modo "GameSocketShare", deixando nas mãos do jogo a tarefa de enviar e receber pacotes UDP para o atualizador do servidor-mestre.

Se o modo GameSocketShare for enviado, você deverá usar as funções HandleIncomingPacket e GetNextOutgoingPacket para interagir com o servidor mestre do Steam.

Retorna: bool
true se o servidor conseguiu se vincular ao endereço IP e porta informados; false caso contrário (ou seja, falha).

LogOff

void LogOff();
Inicia o processo de finalização a sessão do servidor junto ao Steam.

Retorna: void
Dispara um retorno de chamada SteamServerConnectFailure_t.
Dispara um retorno de chamada SteamServersConnected_t.
Dispara um retorno de chamada SteamServersDisconnected_t.

LogOn

void LogOn( const char *pszToken );
NomeTipoDescrição
pszTokenconst char *

Inicia o processo de início a sessão com uma conta de servidor persistente.

Retorna: void
Dispara um retorno de chamada SteamServerConnectFailure_t.
Dispara um retorno de chamada SteamServersConnected_t.
Dispara um retorno de chamada SteamServersDisconnected_t.


Consulte também: LogOnAnonymous

LogOnAnonymous

void LogOnAnonymous();
Inicia a sessão com uma conta genérica e anônima.

Retorna: void
Dispara um retorno de chamada SteamServerConnectFailure_t.
Dispara um retorno de chamada SteamServersConnected_t.
Dispara um retorno de chamada SteamServersDisconnected_t.


Consulte também: LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
NomeTipoDescrição
steamIDUserCSteamIDO usuário cuja participação em um grupo verificar.
steamIDGroupCSteamIDO grupo a verificar.

Verifica se um usuário faz parte de um grupo Steam especificado.

Retorna: bool
Dispara um retorno de chamada GSClientGroupStatus_t.
true se a chamada foi enviada com sucesso aos servidores Steam; false se não houver conexão aos servidores Steam ou um usuário ou grupo inválido foi informado.

SendUserConnectAndAuthenticate

bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
NomeTipoDescrição
unIPClientuint32O endereço IP do cliente que está se conectando, em ordem de host, i.é., 127.0.0.1 == 0x7f000001.
pvAuthBlobconst void *Os dados de autenticação informados pelo usuário por meio de uma chamada à função ISteamUser::InitiateGameConnection.
cubAuthBlobSizeuint32O tamanho de pvAuthBlob, em bytes.
pSteamIDUserCSteamID *Retorna o ID Steam do usuário. Não pode conter valor NULL.

Trata o recebimento de uma nova conexão de um usuário Steam. A função requisitará aos servidores Steam a validação da entidade do usuário, titularidade do aplicativo e estado VAC.

Se os servidores Steam estiverem off-line, então será feita uma validação ao ticket em cache, que validará a titularidade do aplicativo e identidade.

AVISO: essa função é parte da antiga API de autenticação de usuário e não deve ser usada em conjunto com a nova API.

Retorna: bool
true se o ticket do usuário passar por verificações básicas; false caso contrário.

Se a chamada for bem-sucedida, então espere um retorno de chamada GSClientApprove_t ou GSClientDeny_t, que dirá se a autenticação do usuário foi bem-sucedida ou não. O ID Steam passado ao retorno de chamada será igual ao passado nesta chamada.

SendUserDisconnect

void SendUserDisconnect( CSteamID steamIDUser );
NomeTipoDescrição
steamIDUserCSteamIDO ID Steam do usuário que saiu do servidor.

Deve ser chamada sempre que um usuário sair do servidor.

Permite que o Steam acompanhe internamente quais usuários estão conectados a quais servidores, podendo assim evitar que uma conta esteja em mais de um servidor ao mesmo tempo, exibir quem está no servidor etc.

AVISO: essa função é parte da antiga API de autenticação de usuário e não deve ser usada em conjunto com a nova API.

SetBotPlayerCount

void SetBotPlayerCount( int cBotplayers );
NomeTipoDescrição
cBotplayersintA quantidade de jogadores bots/IA jogando no servidor.

Define a quantidade de jogadores bots/IA no servidor. O valor padrão é 0.

SetDedicatedServer

void SetDedicatedServer( bool bDedicated );
NomeTipoDescrição
bDedicatedboolEste é um servidor dedicado (true) ou de cliente/"listen" (false)?

Define se é um servidor dedicado ou de cliente. O valor padrão é de cliente.

AVISO: só deve ser definida antes de chamar a função LogOn ou LogOnAnonymous.

SetGameData

void SetGameData( const char *pchGameData );
NomeTipoDescrição
pchGameDataconst char *O novo valor de "gamedata" a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerGameData.

Define uma string com o "gamedata" do servidor. Opcional, mas se usado permite que jogadores filtrem as interfaces de criação de partidas/navegador de servidores com base no valor.

Costuma ser formatado em uma lista com separação por vírgula ou por ponto e vírgula.

Não defina este valor a não ser que seja alterado, por ser enviada ao servidor mestre uma vez; quando tiver o recebimento confirmado.

SetGameDescription

void SetGameDescription( const char *pszGameDescription );
NomeTipoDescrição
pszGameDescriptionconst char *A descrição do jogo. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerGameDescription.

Define a descrição do jogo. É aconselhável usar o nome completo do jogo.

AVISO: valor obrigatório para todos os servidores e só pode ser definido antes de chamar a função LogOn ou LogOnAnonymous.

SetGameTags

void SetGameTags( const char *pchGameTags );
NomeTipoDescrição
pchGameTagsconst char *O novo valor de "gametags" a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerTags.

Define uma string com o "gametags" do servidor. Opcional, mas se usado permite que jogadores filtrem as interfaces de criação de partidas/navegador de servidores com base no valor.

Costuma ser formatado em uma lista com separação por vírgula ou por ponto e vírgula.

Não defina este valor a não ser que seja alterado, por ser enviada ao servidor mestre uma vez; quando tiver o recebimento confirmado.

SetHeartbeatInterval

void SetHeartbeatInterval( int iHeartbeatInterval );
NomeTipoDescrição
iHeartbeatIntervalintO intervalo entre pulsações, em milissegundos. Valores comuns ficam entre 250 e 1.000. Use -1 para usar o valor padrão.

Altera a frequência de envio de pulsações aos servidores-mestre do Steam.

Na maioria dos casos, não é necessário usar esta função.

Consulte também: EnableHeartbeats, ForceHeartbeat

SetKeyValue

void SetKeyValue( const char *pKey, const char *pValue );
NomeTipoDescrição
pKeyconst char *
pValueconst char *

Adiciona/Atualiza um par de chave e valor.

Consulte também: ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
NomeTipoDescrição
pszMapNameconst char *O nome do novo mapa a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerMapName.

Define o nome do mapa a exibir no navegador de servidores.

SetMaxPlayerCount

void SetMaxPlayerCount( int cPlayersMax );
NomeTipoDescrição
cPlayersMaxintA nova quantidade máxima de jogadores permitidos no servidor.

Define a quantidade máxima de jogadores permitidos simultaneamente no servidor.

Este valor pode ser alterado a qualquer momento.

SetModDir

void SetModDir( const char *pszModDir );
NomeTipoDescrição
pszModDirconst char *O diretório do jogo a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerGameDir.

Define o diretório do jogo.

Deve ser o mesmo diretório de instalação do jogo. Apenas o nome da pasta, não o caminho por completo (ex.: "Spacewar").

AVISO: valor obrigatório para todos os servidores e só pode ser definido antes de chamar a função LogOn ou LogOnAnonymous.

SetPasswordProtected

void SetPasswordProtected( bool bPasswordProtected );
NomeTipoDescrição
bPasswordProtectedboolAtiva (true) ou desativa (false) a proteção por senha.

Define se um servidor solicitará uma senha quando o usuário tenta se conectar.

SetProduct

void SetProduct( const char *pszProduct );
NomeTipoDescrição
pszProductconst char *O identificador único do jogo. Não pode conter o valor NULL, uma string vazia ("").

Define o identificador de produto do jogo. Usado pelo servidor mestre para verificação de versão.

É aconselhável converter o AppID do jogo em uma string e usá-lo aqui.

AVISO: valor obrigatório para todos os servidores e só pode ser definido antes de chamar a função LogOn ou LogOnAnonymous.

SetRegion

void SetRegion( const char *pszRegion );
NomeTipoDescrição
pszRegionconst char *

Identificador de região. Campo opcional; o valor padrão é uma string vazia, significando a região "world" (mundo).

SetServerName

void SetServerName( const char *pszServerName );
NomeTipoDescrição
pszServerNameconst char *O novo nome do servidor a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerName.

Define o nome do servidor a exibir no navegador de servidores.

SetSpectatorPort

void SetSpectatorPort( uint16 unSpectatorPort );
NomeTipoDescrição
unSpectatorPortuint16A porta de entrada para espectadores.

Define se o servidor permite a entrada de espectadores e a porta que será usada para este recurso. O valor padrão é 0, significando que o recurso está desativado.

SetSpectatorServerName

void SetSpectatorServerName( const char *pszSpectatorServerName );
NomeTipoDescrição
pszSpectatorServerNameconst char *O nome do servidor para espectadores a definir. Não pode conter o valor NULL, uma string vazia ("") nem ultrapassar o tamanho definido pela constante k_cbMaxGameServerMapName.

Define o nome do servidor para espectadores. Usado apenas se a porta para espectadores for diferente de zero.

UserHasLicenseForApp

EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
NomeTipoDescrição
steamIDCSteamIDO ID Steam do usuário que enviou o ticket de autenticação.
appIDAppId_tO AppID do conteúdo adicional, para verificação de titularidade.

Verifica se o usuário possui um Conteúdo adicional (DLC) específico.

Só pode ser chamada depois de passar o ticket de autenticação do usuário como argumento para a função BeginAuthSession.

Retorna: EUserHasLicenseForAppResult


Consulte também: Autenticação de usuário e titularidade

WasRestartRequested

bool WasRestartRequested();
Verifica se o servidor-mestre alertou que o servidor atual está desatualizado.

Reverte para o valor false depois de ser chamada.

Retorna: bool
true se o servidor mestre requer a atualização e reinicialização do servidor; false caso contrário.

Retornos de chamada

Estes são os retornos de chamada (callbacks) que podem ser disparados ao chamar SteamAPI_RunCallbacks. Muitos podem ser disparados diretamente em resposta às funções de membro de ISteamGameServer.

AssociateWithClanResult_t

Disparado quando o servidor tenta se associar a um grupo Steam.

NomeTipoDescrição
m_eResultEResultO resultado da operação. Valores possíveis:

Funções associadas: AssociateWithClan

ComputeNewPlayerCompatibilityResult_t

Disparado quando o servidor verifica se o jogador que está tentando entrar é amigável aos jogadores atuais no servidor, com base no sistema "frenemy".

NomeTipoDescrição
m_eResultEResultO resultado da operação. Valores possíveis:
m_cPlayersThatDontLikeCandidateintA quantidade de jogadores no servidor que não gostam de jogar com o jogador especificado.
m_cPlayersThatCandidateDoesntLikeintA quantidade de jogadores no servidor com os quais o jogador especificado não gosta de jogar.
m_cClanPlayersThatDontLikeCandidateintA quantidade de jogadores no grupo Steam associado que não gostam de jogar com o jogador.
m_SteamIDCandidateCSteamIDO ID Steam do jogador especificado.

Funções associadas: ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

Em desuso — Use ISteamGameServerStats no lugar.

NomeTipoDescrição
m_SteamIDuint64Em desuso
m_pchAchievementchar[128]Em desuso
m_bUnlockedboolEm desuso

GSClientApprove_t

Um cliente foi aprovado para conexão a este servidor.

NomeTipoDescrição
m_SteamIDCSteamIDO ID Steam do usuário que deseja se conectar.
m_OwnerSteamIDCSteamIDThe Steam ID that owns the game, this will be different from m_SteamID if the game is accessed via Steam Family Sharing.

GSClientDeny_t

Disparado quando um usuário teve a conexão ao servidor negada.

NomeTipoDescrição
m_SteamIDCSteamIDO ID Steam do usuário que tentou a conexão.
m_eDenyReasonEDenyReasonO motivo do jogador ter sido negado.
m_rgchOptionalTextchar[128]Uma mensagem de texto opcional com o motivo da negação. Usado apenas em relatórios.

GSClientGroupStatus_t

Disparado ao receber o status do grupo de um usuário.

NomeTipoDescrição
m_SteamIDUserCSteamIDO usuário cujos dados foram consultados.
m_SteamIDGroupCSteamIDO grupo consultado.
m_bMemberboolO usuário é um membro do grupo (true) ou não (false)?
m_bOfficerboolO usuário é um administrador do grupo (true) ou não (false)? Nunca será true se m_bMember for false.

Funções associadas: RequestUserGroupStatus

GSClientKick_t

Disparado quando o servidor precisar expulsar um usuário.

NomeTipoDescrição
m_SteamIDCSteamIDO ID Steam do usuário que precisa ser expulso.
m_eDenyReasonEDenyReasonO motivo da expulsão do jogador.

GSGameplayStats_t

Em desuso — disparado quando as estatísticas de jogabilidade foram consultadas por meio da função GetGameplayStats.

NomeTipoDescrição
m_eResultEResultO resultado da operação.
m_nRankint32A classificação geral do servidor (base 0).
m_unTotalConnectsuint32Quantidade total de clientes que já se conectaram ao servidor.
m_unTotalMinutesPlayeduint32Quantidade total de minutos de jogo no servidor.

Funções associadas: GetGameplayStats

GSPolicyResponse_t

Disparado quando o servidor envia uma requisição para ser exibido como protegido (protegido por VAC).

NomeTipoDescrição
m_bSecureuint8O servidor está sendo exibido como protegido (true) ou não (false)?

GSReputation_t

Em desuso — disparado quando a reputação do servidor foi consultada.

Os banimentos do servidor-mestre são feitos por endereço IP, então é possível ter o servidor banido mesmo com uma boa pontuação se houver um servidor mal-pontuado em outra porta.
Os dados recebidos podem ser usados para determinar qual servidor é o culpado.

NomeTipoDescrição
m_eResultEResultO resultado da operação.
m_unReputationScoreuint32A pontuação de reputação do servidor.
m_bBannedboolO servidor foi banido dos servidores-mestre do Steam (true) ou não (false)?
m_unBannedIPuint32O endereço IP do servidor banido, apenas se m_bBanned for true.
m_usBannedPortuint16A porta do servidor banido, apenas se m_bBanned for true.
m_ulBannedGameIDuint64O ID do jogo hospedado pelo servidor banido, apenas se m_bBanned for true.
m_unBanExpiresuint32O horário de remoção do banimento, especificado no formato de Era Unix (segundos a partir de 1º de janeiro de 1970), apenas se m_bBanned for true.

Funções associadas: GetServerReputation

Constantes

Estas são as constantes definidas para uso com ISteamGameServer.

NomeTipoValorDescrição
k_unServerFlagActiveuint320x01O servidor possui jogadores jogando.
k_unServerFlagDedicateduint320x04O servidor é dedicado.
k_unServerFlagLinuxuint320x08O servidor está sendo executado em Linux.
k_unServerFlagNoneuint320x00O servidor não possui indicadores (flags).
k_unServerFlagPasswordeduint320x10O servidor está protegido por senha.
k_unServerFlagPrivateuint320x20O servidor não deve ser listado no servidor mestre e não fará autenticação de usuários que se conectarem.
Útil ao criar um servidor cujos clientes podem não ter conexão à internet, mas ainda assim poderão jogar (como LANs).
k_unServerFlagSecureuint320x02O servidor deseja ser protegido por VAC.
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)Usado com SteamGameServer_Init para ativar o modo GameSocketShare.
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"