Steamworks-dokumentaatio
Steamin tavaraluettelopalvelu
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=jDfhPTSOLis

Toteutuksen yleiskatsaus

  1. 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/
  2. 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ä.
  3. 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.
  4. 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.
  5. Myönnä testikohteita
    Lisää tiettyjä esineitä nykyisten käyttäjien tileille kehittämistarkoituksia varten suorittamalla ISteamInventory::GenerateItems -kutsu.
  6. 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.
  7. 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: ISteamInventory

Www-ohjelmointirajapinnat

Steamin tavaraluettelon Web APIen dokumentaatio on saatavilla www-ohjelmointirajapintaohjeesta: IInventoryService

Verkkotoiminnot

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.