提供 Steam 大厅方法的访问权限。
注意:这是服务接口,此接口中的方法应使用
input_json
参数调用。
请参见
Web API 概览,对如何使用 Steamworks Web API 了解更多。
CreateLobby
POST https://partner.steam-api.com/ILobbyMatchmakingService/CreateLobby/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
appid | uint32 | ✔ | 与大厅相关联的应用程序的 ID。 |
max_members | int32 | ✔ | 该大厅的成员数上限。 |
lobby_type | int32 | ✔ | ELobbyType - 该大厅的类型与可见性。 |
lobby_name | string | | 独一无二的大厅名称(如果 lobby_type = 4 的话)。 如果存在具有此名称的大厅,找到该大厅。 |
input_json | string | | Json data。 对于不能是发布的参数的数据而言,必须使用,但也可用于其他参数。 |
steamid_invited_members | array of uint64 | ✔ | 要为其添加空位的一列 steamID。 必须在 input_json 参数中指定。 |
lobby_metadata | message | | 可选大厅数据。 必须在 input_json 参数中指定。 |
lobby_metadata
属性的结构:
名称 | 类型 | 是否必需 | 描述 |
key_name | string | | 键名称 |
key_value | string | | 键值 |
使用 CreateLobby Web API 时,您可能需要将 lobby_type 设为 4(k_ELobbyTypePrivateUnique)。 该大厅类型为私人、独一无二的的大厅,清空后并不会删除,每个独一无二的 appid/lobby_name 只有一个大厅。 独一无二的私人大厅只能由此 WebAPI 调用创建。 但您也可以在不使用 lobby_name 时,用 CreateLobby 来生成更为传统、存在时间较短的大厅,
Steamid_invited_members 将会是 json 格式的数组,囊括了所有当前应该被允许加入该大厅的 steamID。 您可以使用同一个 lobby_name 及一组全新 steamID 调用 CreateLobby,以更新成员列表。 任何之前位于大厅中,但不包含在新调用中的 steamID 将会从大厅中移除。
Lobby_metadata 完全是可选的,但它可以用来发送需要在客户端中向用户传达的一般性大厅数据。
参数示例:{
"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" }
]
}
响应: -
response
-
success
- 如果方法成功,为 true。
-
appid
- 为其创建大厅的 AppID。
-
steamid_lobby
- 大厅 ID。
RemoveUserFromLobby
POST https://partner.steam-api.com/ILobbyMatchmakingService/RemoveUserFromLobby/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
appid | uint32 | ✔ | 与大厅相关联的应用程序的 ID。 |
steamid_to_remove | uint64 | ✔ | 要移除的用户的 SteamID。 如果调用时该用户不在线,将会移除其在大厅中保留的空位。 |
steamid_lobby | uint64 | ✔ | Lobby ID |
input_json | string | | Json data。 对于不能是已发布的参数的数据而言,必须使用,但也可用于其他参数。 |
注意:此调用需要一个发行商 API 密钥才能使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
GetLobbyData
GET https://partner.steam-api.com/ILobbyMatchmakingService/GetLobbyData/v1/
名称 | 类型 | 是否必需 | 描述 |
key | string | ✔ | Steamworks Web API 用户验证密钥。 |
appid | uint32 | ✔ | 与大厅相关联的应用程序的 ID。 |
steamid_lobby | uint64 | ✔ | 大厅 ID。 |
GetLobbyData 将会返回该大厅 ID 下的任何大厅数据及成员列表。
注意:此调用需要一个发行商 API 密钥才能使用此方法。 因此,此 API
必须通过安全服务器调用,且绝不能由客户端直接调用!
响应示例:{
"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" }
]
}
]
}
}