Niezwiązany

Strona główna Dokumentacja i pomoc
Dokumentacja Steamworks
Usługa Ekwipunku Steam
Usługa Ekwipunku Steam to zbiór funkcji, które pozwalają grze na ciągłe udostępnianie ekwipunków graczy bez konieczności utrzymywania specjalnych serwerów do zarządzania użytkownikami lub przedmiotami.

Możesz zostawić komentarz lub zadać pytanie w dyskusjach na temat Ekwipunku Steam w grupie Steamworks Developer.

Opis

Usługa Ekwipunku Steam może być używana na dwa sposoby: bez serwera lub z dodatkiem zaufanego serwera, który zna stan gry.

Bez serwera, klient gry komunikuje się bezpośrednio z serwisem Steam, skąd otrzymuje informacje o zawartości ekwipunku użytkowników, konsumpcji i wymianie przedmiotów, a także o otrzymaniu nowych przedmiotów w związku z czasem spędzonym w grze. Użytkownicy mogą również kupować bezpośrednio w Sklepie albo wymieniać się na Rynku i poprzez Społeczność Steam.

Ponieważ klient nie jest niezawodny (klucze w kliencie mogą zostać przechwycone przez osobę niepowołaną), nie można dać użytkownikom konkretnych przedmiotów w tym przypadku. Zamiast tego możesz wybrać dane elementy oraz częstotliwość z jaką użytkownicy je otrzymają. W odpowiednim czasie klient gry wywołuje ISteamInventory::TriggerItemDrop. Serwery Steam zarządzają informacjami o czasie gry i częstotliwości otrzymywania przedmiotów dla każdego gracza. Te API są wywoływane, używając wewnętrznego „Client API Key”, który z założenia nie jest zaufany.

Jeśli masz zaufany serwer, możesz użyć uprzywilejowanego klucza Steam API na serwerze, aby odpowiednich sytuacjach zostały wydane określone przedmioty. Ważne jest jednak, aby pamiętać, że nie można ufać użytkownikom, więc możesz to zrobić tylko wtedy, gdy serwer kontroluje stan gry.

W połączeniu z usługą Ekwipunku Steam możesz sprzedawać pojedyncze przedmioty albo zestawy w grze albo przez stronę storefront.

Jeśli chcesz uzyskać więcej informacji dotyczących implementacji, rozwiązań dla konkretynych problemów, które rozwiązuje usługa Ekwipunku oraz demonstracji w jaki sposób partnerzy już korzystają z tego systemu, zajrzyj do prezentacji ze Steam Dev Days 2016.

https://www.youtube.com/watch?v=jDfhPTSOLis

Implementacja

  1. Przygotuj definicje przedmiotów
    Należy zacząć od stworzenia i przesłania definicji przedmiotu (ItemDefs).
    Opisują możliwe zestawy przedmiotów w grze. Nie musisz używać definicji w samej grze, ale Steam potrzebuje jej, aby poprawnie wyświetlać ekwipunek. Aby stworzyć ItemDefs musisz znajdować się w sekcji Ekwipunku Steam w Steamworks. Możesz tam dotrzeć za pośrednictwem tego linku: https://partner.steamgames.com/apps/inventoryservice/
  2. Włącz usługę Ekwipunku
    Jeśli masz już definicje przedmiotów, włącz usługę Ekwipunku poprzez zaznaczenie „Włącz usługę ekwipunku” na stronie, do której je przesłałeś.
  3. Set Asset Server Key
    Najpierw wygeneruj klucz Publisher Web API dla swojej aplikacji (zobacz instrukcje tutaj: Creating a Publisher Web API Key) i umieść go w polu „Klucz serwera zasobów” na stronie ustawień ekonomii Steam.
  4. Pobierz Ekwipunek użytkownika
    Klient gry pobiera ekwipunek użytkownika, wywołując ISteamInventory::GetAllItems.
    Dobrze jest to robić cyklicznie, w przypadku gdy użytkownik dodał więcej przedmiotów przez handel lub zakup.
    W zależności od gry może być konieczne sprawdzenie na początku każdej gry lub poziomu.
  5. Wydawanie przedmiotów testowych
    Użyj ISteamInventory::GenerateItems, aby dodać konkretne przedmioty do konta gracza.
  6. Wydawanie przedmiotów przyznawanych za czas w grze (opcjonalne)
    W odpowiednim czasie (zazwyczaj pod koniec gry albo meczu/fazy) wywołaj ISteamInventory::TriggerItemDrop, aby sprawdzić, czy użytkownikowi przysługują nowe przedmioty.
  7. Sprzedaż przedmiotów (opcjonalnie)
    Aby dodać wsparcie mikrotransakcji dodaj ceny do ItemDefs. Użytkownicy będą mogli kupować przedmioty na kilka różnych sposobów:

API

Dokumentacja dla API Ekwipunku Steam jest dostępna tutaj: ISteamInventory.

Web API

Dokumentacja dla Web API Ekwipunku Steam jest dostępna tutaj: IInventoryService.

Funkcje Web

Poniżej znajdują się strony internetowe, na które można przekierować użytkowników.
  • ItemCart — Może zostać użyte do przesłania koszyka przedmiotów do zakupu przez Steam.
  • BuyItem — Może być używane do zakupu pojedynczego przedmiotu na Steam.