Documentazione di Steamworks
Interfaccia ILobbyMatchmakingService
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/
NomeTipoNecessarioDescrizione
keystringChiave di autenticazione dell'utente per l'API web di Steamworks.
appid uint32L'ID dell'applicazione associata alla lobby.
max_membersint32Numero massimo di membri per questa lobby.
lobby_typeint32ELobbyType - Il tipo e la visibilità di questa lobby.
lobby_namestringNome unico della lobby se lobby_type è 4. Trova la lobby con questo nome, se esiste.
input_jsonstringDati nel formato JSON. Richiesto per dati che non possono essere parametri pubblicati, ma può essere utilizzato anche per gli altri parametri.
steamid_invited_membersmatrice di uint64Matrice degli ID di Steam per cui aggiungere slot. Deve essere specificato nel parametro input_json.
lobby_metadatamessageDati opzionali della lobby. Da specificare nel parametro input_json.

Struttura della proprietà lobby_metadata:
NomeTipoNecessarioDescrizione
key_namestringNome della chiave
key_valuestringValore 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/
NomeTipoNecessarioDescrizione
keystringChiave di autenticazione dell'utente per l'API web di Steamworks.
appid uint32L'ID dell'applicazione associata alla lobby.
steamid_to_removeuint64L'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_lobbyuint64ID della lobby
input_jsonstringDati 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/
NomeTipoRichiestoDescrizione
keystringChiave di autenticazione dell'utente per l'API web di Steamworks.
appid uint32L'ID dell'applicazione associata alla lobby.
steamid_lobbyuint64ID 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" } ] } ] } }