Steamin tavaraluettopalvelut ovat sarja ominaisuuksia, joiden avulla peli voi säilyttää pelaajan esineitä ilman pelaajien tai esineiden hallinnointiin tarvittavan palvelimen perustamista.
Jätäthän meille palautetta tai kysy kysymyksiä Steamworks-kehittäjäryhmän
Steam-tavaraluettelokeskustelussa.
Kuvaus
Tavaraluettelopalvelua voidaan käyttää kahdella tavalla: joko ilman palvelinta tai luotetulla palvelimella, joka pysyy perillä pelin tilasta.
Pelisovellus voi ilman pelipalvelinta kommunikoida suoraan Steam-palvelun kanssa ja noutaa käyttäjien tavaraluettelosisältöjä, 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 avaimet), et voi antaa käyttäjille tiettyjä kohteita tässä mallissa. Kannattaa mieluummin valita tiettyjä esineitä jaettaviksi, 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ä sisäistä "Client API Key"-avainta, jota pidetään lähtökohtaisesti epäluotettavana.
Jos sinulla on osallistuva, luotettu palvelin, voit käyttää etuoikeutettua Steam API -avainta palvelimessa ja myöntää valikoituja esineitä sopivissa tilanteissa. On edelleen tärkeää muistaa, ettei asiakkaisiin voi luottaa, joten voit tehdä tämän 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 palvelemiseksi.
https://www.youtube.com/watch?v=jDfhPTSOLisToteutuksen yleiskatsaus
- Luo esinemääritykset
Aloita luomalla ja lataamalla esinemäärityksiä (ItemDefs).
Nämä 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, jossa 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äjien tavaraluettelo
Anna pelisovelluksen ladata käyttäjien tavaraluettelopalvelu suorittamalla ISteamInventory::GetAllItems-kutsu.
Tämä on hyvä tehdä säännöllisesti siltä varalta, että käyttäjä on lisännyt kohteita vaihtamalla tai ostamalla niitä.
Pelistäsi riippuen saattaa olla tarpeen tehdä tarkistus kunkin pelin tai tason alussa.
- Myönnä testikohteita
Lisää tiettyjä esineitä nykyisten käyttäjien tileille kehittämistarkoituksia varten suorittamalla ISteamInventory::GenerateItems -kutsu.
- Myönnä käyttäjälle esinelöytö peliajan perusteella (valinnainen)
Tarkista sopivin välein (yleensä ottelun/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:
ISteamInventoryWww-ohjelmointirajapinnat
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 esineitä.
- BuyItem – Voidaan käyttää yksittäisen esineen ostamiseen Steamin kautta.