Steamworks-dokumentaatio
Steam-talous

Yleiskatsaus

Kutsumme Steam-taloudeksi ominaisuuksia, joiden avulla useista peleistä peräisin olevat pelinsisäiset esineet voivat toimia samassa Steamin jaetussa järjestelmässä. Steam-talouden pelinsisäisiä kohteita voi ostaa mikromaksuilla, ansaita Steam-saavutuksilla, saada erilaisten kampanjoiden yhteydessä ja toimittaa pelinsisäisesti. Käyttäjät voivat nähdä pelinsisäiset tavaraluettelonsa Steam-yhteisössä, linkittää esineitä chat-istunnoissa ja vaihtaa niitä muiden käyttäjien kanssa. Steam hallinnoi ominaisuuksia ja tarjoaa niille käyttöliittymän, mutta jättää esineet täysin pelin hallittaviksi.

Steam-talouden pelinsisäisiä esineitä kutsutaan elementeiksi. Ne voivat olla mitä tahansa, mitä käyttäjä omistaa pelissä. Esimerkiksi laitteet, ajoneuvot, hahmot, lemmikkieläimet, esineiden luontiohjeet jne. Peli kertoo Steamille, miten elementti näytetään käyttäjälle, mutta elementin varsinainen toiminta riippuu pelistä. Peli on myös vastuussa siitä, että se seuraa jokaisen käyttäjän omistamia elementtejä ja ilmoittaa tiedot sekä käyttäjille että Steamin tuen edustajille. Lisäksi peli määrittää, mitkä elementit ovat vaihdettavissa, mitä tallennustilan rajoituksia käyttäjille on sekä antaa Steamin tuelle tietoja kaikista edellä mainituista asioista.

Pelit hallitsevat näitä toimintoja ottamalla käyttöön Steam Asset -ohjelmointirajapinnan. Verkko-ohjelmointirajapintakokoelma mahdollistaa Steamin näkyvyyden taustajärjestelmälle. Alla on Steam Asset -ohjelmointirajapinnan täysi dokumentaatio.

Vaatimukset

Pelin lisääminen Steam-talouteen edellyttää muutamien vaatimusten täyttämistä.

  • Pelillä tulee olla elementtien taustajärjestelmä, jota ei ole tallennettu pelisovellukseen. Edellytyksenä on palvelinkeskuksessa ylläpidettävä tietokanta. Palvelinkeskuksen voi omistaa julkaisija tai kehittäjä, tai sen voi tarjota käyttöön pilvipalvelun tarjoaja. Steam tarjoaa ilmaisen tavaraluettelopalvelun, jota voidaan käyttää pelin elementtien jatkuvana tallennustilana.
  • Pelin on määritettävä joukko kontekstitunnuksia, jotka määrittävät säilöt, joissa käyttäjä voi säilyttää elementtejä.
  • Jokaisen pelin on tarjottava pysyvä 64-bittinen tunnus kullekin elementille, joka voidaan vaihtaa toisen käyttäjän kanssa. Elementtitunnuksen tulee olla yksilöllinen vähintään siinä sisällössä, jossa elementti sijaitsee.
  • Pelin on tarjottava tavaraluettelokuvakkeet kaikille pelinsisäisille elementeille verkkopalvelimen kautta. Näiden kuvakkeiden tulisi olla 96 x 96- ja 200 x 200 -kokoisia sekä jpg-, png- tai gif -tiedostomuodoissa. Steam tarjoaa tarvittavan kaistanleveyden kuvien näyttämiseksi käyttäjille.
  • Pelin tulee ottaa käyttöön ainakin alla näkyvät Steam-vaihtamisen sisältämät metodit.
  • Pelin tulee ottaa käyttöön myös tukityökalujen integraation metodit.

Jatka lukemista vain...

...jos aiot luoda oman elementtien seurantapalvelun. Dokumentin loppuosassa kuvataan vaadittua verkko-ohjelmointirajapintaa.
Jos aiot käyttää Steamin tavaraluettelopalvelua, sinun ei tarvitse lukea pidemmälle.

Steam-vaihtaminen

Steamin vaihtojärjestelmässä käytetään verkkokäyttöliittymää, jolla tehdään vaihtoja ja tarkastellaan tavaraluetteloita. Nämä sivut luodaan GetContexts-, GetContextContents-, GetAssetClass- ja GetAssetClassInfo-metodien tuloksista elementtien ohjelmointirajapinnassa. Kun kummatkin käyttäjät ovat vahvistaneet vaihdon, kolmivaiheinen vahvistus tehdään kaikissa vaihtoon liittyvissä peleissä. Kolmivaiheisen vahvistuksen koko vahvistus- ja palautuslogiikka käsitellään Steamin talouspalvelimessa. Se saa aikaan omistajuuden muutokset peleissä TradeSetUnowned- ja TradeSetOwned-metodien avulla.
GETGetContexts/v0001Tämä palauttaa käyttäjän kontekstilistan.
GETGetContextContents/v0001Tämä palauttaa käyttäjän elementtien elementtiluokan sekä vaihdon yhteydessä tai Steamissä näkyvän valuutan.
GETGetAssetClass/v0001 Palauttaa elementtilistan luokan ja omistajaluettelon näytettäväksi vaihdon yhteydessä tai Steam-yhteisössä.
GETGetAssetClassInfo/v0001Palauttaa käyttäjän näytöllä näkyvät tiedot yksittäiselle elementtiluokalle.
POSTTradeSetUnowned/v0001Tätä kutsutaan, kun talouspalvelin haluaa pelin poistavan käyttäjältä elementin tai valuutan.
POSTTradeSetOwned/v0001Tätä kutsutaan, kun talouspalvelin haluaa, että peli siirtää käyttäjän omistuksen elementin, jota ei ole omistettu.

Tukityökalun integrointi

Tukityökalu on järjestelmä, jonka avulla Steamin tuki ratkoo käyttäjän elementeissä ilmeneviä ongelmia (ja muita tiliin liittyviä ongelmia Steamissä). Kun ohjelmointirajapinnat ovat käytössä, tukityökalun kummatkin muodot pääsevät käyttämään pelin elementtejä.

Tukityökalu pääsee Steam-talouden peleihin kahdelta sivulta: Talous- ja Historia -sivuilta. Talous-sivu on vuorovaikutuksessa kontekstin kanssa GetContextContents- ja GetAssetClassInfo-metodeilla. Historia-sivu käyttää GetUserHistory-, GetHistoryCommandDetails- ja HistoryExecuteCommands-metodeja. Kummatkin sivut näyttävät elementtitiedot SupportGetAssetHistory-metodin tuloksista. Steamin tuki voi tehdä ContextCommand-metodilla kontekstitason ja elementtitason toimintoja.
POSTContextCommand/v0001Tämä suorittaa tukityökalun kontekstikomennon.
GETGetUserHistory/v0001Tämä palauttaa käyttäjän auditointihistorian tukityökalun käyttöön.
GETGetHistoryCommandDetails/v0001Tämä palauttaa yksityiskohtaisen listan historiakomentoa koskevista komentotoiminnoista Steamin tuelle.
POSTHistoryExecuteCommand/v0001Tämä suorittaa joukon käyttäjän historiakomentotoiminnoista tuen edustajalle.
GETSupportGetAssetHistory/v0001Tämä palauttaa elementin historiatiedot käyttöön tukityökalussa.

Verkko-ostot

Käyttäjät voivat ostaa pelisi esineitä verkosta, kun otat käyttöön seuraavat ohjelmointirajapinnat.
POSTStartWebAssetTransaction/v0001Tämä aloittaa käyttäjän puolesta esineiden maksutapahtuman. Kutsuu ISteamMicroTxn/InitTxn, joka saa Steamin määrittämään maksutapahtuman ja hankkimaan edelleenlähetyksen URL-osoitteen.
POSTFinalizeWebAssetTransaction/v0001Tätä kutsutaan sen jälkeen, kun käyttäjä on maksanut esineet. Kutsu ISteamMicroTxn/FinalizeTxn tulee suorittaa, ennen kuin esineitä yritetään antaa käyttäjälle.
GETGetAssetPrices/v0001Tämä palauttaa käyttäjien ostettavissa olevien esineiden hinnat ja kategoriat.

Steam-hyvitykset

Steamin palautuskäytännön ansiosta käyttäjät voivat saada hyvityksen pelinsisäisistä ostoista, kun ostosta on kulunut alle 48 tuntia, eikä mitään ostetuista esineistä ei ole käytetty, muokattu eikä siirretty. Jos haluat menetellä näin, sinun on otettava käyttöön seuraavat ohjelmointirajapinnat.
GETQueryRefundAllowed/v0001Tätä kutsutaan kunkin esineen tilan tarkistamiseksi pelinsisäisessä ostoksessa.
POSTRefundPurchase/v0001Tätä kutsutaan, kun hyvitys on hyväksytty joko automaattisesti tai Steamin tuen edustajan toimesta.

Vieraat elementit

Jos pelisi tukee muiden pelien elementtejä, se voi noutaa ne kutsumalla GetExportedAssets.
GETGetExportedAssets/v0001Tämä palauttaa esineluettelon, jonka on vienyt muu Steamissä oleva peli.

Käyttöliittymäversiointi

Talouspalvelin lisää versionumeron jokaiseen kutsuttavaan URL-osoitteeseen. Sillä mahdollistetaan elementtien ohjelmointirajapinnan tulevat versiot. Kaikissa metodeissa on tällä hetkellä versionumero 1, joten jokaiseen URL-osoitteeseen lisätään "/v0001". Jos siis elementtipalvelimen URL-osoite on https://api.mygame.com/assetapi, GetContexts-metodia kutsutaan seuraavasti: https://api.mygame.com/assetapi/GetContexts/v0001, ja sitä seuraa määritetyt
GET-metodin parametrit.

Ohjelmointirajapintatunnukset

Jos määrität ohjelmointirajapintatunnuksen pelisi teknisten tietojen Talous-välilehdellä, tunnus siirretään jokaiseen talouspalvelimen suorittamaan kutsuun.
Avain on (pyynnön tyypistä riippuen) GET- tai POST-parametri, nimeltään "key". Kun vastaanotat kutsun, tarkista, että avain vastaa Talous-välilehdessä määrittämääsi avainta. Näin varmistat, että kutsu todella tuli talouspalvelimelta.

Usein kysytyt kysymykset

K: Mikä on Steam-talous?

V: Steam-alustalla on sisääänrakennettuja toimintoja turvallisille ja luotettaville vaihdoille sekä maailmanlaajuinen markkinapaikka, jossa käytetään oikeaa valuuttaa. Lisäksi se tarjoaa mahdollisuuden tarkastella esineitä pelin ulkopuolella Steam-yhteisössä ja paljon enemmän. Voit ottaa käyttöön jonkun tai kaikki näistä toiminnoista.

K: Mitä etuja on Steam-talouteen liittymisessä?

V: Kaupan peliesineet ovat arvokkaampia kuin esineet, joita käytetään vain yhden pelin ekojärjestelmässä. Kaupan esineillä parannat asiakastyytyväisyyttä.

Pelaajat voivat linkittää esineet Steam-profiileihin ja chattiin, mikä tuo ilmaista näkyvyyttä sekä pelille että sen esineille. Vaihtamista tukevissa peleissä esineiden arvo ei kasva ainoastaan niiden nykyisille omistajille vaan myös muille aktiivisille pelaajille ja mahdollisille vasta-alkajille. Tämä tarkoittaa esimerkiksi sitä, että kaikki pelit, joissa on käytössä Steam-talous, ovat välittömästi kiinnostavampia ja arvokkaampia pelaajille, jotka pelaavat muita talouteen liittyneitä pelejä (kuten Team Fortress 2 ja Dota 2).

Lisäksi voit hyödyntää Steamin infrastruktuurin vaihto- ja valuuttatapahtumia sekä tukea. Voit liittyä mukaan mihin tahansa tulevaan toimintoon ilmaiseksi.

K: Mitä osallistuminen vaatii?

V: Pelilläsi on oltava elementtien taustajärjestelmä, jota ei ole tallennettu pelisovellukseen, eli esinepalvelin. Vaatimuksena on jonkinlainen palvelinkeskuksessa ylläpidettävä tietokanta.
Julkaisija tai kehittäjä voi omistaa palvelinkeskuksen, tai sen voi tarjota käyttöön pilvipalveluntarjoaja. Steam tarjoaa ilmaisen tavaraluettelopalvelun, jota voidaan käyttää pelisi elementtien jatkuvana tallennustilana. Taustajärjestelmän tulee käyttää pientä määrää verkko-ohjelmointirajapintoja, jotta Steam pystyy kommunikoimaan sen kanssa.

K: Voimmeko osallistua vain osaan kaupan toiminnoista?

V: Steamin kutsumat verkko-ohjelmointirajapinnat tarjoavat yhden yhteisen rajapinnan Steam-yhteisön esineiden tarkastelulle, pelien välisille vaihdoille ja Steam-yhteisön kauppapaikalle. Voit hallita toimintoja joko laajasti ja poistaa käytöstä kokonaisia toimintoja (esimerkiksi sallimalla vaihdot mutta poistamalla käytöstä kappapaikan maksutapahtumat) tai pienemmässä mittakaavassa (esimerkiksi sallimalla, että kaikkia esineitä voi tarkastella yhteisössä, osan voi vaihtaa mutta vain tietyt esineet voi listata kauppapaikalle). Voit muuttaa esinekohtaisia asetuksia milloin tahansa.

K: Onko Valvella esineille pysyvää taustajärjestelmää, jota voi käyttää Steamworksin osana?

V: Steamin tavaraluettelopalvelua voi käyttää tähän.