Documentación de Steamworks
Interfaz ISteamGameServer
Proporciona el núcleo de las API de los servidores de juego de Steam.

Funciones miembro

Las funciones miembro para ISteamGameServer se llaman a través de la función de acceso global SteamGameServer().

AssociateWithClan

SteamAPICall_t AssociateWithClan( CSteamID steamIDClan );
NombreTipoDescripción
steamIDClanCSteamIDId. de Steam del grupo al que te quieres asociar.

Asocia este servidor de juegos con este clan para calcular la compatibilidad entre jugadores.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a AssociateWithClanResult_t.

BeginAuthSession

EBeginAuthSessionResult BeginAuthSession( const void *pAuthTicket, int cbAuthTicket, CSteamID steamID );
NombreTipoDescripción
pAuthTicketconst void *El ticket de autenticación para validar.
cbAuthTicketintTamaño en bytes del ticket de autenticación. Este debe ser el tamaño pcbTicket proporcionado por la llamada que creó este ticket.
steamIDCSteamIDId. de Steam de la entidad que envió el ticket.

Autentica el ticket del id. de Steam de la entidad para garantizar que es válido y que no está siendo reutilizado. Ten en cuenta que la identidad no se confirma hasta que se recibe la función callback ValidateAuthTicketResponse_t y se confirma que el valor devuelto es correcto.

El ticket se crea en la entidad con ISteamUser::GetAuthSessionTicket o GetAuthSessionTicket y luego se debe proporcionar a través de la red para que el otro extremo lo valide.

Esto registra las funciones callback de ValidateAuthTicketResponse_t si la entidad se desconecta o cancela el ticket. Consulta EAuthSessionResponse para obtener más información.

Cuando la sesión multijugador termina, debes llamar a EndAuthSession.

Devuelve: EBeginAuthSessionResult


Véase también: Autenticación de usuario y propiedad

BLoggedOn

bool BLoggedOn();
Comprueba si el servidor del juego está conectado.

Devuelve: bool
true si el servidor del juego está conectado; de lo contrario, false.

BSecure

bool BSecure();
Comprueba si el servidor de juego está en modo "Seguro".

Devuelve: bool
true si el servidor del juego es seguro; de lo contrario, false.

Véase también: EServerMode, GSPolicyResponse_t

BUpdateUserData

bool BUpdateUserData( CSteamID steamIDUser, const char *pchPlayerName, uint32 uScore );
NombreTipoDescripción
steamIDUserCSteamIDId. de Steam del usuario.
pchPlayerNameconst char *El nombre del usuario.
uScoreuint32La puntuación actual del usuario.

Actualiza los datos que se muestran en las interfaces de emparejamiento y de navegación de servidores para un usuario conectado actualmente al servidor.

NOTA: Esto es parte de la API de autenticación de usuario antigua y no debe mezclarse con la nueva API.

Devuelve: bool
true si la llamada fue exitosa; de lo contrario, false si se produjo un error (es decir, steamIDUser no es un jugador en el servidor actual).

Véase también: Autenticación de usuario y propiedad

CancelAuthTicket

void CancelAuthTicket( HAuthTicket hAuthTicket );
NombreTipoDescripción
hAuthTicketHAuthTicketTicket de autenticación activo que se desea cancelar.

Cancela un ticket de autenticación recibido de ISteamUser::GetAuthSessionTicket. Debería llamarse cuando ya no se está jugando con la entidad especificada.

Véase también: Autenticación de usuario y propiedad

ClearAllKeyValues

void ClearAllKeyValues();
Borra la lista completa de pares clave-valor que se envían en las consultas de reglas.

Véase también: SetKeyValue, ISteamMatchmakingServers::ServerRules

ComputeNewPlayerCompatibility

SteamAPICall_t ComputeNewPlayerCompatibility( CSteamID steamIDNewPlayer );
NombreTipoDescripción
steamIDNewPlayerCSteamIDId. de Steam del jugador que está intentando unirse.

Comprueba si alguno de los jugadores actuales no quieren jugar con este nuevo jugador que está intentando unirse o viceversa; basado en el sistema de amigos y enemigos.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada ComputeNewPlayerCompatibilityResult_t.

CreateUnauthenticatedUserConnection

CSteamID CreateUnauthenticatedUserConnection();
Crea un usuario falso (por ejemplo, un bot), que aparecerá en la lista como jugando en el servidor, pero omite la verificación.

NOTA: Esto es parte de la API de autenticación de usuario antigua y no debe mezclarse con la nueva API.

Devuelve: CSteamID
Devuelve el id. de Steam con el que se rastreará al bot.

Deberías llamar a SendUserDisconnect cuando este usuario abandone el servidor igual que si fuera un usuario real.

EnableHeartbeats

void EnableHeartbeats( bool bActive );
NombreTipoDescripción
bActiveboolActiva (true) o desactiva (false) el actualizador del servidor maestro.

Les dice a los servidores maestros de Steam si deseas que estén activos o no.

Si se activa, el servidor se comunicará con los servidores maestros; si no, se ignorarán los mensajes entrantes y no se enviarán señales de monitorización.

Véase también: SetHeartbeatInterval, ForceHeartbeat

EndAuthSession

void EndAuthSession( CSteamID steamID );
NombreTipoDescripción
steamIDCSteamIDEntidad con la que se finaliza la sesión de autenticación activa.

Finaliza una sesión de autenticación que se inició con BeginAuthSession. Debería llamarse cuando ya no se está jugando con la entidad especificada.

Véase también: Autenticación de usuario y propiedad

ForceHeartbeat

void ForceHeartbeat();
Fuerza una señal de monitorización de los servidores maestros de Steam en cuanto sea posible.

Normalmente, no se necesita.

Véase también: EnableHeartbeats, SetHeartbeatInterval

GetAuthSessionTicket

HAuthTicket GetAuthSessionTicket( void *pTicket, int cbMaxTicket, uint32 *pcbTicket );
NombreTipoDescripción
pTicketvoid *Búfer en el que se copiará el nuevo ticket de autenticación si la llamada se completó.
cbMaxTicketintEl tamaño del búfer asignado para pTicket. Este debería ser 1024.
pcbTicketuint32 *Devuelve la longitud del ticket actual.

Recupera un ticket de autenticación para enviarlo a la entidad que desee realizar tu autenticación.

Después de llamar a esta función, se puede enviar el ticket a la entidad que podrá después llamar a ISteamUser::BeginAuthSession para verificar su integridad.

Cuando se crea un ticket para que lo use la Web de API ISteamUserAuth/AuthenticateUserTicket, la aplicación que realiza la llamada debería esperar a la respuesta de la función callback GetAuthSessionTicketResponse_t, generada por la llamada a la API, antes de intentar usar el ticket para garantizar que se le ha comunicado el ticket al servidor. Si esta respuesta no llega a tiempo (10-20 segundos), indica que el cliente no está conectado a Steam y la llamada de AuthenticateUserTicket fallará porque no puede autenticar al usuario.

Devuelve: HAuthTicket
Activa la función callback GetAuthSessionTicketResponse_t.
Un handle para el ticket de autenticación. Cuando hayas terminado de interactuar con la entidad, debes llamar a CancelAuthTicket con este handle.

Devuelve k_HAuthTicketInvalid si la llamada falla.

Véase también: Autenticación de usuario y propiedad

GetGameplayStats

void GetGameplayStats();
Obsoleto. Se eliminará en una futura publicación del SDK.

Devuelve: nulo
Activa la función callback GSGameplayStats_t.

GetNextOutgoingPacket

int GetNextOutgoingPacket( void *pOut, int cbMaxOut, uint32 *pNetAdr, uint16 *pPort );
NombreTipoDescripción
pOutvoid *Devuelve el paquete que es necesario enviar copiándolo en este búfer. El paquete podrá tener hasta 16 KiB, de modo que a la hora de reservar memoria ha de tenerse en cuenta.
cbMaxOutintLa longitud del búfer asignado para pOut, debería ser 16x1024.
pNetAdruint32 *Devuelve la dirección IP a la que es necesario enviar este paquete conforme al orden del host, es decir, 127.0.0.1 == 0x7f000001.
pPortuint16 *Devuelve el puerto a través del cual ha de enviarse este paquete, conforme al orden del host.

Obtiene un paquete que el actualizador del servidor maestro necesita enviar vía UDP en modo GameSocketShare.

NOTA: ¡Esto solo debería llamarse DESPUÉS de llamar a HandleIncomingPacket para cualquier paquete que venga en esta trama!

NOTA: Esta función DEBE llamarse repetidamente para cada trama hasta que devuelva 0 en modo GameSocketShare.

El modo GameSocketShare se puede habilitar cuando se llama a SteamGameServer_Init.

Devuelve: int
La longitud del paquete a enviar, o 0 si no hay más paquetes para enviar esta trama.

GetPublicIP

uint32 GetPublicIP();
Obtiene la IP pública del servidor conforme a Steam.

Sirve cuando el servidor opera tras NAT y quieres publicar su dirección IP en una sala de espera para que otros clientes se conecten directamente.

Devuelve: uint32
La IP pública en el orden del host, es decir, 127.0.0.1 == 0x7f000001.

Devuelve 0 si no se pudo determinar la IP.

GetServerReputation

SteamAPICall_t GetServerReputation();
Obsoleto. Se eliminará en una futura publicación del SDK.

Devuelve: SteamAPICall_t para usar con el resultado de la llamada a GSReputation_t.

GetSteamID

CSteamID GetSteamID();
Obtiene el id. de Steam del servidor de juego.

Devuelve: CSteamID

HandleIncomingPacket

bool HandleIncomingPacket( const void *pData, int cbData, uint32 srcIP, uint16 srcPort );
NombreTipoDescripción
pDataconst void *Los datos del paquete entrante.
cbDataintEl tamaño de pData in bytes.
srcIPuint32Dirección IP a la que se envió este paquete conforme al orden del host, es decir, 127.0.0.1 == 0x7f000001.
srcPortuint16Puerto a través del cual se envió este paquete, conforme al orden del host.

Gestiona un paquete del servidor maestro de Steam en el modo GameSocketShare.

En el modo GameSocketShare, en vez de que ISteamGameServer cree su propio socket para comunicarse con el servidor maestro, permite al juego utilizar el suyo propio para enviar mensajes
de ida y vuelta. Esto evita que tengamos que pedir a los operadores de servidores que abran un puerto más en sus firewalls.

Se debería llamar a esta función cada vez que entre un paquete que comience por 0xFFFFFFFF. Eso significa que es para nosotros.

Los parámetros de IP y puerto se usan cuando se elige multiplexar el socket UDP del servidor de juego, en vez de hacer que el actualizador del servidor maestro utilice sus propios sockets.

Los juegos con motor Source usan esta técnica para simplificar el trabajo de los administradores de servidores, de modo que no tengan que abrir más puertos en sus firewalls.

Solo DESPUÉS DE llamar a esto, debes llamar a GetNextOutgoingPacket.

El modo GameSocketShare se puede habilitar cuando se llama a SteamGameServer_Init.

Devuelve: bool

InitGameServer

bool InitGameServer( uint32 unIP, uint16 usGamePort, uint16 usQueryPort, uint32 unFlags, AppId_t nGameAppId, const char *pchVersionString );
NombreTipoDescripción
unIPuint32Dirección IP a la que se va a realizar el enlace. (Debería ser conforme al orden del host, es decir, 127.0.0.1 == 0x7f000001). Puedes usar INADDR_ANY para enlazar a todas las direcciones IPv4 locales.
usGamePortuint16Puerto al que se conectarán los clientes para jugar.
usQueryPortuint16Puerto que gestionará las tareas relacionadas con el navegador del servidor y los pings de información procedentes de los clientes.
unFlagsuint32Unión de uno o más ServerFlags.
nGameAppIdAppId_tId. de aplicación del juego para el que es este servidor.
pchVersionStringconst char *La cadena de versión suele tener el formato x.x.x.x y el servidor maestro la usa para detectar cuándo está desactualizado el servidor. (Solo se mostrarán los servidores con la versión más reciente).

Inicializa la instancia de ISteamGameServer. Esta es llamada por SteamGameServer_Init y generalmente no será necesario que la llames directamente.

Si pasas MASTERSERVERUPDATERPORT_USEGAMESOCKETSHARE a usQueryPort, entonces la API del servidor de juegos usa el modo "GameSocketShare", lo que significa que el juego es responsable de enviar y recibir paquetes UDP para el actualizador del servidor maestro.

Si se utiliza el modo GameSocketShare, debes usar HandleIncomingPacket y GetNextOutgoingPacket para interactuar con el servidor maestro de Steam.

Devuelve: bool
true si el servidor del juego pudo enlazarse correctamente a la IP o al puerto proporcionados; en caso contrario, false indica un fallo.

LogOff

void LogOff();
Inicia el proceso para desconectar de Steam del servidor del juego.

Devuelve: void
Activa la función callback SteamServerConnectFailure_t.
Activa la función callback SteamServersConnected_t.
Activa la función callback SteamServersDisconnected_t.

LogOn

void LogOn( const char *pszToken );
NombreTipoDescripción
pszTokenconst char *

Comienza el proceso de iniciar sesión en una cuenta persistente del servidor del juego.

Devuelve: void
Activa la función callback SteamServerConnectFailure_t.
Activa la función callback SteamServersConnected_t.
Activa la función callback SteamServersDisconnected_t.


Véase también: LogOnAnonymous

LogOnAnonymous

void LogOnAnonymous();
Inicia sesión en una cuenta genérica y anónima.

Devuelve: void
Activa la función callback SteamServerConnectFailure_t.
Activa la función callback SteamServersConnected_t.
Activa la función callback SteamServersDisconnected_t.


Véase también: LogOn

RequestUserGroupStatus

bool RequestUserGroupStatus( CSteamID steamIDUser, CSteamID steamIDGroup );
NombreTipoDescripción
steamIDUserCSteamIDUsuario cuyo estado de grupo se va a comprobar.
steamIDGroupCSteamIDEl grupo a comprobar.

Comprueba si un usuario está en el grupo de Steam especificado.

Devuelve: bool
Activa la función callback GSClientGroupStatus_t.
true si la llamada se envió correctamente a los servidores de Steam; en caso contrario, false si no estamos conectados a los servidores de Steam o si se proporcionó un usuario o un grupo no válidos.

SendUserConnectAndAuthenticate

bool SendUserConnectAndAuthenticate( uint32 unIPClient, const void *pvAuthBlob, uint32 cubAuthBlobSize, CSteamID *pSteamIDUser );
NombreTipoDescripción
unIPClientuint32Dirección IP del cliente que se conecta. Debería ser conforme al orden del host, es decir, 127.0.0.1 == 0x7f000001.
pvAuthBlobconst void *Los datos de autenticación proporcionados por el usuario al llamar a ISteamUser::InitiateGameConnection.
cubAuthBlobSizeuint32El tamaño de pvAuthBlob en bytes.
pSteamIDUserCSteamID *Devuelve el id. de Steam del usuario. Esto no debería ser NULL.

Gestiona la recepción de una nueva conexión de un usuario de Steam. Pide a los servidores de Steam que validen la identidad del usuario, la propiedad de la aplicación y el estado de VAC.

Si los servidores de Steam no tienen conexión, validará el ticket guardado en la caché, que validará la propiedad de la aplicación y la identidad.

NOTA: Esto es parte de la API de autenticación de usuario antigua y no debe mezclarse con la nueva API.

Devuelve: bool
true si el ticket del usuario pasa comprobaciones básicas; de lo contrario, false.

Si esta llamada se ejecuta correctamente, las funciones callback GSClientApprove_t o GSClientDeny_t te dirán si la autenticación para el usuario se ha ejecutado correctamente o no. El id. de Steam en la función callback coincidirá con el id. devuelto por esta llamada.

SendUserDisconnect

void SendUserDisconnect( CSteamID steamIDUser );
NombreTipoDescripción
steamIDUserCSteamIDId. de Steam del usuario que ha dejado el servidor del juego.

Debería llamarse siempre que un usuario deja el servidor del juego.

Permite a Steam realizar un seguimiento interno de qué usuarios están actualmente en qué servidor con el fin de impedir que una misma cuenta inicie sesión en varios servidores y mostrar quién está en ese momento en el servidor, etc.

NOTA: Esto es parte de la API de autenticación de usuario antigua y no debe mezclarse con la nueva API.

SetBotPlayerCount

void SetBotPlayerCount( int cBotplayers );
NombreTipoDescripción
cBotplayersintNúmero de jugadores bot/IA que están jugando en el servidor.

Establece el número de jugadores bot/IA en el servidor del juego. El valor predeterminado es 0.

SetDedicatedServer

void SetDedicatedServer( bool bDedicated );
NombreTipoDescripción
bDedicatedbool¿Es este un servidor dedicado (true) o un servidor de escucha (false)?

Establece si este es un servidor dedicado o de escucha. El valor predeterminado es servidor de escucha.

NOTA: Esto solo debe configurarse antes de llamar a LogOn o a LogOnAnonymous.

SetGameData

void SetGameData( const char *pchGameData );
NombreTipoDescripción
pchGameDataconst char *El nuevo valor "gamedata" a establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerGameData.

Establece una cadena que define "gamedata" para este servidor. Es opcional, pero, si se establece, permite a los usuarios filtrar según este valor en las interfaces de matchmaking/navegación del servidor.

Suele tener el formato de una lista separada por comas o por punto y coma.

No debe establecerse, salvo que varíe, ya que se transfiere al maestro una única vez, cuando lo verifica.

SetGameDescription

void SetGameDescription( const char *pszGameDescription );
NombreTipoDescripción
pszGameDescriptionconst char *La descripción de tu juego. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerGameDescription.

Establece la descripción del juego. Se recomienda establecer como valor el nombre completo del juego.

NOTA: Esto es necesario para todos los servidores de juego y solo se puede configurar antes de llamar a LogOn o LogOnAnonymous.

SetGameTags

void SetGameTags( const char *pchGameTags );
NombreTipoDescripción
pchGameTagsconst char *El nuevo valor "gametags" a establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerTags.

Establece una cadena que define "gametags" para este servidor. Es opcional, pero, si se establece, permite a los usuarios filtrar según este valor en las interfaces de matchmaking/navegación del servidor.

Suele tener el formato de una lista separada por comas o por punto y coma.

No debe establecerse, salvo que varíe, ya que se transfiere al maestro una única vez, cuando lo verifica.

SetHeartbeatInterval

void SetHeartbeatInterval( int iHeartbeatInterval );
NombreTipoDescripción
iHeartbeatIntervalintEl intervalo entre el envío de señales de monitorización en milisegundos. Suele estar entre 250 y 1000. Usa -1 para indicar el valor predeterminado.

Cambia la frecuencia con que se envían señales de monitorización a los servidores maestros de Steam.

Normalmente, no se necesita.

Véase también: EnableHeartbeats, ForceHeartbeat

SetKeyValue

void SetKeyValue( const char *pKey, const char *pValue );
NombreTipoDescripción
pKeyconst char *
pValueconst char *

Agrega/actualiza un par de reglas clave/valor.

Véase también: ClearAllKeyValues, ISteamMatchmakingServers::ServerRules

SetMapName

void SetMapName( const char *pszMapName );
NombreTipoDescripción
pszMapNameconst char *El nuevo nombre del mapa para establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerMapName.

Establece el nombre del mapa que se quiere informar en el navegador del servidor.

SetMaxPlayerCount

void SetMaxPlayerCount( int cPlayersMax );
NombreTipoDescripción
cPlayersMaxintNuevo número máximo de jugadores permitidos en este servidor.

Establece el número máximo de jugadores permitidos al mismo tiempo en el servidor.

Este valor se puede cambiar en cualquier momento.

SetModDir

void SetModDir( const char *pszModDir );
NombreTipoDescripción
pszModDirconst char *El directorio del juego que se va a establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerGameDir.

Establece el directorio del juego.

Debería ser el mismo directorio donde se instala el juego. Únicamente el nombre de la carpeta, no la ruta completa (p. ej., "Spacewar").

NOTA: Esto se requiere para todos los servidores de juegos y solo se puede establecer antes de llamar a LogOn o LogOnAnonymous.

SetPasswordProtected

void SetPasswordProtected( bool bPasswordProtected );
NombreTipoDescripción
bPasswordProtectedboolActiva (true) o desactiva (false) la protección de contraseña.

Establece si el servidor del juego requerirá una contraseña cuando el usuario intente unirse.

SetProduct

void SetProduct( const char *pszProduct );
NombreTipoDescripción
pszProductconst char *El identificador único para tu juego. No debe ser NULL ni una cadena vacía ("").

Establece el id. de producto del juego. En estos momentos, el servidor maestro lo usa para comprobar la versión.

Se recomienda convertir el id. de la aplicación de juegos a una cadena para esto.

NOTA: Esto se requiere para todos los servidores de juegos y solo se puede establecer antes de llamar a LogOn o LogOnAnonymous.

SetRegion

void SetRegion( const char *pszRegion );
NombreTipoDescripción
pszRegionconst char *

Identificador de región. Es un campo opcional cuyo valor predeterminado es una cadena vacía, lo que representa la región "mundo".

SetServerName

void SetServerName( const char *pszServerName );
NombreTipoDescripción
pszServerNameconst char *El nuevo nombre del servidor para establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerName.

Establece el nombre del servidor tal como aparecerá en el navegador del servidor.

SetSpectatorPort

void SetSpectatorPort( uint16 unSpectatorPort );
NombreTipoDescripción
unSpectatorPortuint16El puerto para que los espectadores se unan.

Establece si el servidor del juego permite espectadores y a qué puerto deben conectarse. El valor predeterminado es 0, lo que significa que el servicio no está en uso.

SetSpectatorServerName

void SetSpectatorServerName( const char *pszSpectatorServerName );
NombreTipoDescripción
pszSpectatorServerNameconst char *El nombre del servidor de espectadores que se va a establecer. No debe ser NULL ni una cadena vacía (""). Esto no puede ser más largo que k_cbMaxGameServerMapName.

Establece el nombre del servidor de espectadores. Solo se utiliza si el puerto de espectadores es distinto de cero.

UserHasLicenseForApp

EUserHasLicenseForAppResult UserHasLicenseForApp( CSteamID steamID, AppId_t appID );
NombreTipoDescripción
steamIDCSteamIDId. de Steam del usuario que envió el ticket de autenticación.
id. de aplicaciónAppId_tId. de aplicación del DLC del que hay que comprobar si es propiedad del usuario.

Comprueba si el usuario posee una parte específica del Contenido descargable (DLC).

Esto solo se puede llamar después de enviar el ticket de autenticación de los usuarios a BeginAuthSession/

Devuelve: EUserHasLicenseForAppResult


Véase también: Autenticación de usuario y propiedad

WasRestartRequested

bool WasRestartRequested();
Comprueba si el servidor maestro nos ha alertado de que el servidor de juego que estamos usando está desactualizado.

Esto vuelve a false después de llamar a esta función.

Devuelve: bool
true si el servidor maestro quiere que este servidor de juegos se actualice y reinicie; de lo contrario, false.

Devoluciones de llamada

Estas son funciones callback que pueden activarse cuando se hace una llamada a SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de ISteamGameServer.

AssociateWithClanResult_t

Se envía cuando el servidor del juego intenta asociarse con un grupo de Steam.

NombreTipoDescripción
m_eResultEResultResultado de la operación. Posibles valores:

Funciones asociadas: AssociateWithClan

ComputeNewPlayerCompatibilityResult_t

Se envía cuando el servidor del juego comprueba si el nuevo jugador puede entrar al servidor en función del sistema de amigos y enemigos.

NombreTipoDescripción
m_eResultEResultResultado de la operación. Posibles valores:
m_cPlayersThatDontLikeCandidateintNúmero de jugadores actuales que no quieren jugar con el jugador especificado.
m_cPlayersThatCandidateDoesntLikeintNúmero de jugadores en el servidor con los que el jugador especificado no quiere jugar.
m_cClanPlayersThatDontLikeCandidateintNúmero de jugadores en el grupo de Steam asociado que no quieren jugar con el jugador.
m_SteamIDCandidateCSteamIDId. de Steam del jugador especificado.

Funciones asociadas: ComputeNewPlayerCompatibility

GSClientAchievementStatus_t

Obsoleto. En su lugar, utilíza ISteamGameServerStats.

NombreTipoDescripción
m_SteamIDuint64Obsoleto
m_pchAchievementchar[128]Obsoleto
m_bUnlockedboolObsoleto

GSClientApprove_t

Se ha aprobado la conexión de un cliente a este servidor de juego.

NombreTipoDescripción
m_SteamIDCSteamIDId. de Steam del usuario que quiere conectarse.
m_OwnerSteamIDCSteamIDId. de Steam del propietario del juego. Será diferente a m_SteamID si se accede al juego a través del préstamo familiar de Steam.

GSClientDeny_t

Se llama cuando se deniega a un usuario la conexión a este servidor de juego.

NombreTipoDescripción
m_SteamIDCSteamIDId. de Steam del usuario que intentó conectarse.
m_eDenyReasonEDenyReasonRazón por la que se rechazó al jugador.
m_rgchOptionalTextchar[128]Mensaje de texto opcional que explica el motivo de la denegación. Normalmente no se utiliza, excepto para el registro.

GSClientGroupStatus_t

Se llama cuando recibimos el estado de grupo de un usuario.

NombreTipoDescripción
m_SteamIDUserCSteamIDUsuario cuyo estado de grupo solicitamos.
m_SteamIDGroupCSteamIDEl grupo que se consultó.
m_bMemberbool¿El usuario es miembro del grupo (true) o no (false)?
m_bOfficerbool¿El usuario es un oficial en el grupo (true) o no (false)? Nunca tendrá valor true si el valor de m_bMember es false.

Funciones asociadas: RequestUserGroupStatus

GSClientKick_t

Se llama cuando el servidor de juego debe expulsar al usuario.

NombreTipoDescripción
m_SteamIDCSteamIDId. de Steam del jugador que se va a expulsar.
m_eDenyReasonEDenyReasonRazón por la que se expulsa al jugador.

GSGameplayStats_t

En desuso: se llama cuando se ha consultado información de estadísticas de juego usando GetGameplayStats.

NombreTipoDescripción
m_eResultEResultResultado de la operación.
m_nRankint32Clasificación general del servidor (desde la posición 0).
m_unTotalConnectsuint32Número total de clientes que se han conectado al servidor.
m_unTotalMinutesPlayeduint32Número total de minutos jugados en el servidor.

Funciones asociadas: GetGameplayStats

GSPolicyResponse_t

Se recibe cuando el servidor de juego solicita aparecer como seguro (protegido mediante VAC).

NombreTipoDescripción
m_bSecureuint8¿El servidor está configurado ahora como seguro (true) o inseguro (false)?

GSReputation_t

Obsoleto. Se usa cuando se consulta la reputación del servidor del juego.

Las prohibiciones del servidor maestro son por IP, por lo que se puede prohibir incluso cuando la puntuación es buena si hay un servidor defectuoso en otro puerto.
Esta información se puede utilizar para determinar qué servidor es malo.

NombreTipoDescripción
m_eResultEResultResultado de la operación.
m_unReputationScoreuint32Puntuación de reputación del servidor de juego.
m_bBannedbool¿Se ha bloqueado el servidor desde los servidores maestros de Steam (true) o no (false)?
m_unBannedIPuint32IP del servidor bloqueado. Solo se establece si m_bBanned es true.
m_usBannedPortuint16Puerto del servidor bloqueado. Solo se establece si m_bBanned es true.
m_ulBannedGameIDuint64Id. del juego al que sirve el servidor bloqueado. Solo se establece si m_bBanned es true.
m_unBanExpiresuint32Momento en que termina el bloqueo, expresado en formato de tiempo Unix (segundos transcurridos desde el 1 de enero de 1970). Solo se establece si m_bBanned es true.

Funciones asociadas: GetServerReputation

Constantes

Estas son constantes definidas para usarse con ISteamGameServer.

NombreTipoValorDescripción
k_unServerFlagActiveuint320x01El servidor de juego tiene usuarios que están jugando.
k_unServerFlagDedicateduint320x04Este servidor de juego es dedicado.
k_unServerFlagLinuxuint320x08El servidor de juego se ejecuta en Linux.
k_unServerFlagNoneuint320x00El servidor de juego no tiene marcas.
k_unServerFlagPasswordeduint320x10El servidor de juego está protegido por contraseña.
k_unServerFlagPrivateuint320x20Este servidor de juegos no debe aparecer en la lista del servidor maestro y no impondrá la autenticación de los usuarios que se conectan al servidor.
Esto es útil cuando ejecutas un servidor donde los clientes pueden no estar conectados a Internet, pero deseas que les permitan jugar (es decir, LAN).
k_unServerFlagSecureuint320x02Este servidor de juego quiere estar protegido por VAC.
MASTERSERVERUPDATERPORT_USEGAMESOCKETSHAREint((uint16)-1)Se usa con SteamGameServer_Init para habilitar el modo GameSocketShare.
STEAMGAMESERVER_INTERFACE_VERSIONconst char *"SteamGameServer012"