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 API web de Steamworks, consulta el
Descripción general de la API web.
CreateLobby
POST https://partner.steam-api.com/ILobbyMatchmakingService/CreateLobby/v1/
Nombre | Tipo | Requerido | Descripción |
clave | string | ✔ | Clave de autenticación de usuario de la Web API de Steamworks. |
appid | uint32 | ✔ | El id. de la aplicación asociada con la sala. |
max_members | int32 | ✔ | Número máximo de miembros para esta sala. |
lobby_type | int32 | ✔ | ELobbyType - El tipo y la visibilidad de esta sala. |
lobby_name | string | | Nombre único de la sala, si es lobby_type = 4. Encontrar sala con este nombre si existe. |
input_json | string | | Json data. Requerido para datos que no sean parámetros publicados, pero también se puede usar para el resto de los parámetros |
steamid_invited_members | vector de uint64 | ✔ | Vector de steamIDs para los que añadir espacios. Debe especificarse en el parámetro input_json . |
lobby_metadata | message | | Datos de sala opcionales. Debe especificarse en el parámetro input_json . |
Estructura de la propiedad
lobby_metadata
:
Nombre | Tipo | Requerido | Descripción |
key_name | string | | Nombre de la clave |
key_value | string | | Valor 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/
Nombre | Tipo | Requerido | Descripción |
clave | string | ✔ | Clave de autenticación de usuario de la Web API de Steamworks. |
appid | uint32 | ✔ | El id. de la aplicación asociada con la sala. |
steamid_to_remove | uint64 | ✔ | El SteamID del usuario para eliminar. Si el usuario no está conectado cuando se le llame, esto eliminará su espacio reservado en la sala. |
steamid_lobby | uint64 | ✔ | Id. de la sala. |
input_json | string | | datos de Json. Requerido 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. Por tanto, 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/
Nombre | Tipo | Requerido | Descripción |
key | string | ✔ | Clave de autenticación de usuario de la Web API de Steamworks. |
appid | uint32 | ✔ | El id. de la aplicación asociada con la sala. |
steamid_lobby | uint64 | ✔ | Id. 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. Por tanto, esta API
DEBE llamarse desde un servidor seguro, ¡y los clientes jamás pueden usarla directamente!
Respuesta de ejemplo:{
"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" }
]
}
]
}
}