A Steam Raktár szolgáltatás egy sor funkció, amelyek lehetővé teszik egy játéknak, hogy állandó játékosraktárakat engedélyezzen speciális szerverek futtatása nélkül a felhasználók vagy tárgyak kezeléséhez.
Kérjük, hagyj visszajelzést vagy tegyél fel kérdéseket a
Steam Inventory témákban a Steamworks Developer csoportban.
Leírás
A Raktár szolgáltatás kétféleképpen használható: vagy szerver nélkül, vagy egy megbízható szerver hozzáadásával, amely ismeri a játékállapotot.
Játékszerver nélkül a játékkliens kommunikálni tud közvetlenül a Steam szolgáltatással a felhasználók raktártartalmának lekérésére, tárgyak felhasználására vagy cseréjére, és új tárgyak megadására a játékidő alapján. A felhasználók vásárolhatnak is tárgyakat közvetlenül a tárgyáruházból, vagy kereskedhetnek és cserélhetnek a Steam Közösség piacain.
Mivel azonban a kliensben nem lehet megbízni (mert egy támadó bármikor elfoghatja a kliensben levő kulcsokat), ebben az elrendezésben konkrét tárgyakat nem tudsz adni a felhasználóknak. Ehelyett ki tudsz választani bizonyos tárgyakat, amelyek eshetnek, és be tudsz állítani egy esési gyakoriságot. A megfelelő időpontokban a játékkliens meghívja az
ISteamInventory::TriggerItemDrop-ot. A Steam szerverek játékosonként kezelik a játékidőt és dobási gyakoriságot. Ezek az API-k egy belső „kliens API-kulcs” használatával vannak meghívva, ami feltételezés szerint nem megbízható.
Ha van részt vevő megbízható szervered, akkor használni tudsz privilegizált Steam API-kulcsot a szerveren, és meg tudsz adni konkrét tárgyakat a megfelelő helyzetekben. Továbbra is fontos észben tartani, hogy nem bízhatsz a saját klienseidben, így ezt csak akkor tudod megtenni, amikor a szerver a játékállapot ura.
Végül, a Raktár szolgáltatáshoz kapcsolódóan tudsz eladni egyedi tárgyakat vagy tárgykosarakat
játékon belül, vagy webalapú
áruházban.
Nézd meg ezt a Steam Dev Days 2016 bemutatót megvalósítási áttekintésért, a Raktár szolgáltatás által a fejlesztőknek megoldott konkrét problémák részleteiért és bemutatóért arról, hogyan használják a partnerek a rendszert már most is vásárlóik kiszolgálására:
https://www.youtube.com/watch?v=jDfhPTSOLisA megvalósítás áttekintése
- Tárgydefiníciók létrehozása
Néhány tárgydefiníció (ItemDef) létrehozásával és feltöltésével kell kezdened.
Ezek írják le a játékodban levő lehetséges tárgyak készletét. Magából a játékból nem kell ezeket használnod, de a Steamnek szüksége van rájuk a raktár megfelelő megjelenítéséhez. ItemDef-ek létrehozásához menj a Steamworks konfigurációs területed Steam Raktár részébe. Innen tudsz odajutni: https://partner.steamgames.com/apps/inventoryservice/
- A Raktár szolgáltatás engedélyezése
Miután vannak tárgydefinícióid, kapcsold be a Raktár szolgáltatást a „Raktár szolgáltatás engedélyezése” bejelölésével azon az oldalon, ahol a tárgydefinícióidat töltötted föl. Ügyelj rá, hogy amíg a tárgyak láthatósága Privátra van állítva a Steam Gazdaság beállításokban, addig csak a Steamworks partnercsoportodba tartozó fiókok fognak tudni hozzáférni a tárgyaidhoz a játékon belül.
- Az elemszerver-kulcs beállítása
Először hozz létre kiadói web API-kulcsot az alkalmazásodhoz (útmutató: Creating a Publisher Web API Key), és írd be az Elemszerver-kulcs mezőbe a Steam Gazdaság beállításokban.
- A felhasználó raktárának letöltése
Töltesd le a játékklienseddel a felhasználói raktárt az iSteamInventory::getAllItems meghívásával.
Általában jó ezt rendszeresen megtenni arra az esetre, ha a felhasználó további tárgyakat adott hozzá cserével vagy vásárlással.
A játékodtól függően az egyes játékok vagy pályák elején történő ellenőrzés megfelelő lehet.
- Teszttárgyak megadása
Használd az ISteamInventory::GenerateItems-t konkrét tárgyak megadására a jelenlegi játékos fiókjára tesztelési céllal.
- Játékidős tárgydobás adása felhasználóknak (elhagyható)
Megfelelő időpontokban (általában a meccs/fázis végén) hívd meg az ISteamInventory::TriggerItemDrop-ot annak megnézésére, érdemelt-e ki a felhasználó új tárgydobást.
- Tárgyak eladása (elhagyható)
Mikrotranzakció-támogatás hozzáadásához határozz meg árakat az ItemDef-jeidben. Ezt követően különböző módokon lehet megvásárolni azokat:
API-k
A Steam Raktár API-k dokumentációja az API-referenciában érhető el itt:
ISteamInventoryWebes API-k
A Steam Raktár webes API-k dokumentációja a webes API-referenciában érhető el itt:
IInventoryServiceWebes funkciók
Ezek strukturált weboldalak, amelyekre át tudod irányítani a felhasználót.
- ItemCart – Használatával elküldhető egy kosárnyi tárgy Steamen keresztüli megvásárlásra.
- BuyItem – Használatával megvásárolható egy adott tárgy a Steamen keresztül.