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 );
Nome | Tipo | Descrição |
steamIDClan | CSteamID | O 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 );
Nome | Tipo | Descrição |
pAuthTicket | const void * | O ticket de autenticação a ser validado. |
cbAuthTicket | int | O tamanho, em bytes, do ticket de autenticação. Deve ser o tamanho do pcbTicket retornado pela chamada criadora do ticket. |
steamID | CSteamID | O ID Steam da entidade que enviou o ticket. |
Autentica o ticket do ID Steam da entidade para confirmar que é válido e não duplicado. Observe que a identidade não deve ser considerada confirmada até que o retorno de chamada
ValidateAuthTicketResponse_t seja recebido e o valor de retorno seja verificado e indique sucesso.
O ticket é criado na entidade por meio da função
ISteamUser::GetAuthSessionTicket ou
ISteamGameServer::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
ISteamGameServer::EndAuthSession.
Retorna: EBeginAuthSessionResultConsulte também: Autenticação de usuário e titularidadeBLoggedOn
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_tBUpdateUserData
bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
Nome | Tipo | Descrição |
steamIDUser | CSteamID | O ID Steam do usuário. |
pchPlayerName | const char * | O nome do usuário. |
uScore | uint32 | A 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 titularidadeCancelAuthTicket
void CancelAuthTicket( HAuthTicket hAuthTicket );
Nome | Tipo | Descrição |
hAuthTicket | HAuthTicket | O 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 titularidadeClearAllKeyValues
void ClearAllKeyValues();
Limpa a lista de pares de chaves e valores enviada em consultas de regras.
Consulte também: ISteamGameServer::SetKeyValue,
ISteamMatchmakingServers::ServerRulesComputeNewPlayerCompatibility
SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
Nome | Tipo | Descrição |
steamIDNewPlayer | CSteamID | O 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: CSteamIDRetorna o ID Steam do bot para acompanhamento.
Você deverá chamar
ISteamGameServer::SendUserDisconnect quando este usuário sair do servidor, assim como faria com um usuário de verdade.
EnableHeartbeats
void EnableHeartbeats( bool bActive );
Nome | Tipo | Descrição |
bActive | bool | Ativa (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: ISteamGameServer::SetHeartbeatInterval,
ISteamGameServer::ForceHeartbeatEndAuthSession
void EndAuthSession( CSteamID steamID );
Nome | Tipo | Descrição |
steamID | CSteamID | A entidade com a qual encerrar a sessão de autenticação ativa. |
Encerra uma sessão de autenticação iniciada com
ISteamGameServer::BeginAuthSession. Deve ser chamada quando não estiver mais jogando com a entidade especificada.
Consulte também: Autenticação de usuário e titularidadeForceHeartbeat
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: ISteamGameServer::EnableHeartbeats,
ISteamGameServer::SetHeartbeatIntervalGetAuthSessionTicket
HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
Nome | Tipo | Descrição |
pTicket | void * | O buffer para o qual o novo ticket de autenticação será copiado se a chamada for bem-sucedida. |
cbMaxTicket | int | O tamanho do buffer alocado para pTicket . O valor deve ser 1024. |
pcbTicket | uint32 * | 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: HAuthTicketDispara 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
ISteamGameServer::CancelAuthTicket com o handle como argumento.
Retorna
k_HAuthTicketInvalid se a chamada falhar.
Consulte também: Autenticação de usuário e titularidadeGetGameplayStats
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 );
Nome | Tipo | Descrição |
pOut | void * | 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. |
cbMaxOut | int | O tamanho do buffer passado em pOut . O valor deve ser 16 * 1024. |
pNetAdr | uint32 * | Retorna o endereço IP ao qual o pacote deve ser enviado, em ordem de host, i.é., 127.0.0.1 == 0x7f000001. |
pPort | uint16 * | 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
ISteamGameServer::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: uint32O 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: CSteamIDHandleIncomingPacket
bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
Nome | Tipo | Descrição |
pData | const void * | Os dados do pacote recebido. |
cbData | int | O tamanho de pData , em bytes. |
srcIP | uint32 | O endereço IP ao qual o pacote foi enviado, em ordem de host, i.é., 127.0.0.1 == 0x7f000001. |
srcPort | uint16 | A 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.
Só
DEPOIS de chamar esta função é que a função
ISteamGameServer::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 );
Nome | Tipo | Descrição |
unIP | uint32 | O 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. |
usGamePort | uint16 | A porta à qual clientes se conectarão para jogar. |
usQueryPort | uint16 | A porta que cuidará de tarefas relacionadas ao navegador de servidores e receberá pings de clientes. |
unFlags | uint32 | União de um ou mais ServerFlags. |
nGameAppId | AppId_t | O AppID do jogo hospedado pelo servidor. |
pchVersionString | const 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
ISteamGameServer::HandleIncomingPacket e
ISteamGameServer::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 );
Nome | Tipo | Descrição |
pszToken | const 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: ISteamGameServer::LogOnAnonymousLogOnAnonymous
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: ISteamGameServer::LogOnRequestUserGroupStatus
bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
Nome | Tipo | Descrição |
steamIDUser | CSteamID | O usuário cuja participação em um grupo verificar. |
steamIDGroup | CSteamID | O 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 );
Nome | Tipo | Descrição |
unIPClient | uint32 | O endereço IP do cliente que está se conectando, em ordem de host, i.é., 127.0.0.1 == 0x7f000001. |
pvAuthBlob | const void * | Os dados de autenticação informados pelo usuário por meio de uma chamada à função ISteamUser::InitiateGameConnection. |
cubAuthBlobSize | uint32 | O tamanho de pvAuthBlob , em bytes. |
pSteamIDUser | CSteamID * | 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 );
Nome | Tipo | Descrição |
steamIDUser | CSteamID | O 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 );
Nome | Tipo | Descrição |
cBotplayers | int | A 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 );
Nome | Tipo | Descrição |
bDedicated | bool | Este é 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
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetGameData
void SetGameData( const char *pchGameData );
Nome | Tipo | Descrição |
pchGameData | const 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 );
Nome | Tipo | Descrição |
pszGameDescription | const 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
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetGameTags
void SetGameTags( const char *pchGameTags );
Nome | Tipo | Descrição |
pchGameTags | const 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 );
Nome | Tipo | Descrição |
iHeartbeatInterval | int | O 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: ISteamGameServer::EnableHeartbeats,
ISteamGameServer::ForceHeartbeatSetKeyValue
void SetKeyValue( const char *pKey, const char *pValue );
Nome | Tipo | Descrição |
pKey | const char * | |
pValue | const char * | |
Adiciona/Atualiza um par de chave e valor.
Consulte também: ISteamGameServer::ClearAllKeyValues,
ISteamMatchmakingServers::ServerRulesSetMapName
void SetMapName( const char *pszMapName );
Nome | Tipo | Descrição |
pszMapName | const 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 );
Nome | Tipo | Descrição |
cPlayersMax | int | A 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 );
Nome | Tipo | Descrição |
pszModDir | const 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
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetPasswordProtected
void SetPasswordProtected( bool bPasswordProtected );
Nome | Tipo | Descrição |
bPasswordProtected | bool | Ativa (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 );
Nome | Tipo | Descrição |
pszProduct | const 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
ISteamGameServer::LogOn ou
ISteamGameServer::LogOnAnonymous.
SetRegion
void SetRegion( const char *pszRegion );
Nome | Tipo | Descrição |
pszRegion | const 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 );
Nome | Tipo | Descrição |
pszServerName | const 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 );
Nome | Tipo | Descrição |
unSpectatorPort | uint16 | A 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 );
Nome | Tipo | Descrição |
pszSpectatorServerName | const 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 );
Nome | Tipo | Descrição |
steamID | CSteamID | O ID Steam do usuário que enviou o ticket de autenticação. |
appID | AppId_t | O 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
ISteamGameServer::BeginAuthSession.
Retorna: EUserHasLicenseForAppResultConsulte também: Autenticação de usuário e titularidadeWasRestartRequested
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.
Nome | Tipo | Descrição |
m_eResult | EResult | O resultado da operação. Valores possíveis:
|
Funções associadas: ISteamGameServer::AssociateWithClanComputeNewPlayerCompatibilityResult_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".
Nome | Tipo | Descrição |
m_eResult | EResult | O resultado da operação. Valores possíveis:
|
m_cPlayersThatDontLikeCandidate | int | A quantidade de jogadores no servidor que não gostam de jogar com o jogador especificado. |
m_cPlayersThatCandidateDoesntLike | int | A quantidade de jogadores no servidor com os quais o jogador especificado não gosta de jogar. |
m_cClanPlayersThatDontLikeCandidate | int | A quantidade de jogadores no grupo Steam associado que não gostam de jogar com o jogador. |
m_SteamIDCandidate | CSteamID | O ID Steam do jogador especificado. |
Funções associadas: ISteamGameServer::ComputeNewPlayerCompatibilityGSClientAchievementStatus_t
Em desuso — Use
ISteamGameServerStats no lugar.
Nome | Tipo | Descrição |
m_SteamID | uint64 | Em desuso |
m_pchAchievement | char[128] | Em desuso |
m_bUnlocked | bool | Em desuso |
GSClientApprove_t
Um cliente foi aprovado para conexão a este servidor.
Nome | Tipo | Descrição |
m_SteamID | CSteamID | O ID Steam do usuário que deseja se conectar. |
m_OwnerSteamID | CSteamID | O ID Steam titular do jogo — será diferente de m_SteamID se o jogo foi acessado por meio do Compartilhamento de Biblioteca Steam. |
GSClientDeny_t
Disparado quando um usuário teve a conexão ao servidor negada.
Nome | Tipo | Descrição |
m_SteamID | CSteamID | O ID Steam do usuário que tentou a conexão. |
m_eDenyReason | EDenyReason | O motivo do jogador ter sido negado. |
m_rgchOptionalText | char[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.
Nome | Tipo | Descrição |
m_SteamIDUser | CSteamID | O usuário cujos dados foram consultados. |
m_SteamIDGroup | CSteamID | O grupo consultado. |
m_bMember | bool | O usuário é um membro do grupo (true) ou não (false)? |
m_bOfficer | bool | O usuário é um administrador do grupo (true) ou não (false)? Nunca será true se m_bMember for false. |
Funções associadas: ISteamGameServer::RequestUserGroupStatusGSClientKick_t
Disparado quando o servidor precisar expulsar um usuário.
Nome | Tipo | Descrição |
m_SteamID | CSteamID | O ID Steam do usuário que precisa ser expulso. |
m_eDenyReason | EDenyReason | O motivo da expulsão do jogador. |
GSGameplayStats_t
Em desuso — disparado quando as estatísticas de jogabilidade foram consultadas por meio da função
ISteamGameServer::GetGameplayStats.
Nome | Tipo | Descrição |
m_eResult | EResult | O resultado da operação. |
m_nRank | int32 | A classificação geral do servidor (base 0). |
m_unTotalConnects | uint32 | Quantidade total de clientes que já se conectaram ao servidor. |
m_unTotalMinutesPlayed | uint32 | Quantidade total de minutos de jogo no servidor. |
Funções associadas: ISteamGameServer::GetGameplayStatsGSPolicyResponse_t
Disparado quando o servidor envia uma requisição para ser exibido como protegido (protegido por VAC).
Nome | Tipo | Descrição |
m_bSecure | uint8 | O 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.
Nome | Tipo | Descrição |
m_eResult | EResult | O resultado da operação. |
m_unReputationScore | uint32 | A pontuação de reputação do servidor. |
m_bBanned | bool | O servidor foi banido dos servidores-mestre do Steam (true) ou não (false)? |
m_unBannedIP | uint32 | O endereço IP do servidor banido, apenas se m_bBanned for true. |
m_usBannedPort | uint16 | A porta do servidor banido, apenas se m_bBanned for true. |
m_ulBannedGameID | uint64 | O ID do jogo hospedado pelo servidor banido, apenas se m_bBanned for true. |
m_unBanExpires | uint32 | O 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: ISteamGameServer::GetServerReputationConstantes
Estas são as constantes definidas para uso com ISteamGameServer.
Nome | Tipo | Valor | Descrição |
k_unServerFlagActive | uint32 | 0x01 | O servidor possui jogadores jogando. |
k_unServerFlagDedicated | uint32 | 0x04 | O servidor é dedicado. |
k_unServerFlagLinux | uint32 | 0x08 | O servidor está sendo executado em Linux. |
k_unServerFlagNone | uint32 | 0x00 | O servidor não possui indicadores (flags). |
k_unServerFlagPassworded | uint32 | 0x10 | O servidor está protegido por senha. |
k_unServerFlagPrivate | uint32 | 0x20 | O 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_unServerFlagSecure | uint32 | 0x02 | O servidor deseja ser protegido por VAC. |
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE | int | ((uint16)-1) | Usado com SteamGameServer_Init para ativar o modo GameSocketShare. |
STEAMGAMESERVER_INTERFACE_VERSION | const char * | "SteamGameServer012" | |