Documentación de Steamworks
Interfaz de ILobbyMatchmakingService
Proporciona acceso a los métodos de salas de Steam.

NOTA: Esta es una interfaz de servicio, los métodos en esta interfaz deben llamarse con el parámetro input_json.

Para obtener más información sobre cómo utilizar la Web de API de Steamworks, consulta: Descripción general de la Web de API.

CreateLobby

POST https://partner.steam-api.com/ILobbyMatchmakingService/CreateLobby/v1/
NombreTypeObligatorioDescription
propietariostringClave de autenticación de usuario de la Web de API de Steamworks.
appiduint32El id. de la aplicación asociada con la sala.
max_membersint32Número máximo de miembros para esta sala.
lobby_typeint32ELobbyType - El tipo y la visibilidad de esta sala.
lobby_namestringNombre único de la sala, si es lobby_type = 4. Encontrar sala con este nombre si existe.
input_jsonstringJson data. Obligatorio para datos que no sean parámetros publicados, pero también se puede usar para el resto de los parámetros
steamid_invited_membersvector de uint64Vector de steamIDs para los que agregar espacios. Debe especificarse en el parámetro input_json.
lobby_metadatamessageDatos opcionales de sala. Debe especificarse en el parámetro input_json.

Estructura de la propiedad lobby_metadata:
NombreTipoObligatorioDescripción
key_namestringNombre de la clave
key_valuestringValor de la clave

Cuando uses la WebAPI CreateLobby, deberías establecer lobby_type como 4 (k_ELobbyTypePrivateUnique). Este tipo de sala es privada, una sala única que no se elimina al vaciarse, solo existirá una por cada appid/lobby_name único. Solo se puede crear una sala única privada con esta llamada de WebAPI. Pero puedes usar también CreateLobby para generar las salas más tradicionales y efímeras que se dan cuando no se usa lobby_name.

Steamid_invited_members será un vector de json con todos los steamIDs para los que se permitiría el acceso simultáneo a una sala. Puedes actualizar la lista de miembros si llamas a CreateLobby con el mismo lobby_name y un grupo completo y nuevo de steamIDs. Los steamIDs que estaban anteriormente en la sala pero no están incluidos en la nueva llamada serán eliminados de la sala.

Lobby_metadata es completamente opcional, pero se puede usar para enviar datos de la sala que necesitan transmitirse a los usuarios vía su cliente.

Parámetros de ejemplo:
{ "max_members": 100, "appid": 480, "lobbytype": 4, "steamid_invited_members": [], "lobby_name" : "guild_chat_1138", "lobby_metadata": [ { "key_name" : "motd", "key_value" : "Raid at 5 PM" }, { "key_name" : "clan_id", "key_value" : "1138" }, { "key_name" : "lobbyproperty", "key_value" : "otherproperty" } ] }

Respuesta:
  • respuesta
    • success - True si el método fue exitoso.
    • appid - Id. de aplicación para el que se creó la sala.
    • steamid_lobby: El Id. de la sala.

RemoveUserFromLobby

POST https://partner.steam-api.com/ILobbyMatchmakingService/RemoveUserFromLobby/v1/
NombreTipoObligatorioDescripción
keystringClave de autenticación de usuario de la Web de API de Steamworks.
appiduint32El id. de la aplicación asociada con la sala.
steamid_to_removeuint64El SteamID del usuario a eliminar. Si el usuario no está conectado cuando se le llame, esto eliminará su espacio reservado en la sala.
steamid_lobbyuint64Id. de la sala.
input_jsonstringdatos de Json. Obligatorio para datos que no sean parámetros publicados, pero también se puede usar para el resto de los parámetros

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE llamarse desde un servidor seguro, ¡y los clientes jamás pueden usarla directamente!

GetLobbyData

GET https://partner.steam-api.com/ILobbyMatchmakingService/GetLobbyData/v1/
NombreTipoObligatorioDescripción
keystringClave de autenticación de usuario de la Web de API de Steamworks.
appiduint32El id. de la aplicación asociada con la sala.
steamid_lobbyuint64Id. de la sala.

GetLobbyData devolverá los datos de sala y la lista de miembros del id. de sala.

NOTA: Esta llamada requiere una clave de API de editor para utilizar este método. Como tal, esta API DEBE llamarse desde un servidor seguro, ¡y los clientes jamás pueden usarla directamente!

Ejemplo de respuesta:
{ "response": { "appid": 480, "lobby_type": 2, "steamid_owner": "76561197984069643", "lobby_metadata": [ { "key_name": "name", "key_value": "Olive's lobby" }, { "key_name" : "motd", "key_value" : "Raid at 5 PM" } ], "members": [ { "steamid": "76561197984069643", "member_metadata": [ { "key_name": "ready", "key_value": "1" }, { "key_name": "role", "key_value": "captain" } ] }, { "steamid": "76561197985812219", "member_metadata": [ { "key_name": "role", "key_value": "weapons" } ] } ] } }