Sitoutumaton

Etusivu Dokumentaatio & ohje
Steamworks-dokumentaatio
Steamin tavaraluettelopalvelu
Steamin tavaraluettelopalvelu on sarja ominaisuuksia, joiden avulla peli voi ottaa käyttöön pysyvät pelaajien tavaraluettelot ilman erityisiä pelaajien tai esineiden hallinnointiin tarvittavia palvelimia.

Jätäthän meille palautetta tai kysy kysymyksiä Steam-tavaraluettelokeskustelussa Steamworks-kehittäjäryhmässä.

Kuvaus

Tavaraluettelopalvelua voidaan käyttää kahdella tavalla: joko ilman palvelinta tai luotetulla palvelimella, joka pysyy perillä pelin tilasta.

Ilman pelipalvelinta pelisovellus voi 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ää kutsua ISteamInventory::TriggerItemDrop. 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.
  3. Määritä elementtipalvelimen tunnus
    Luo ensin julkaisijan Web API -avain sovelluksellesi (ohjeet: Creating a Publisher Web API Key) ja lisää se Steam-talouden asetusten Elementtipalvelimen tunnus -kenttään.
  4. Lataa käyttäjien tavaraluettelo
    Anna pelisovelluksen ladata käyttäjien tavaraluettelopalvelu suorittamalla kutsu ISteamInventory::GetAllItems.
    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 kutsu ISteamInventory::GenerateItems.
  6. Myönnä käyttäjälle esinelöytö peliajan perusteella (valinnainen)
    Tarkista sopivin välein (yleensä ottelun/vaiheen loputtua) suorittamalla kutsu ISteamInventory::TriggerItemDrop, 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 API-ohjeessa täällä: ISteamInventory

Web APIt

Steamin tavaraluettelon Web APIen dokumentaatio on saatavilla Web API -ohjeessa täällä: IInventoryService

Verkkotoiminnot

Nämä ovat jäsennettyjä verkkosivuja, joihin voit uudelleenohjata käyttäjän.
  • ItemCart – Voidaan käyttää, kun lähetetään ostoskorillinen Steamin kautta ostettavia esineitä.
  • BuyItem – Voidaan käyttää yksittäisen esineen ostamiseen Steamin kautta.