Fornisce accesso ai metodi della lobby di Steam.
NOTA: questa è un interfaccia di servizio. I metodi devono essere chiamati utilizzando il parametro
input_json
.
Per ulteriori informazioni sull'API web di Steamworks, consulta la seguente documentazione:
Panoramica sull'API web.
CreateLobby
POST https://partner.steam-api.com/ILobbyMatchmakingService/CreateLobby/v1/
Nome | Tipo | Necessario | Descrizione |
key | string | ✔ | Chiave di autenticazione dell'utente per l'API web di Steamworks. |
appid | uint32 | ✔ | L'ID dell'applicazione associata alla lobby. |
max_members | int32 | ✔ | Numero massimo di membri per questa lobby. |
lobby_type | int32 | ✔ | ELobbyType - Il tipo e la visibilità di questa lobby. |
lobby_name | string | | Nome unico della lobby se lobby_type è 4. Trova la lobby con questo nome, se esiste. |
input_json | string | | Dati nel formato JSON. Richiesto per dati che non possono essere parametri pubblicati, ma può essere utilizzato anche per gli altri parametri. |
steamid_invited_members | matrice di uint64 | ✔ | Matrice degli ID di Steam per cui aggiungere slot. Deve essere specificato nel parametro input_json . |
lobby_metadata | message | | Dati opzionali della lobby. Da specificare nel parametro input_json . |
Struttura della proprietà
lobby_metadata
:
Nome | Tipo | Necessario | Descrizione |
key_name | string | | Nome della chiave |
key_value | string | | Valore della chiave |
Quando utilizzi l'API web CreateLobby, ti consigliamo di usare il valore 4 per lobby_type (k_ELobbyTypePrivateUnique). Questo è un tipo di lobby privato e unico che non viene eliminato quando i giocatori ne escono. Solo una di queste lobby esisterà per ogni appid/lobby_name unici. Le lobby private uniche possono essere create solo tramite questa chiamata dell'API web, ma puoi anche usare CreateLobby per generare le tradizionali lobby temporanee che non utilizzano alcun lobby_name.
Steamid_invited_members sarà una matrice json di tutti gli ID di Steam che sono al momento consentiti all'interno della lobby. Puoi aggiornare la lista dei membri chiamando CreateLobby con lo stesso lobby_name e un nuovo insieme completo di ID di Steam. Gli ID di Steam precedentemente presenti nella lobby e non inclusi nella nuova chiamata saranno rimossi dalla lobby.
Lobby_metadata è completamente opzionale, ma può essere utilizzato per inviare dati generici sulla lobby che devono essere comunicati agli utenti tramite il client.
Esempio di parametri:{
"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" }
]
}
Risposta: -
response
-
success
: se il metodo è riuscito, restituisce "true".
-
appid
- AppID per cui è stata creata la lobby.
-
steamid_lobby
- L'ID della lobby.
RemoveUserFromLobby
POST https://partner.steam-api.com/ILobbyMatchmakingService/RemoveUserFromLobby/v1/
Nome | Tipo | Necessario | Descrizione |
key | string | ✔ | Chiave di autenticazione dell'utente per l'API web di Steamworks. |
appid | uint32 | ✔ | L'ID dell'applicazione associata alla lobby. |
steamid_to_remove | uint64 | ✔ | L'Id di Steam dell'utente da rimuovere. Se l'utente non è online al momento della chiamata, rimuoverà lo slot a lui riservato nella lobby. |
steamid_lobby | uint64 | ✔ | ID della lobby |
input_json | string | | Dati nel formato JSON. Richiesto per dati che non possono essere parametri pubblicati, ma può essere utilizzato anche per gli altri parametri. |
NOTA: per questo metodo, la chiamata richiede una chiave API da editore. La chiamata API
DEVE arrivare da un server protetto e non può mai essere effettuata dai client!
GetLobbyData
GET https://partner.steam-api.com/ILobbyMatchmakingService/GetLobbyData/v1/
Nome | Tipo | Richiesto | Descrizione |
key | string | ✔ | Chiave di autenticazione dell'utente per l'API web di Steamworks. |
appid | uint32 | ✔ | L'ID dell'applicazione associata alla lobby. |
steamid_lobby | uint64 | ✔ | ID della lobby. |
GetLobbyData restituirà i dati di qualsiasi lobby e l'elenco dei membri per l'ID della lobby.
NOTA: per questo metodo, la chiamata richiede una chiave API da editore. La chiamata API
DEVE arrivare da un server protetto e non può mai essere effettuata dai client!
Risposta di esempio:{
"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" }
]
}
]
}
}