Steamin tavaraluettelopalvelu on sarja ominaisuuksia, joiden avulla peli voi säilyttää pelaajan esineitä ilman pelaajien tai esineiden hallinnointiin tarvittavan palvelimen perustamista.
Palautetta tai kysymyksiä voi lähettää Steamworks-kehittäjäryhmän
Steam-tavaraluettelokeskusteluun.
Kuvaus
Tavaraluettelopalvelua voidaan käyttää kahdella tavalla: joko ilman palvelinta tai luotetulla palvelimella, joka on perillä pelin tilasta.
Pelisovellus voi ilman pelipalvelinta kommunikoida suoraan Steam-palvelun kanssa ja noutaa käyttäjien tavaraluettelosisältöä, käyttää ja vaihtaa esineitä sekä vastaanottaa peliajan perusteella jaettavia uusia esineitä. Käyttäjät voivat myös ostaa esineitä suoraan esinekaupasta tai Steam-yhteisön vaihtomarkkinoilta.
Mutta koska sovellukseen ei voi luottaa (ja hyökkääjä voi aina siepata sovelluksen tunnukset), et voi antaa käyttäjille tiettyjä tuotteita tässä mallissa. Kannattaa mieluummin valita tiettyjä tuotteita esinelöydöiksi ja määrittää, miten usein niitä annetaan. Sopivilla hetkillä pelisovellus käyttää
ISteamInventory::TriggerItemDrop-kutsua. Steam-palvelimet hallitsevat peliaikaa ja esineiden myöntämistä pelaajille. Näitä ohjelmointirajapintoja kutsutaan käyttämällä asiakasohjelman sisäistä API-avainta (Client API Key), jota pidetään lähtökohtaisesti epäluotettavana.
Jos sinulla on osallistuva, luotettu palvelin, voit käyttää etuoikeutettua Steam API -avainta palvelimella ja myöntää valikoituja esineitä sopivissa tilanteissa. Kannattaa muistaa, ettei asiakassovellukseen voi luottaa, joten tämän voi tehdä vain, jos palvelin hallitsee pelin tilaa.
Tavaraluettelopalvelua käyttäessäsi voit myydä yksittäisen esineen tai ostoskorillisen esineitä joko
pelin sisällä tai verkkopohjaisen
kaupan kautta.
Steam Dev Days 2016 -tapahtuman esityksessä kerrotaan yleistä toteutuksesta, tavaraluettelopalvelun ratkaisemista kehittäjien ongelmista ja havainnollistetaan, miten kumppanit käyttävät jo järjestelmää asiakkaiden eduksi.
https://www.youtube.com/watch?v=jDfhPTSOLisToteutuksen yleiskatsaus
- Luo esinemääritykset
Aloita luomalla ja lataamalla esinemäärityksiä (ItemDefs).
Ne kuvaavat, mitkä esineet ovat pelissäsi mahdollisia. Sinun ei tarvitse käyttää niitä itse pelin kautta, mutta Steam tarvitsee ne, jotta se pystyy näyttämään tavaraluettelon oikein. Jotta voit luoda ItemDefs-määrityksiä, siirry Steamworksin määritysosion Steam-tavaraluettelo-osioon. Pääset sinne seuraavasta osoitteesta: https://partner.steamgames.com/apps/inventoryservice/
- Ota tavaraluettelopalvelu käyttöön
Kun sinulla on esinemääritykset, valitse Ota tavaraluettelopalvelu käyttöön -vaihtoehto sivulla, jolla latasit esinemääritykset. Huomaa, että kun esineesi näkyvyys on määritetty yksityiseksi Steam-talouden asetuksissa, vain Steamworksin kumppanuusryhmässä olevat tilit voivat nähdä esineesi pelissä.
- Määritä elementtipalvelimen tunnus
Luo ensin julkaisijan Web API -avain sovelluksellesi (ohjeet: Julkaisijan Web API -tunnuksen luominen) ja lisää se Steam-talouden asetusten Elementtipalvelimen tunnus -kenttään.
- Lataa käyttäjän tavaraluettelo
Pyydä peliohjelmaa lataamaan käyttäjän tavaraluettelo kutsulla ISteamInventory::GetAllItems.
On yleensä hyvä tehdä tämä säännöllisesti siltä varalta, että käyttäjä on lisännyt tuotteita vaihtokaupan tai ostoksen avulla.
Pelikohtaisesti saattaa olla tarpeen tehdä tarkistus kunkin pelin tai tason alussa.
- Myönnä testituotteita
Lisää tiettyjä tuotteita nykyisten käyttäjien tileille kehittämistarkoituksia varten kutsulla ISteamInventory::GenerateItems.
- Myönnä käyttäjälle esinelöytö peliajan perusteella (valinnainen)
Tarkista sopivin väliajoin (yleensä ottelun tai vaiheen loputtua) ISteamInventory::TriggerItemDrop-kutsulla, onko käyttäjä ansainnut uuden esinelöydön.
- Myy esineitä (valinnainen)
Jos haluat lisätä mikromaksutuen, määritä ItemDefs-määrityksissä hinnat. Käyttäjät voivat ostaa esineitä muutamalla eri tavalla.
APIt
Steamin tavaraluettelopalvelun API-dokumentaatio on saatavilla ohjelmointirajapintaohjeesta:
ISteamInventoryWeb APIt
Steamin tavaraluettelon Web APIen dokumentaatio on saatavilla www-ohjelmointirajapintaohjeesta:
IInventoryServiceVerkkotoiminnot
Nämä ovat jäsennettyjä verkkosivuja, joihin voit uudelleenohjata käyttäjän.
- Ostoskori – Voidaan käyttää, kun lähetetään ostoskorillinen Steamin kautta ostettavia tuotteita.
- BuyItem – Voidaan käyttää yksittäisen tuotteen ostamiseen Steamin kautta.