Dokumentasi Steamworks
Layanan Inventaris Steam
Layanan Inventaris Steam adalah serangkaian fitur yang memungkinkan game untuk mengaktifkan inventaris pemain persisten tanpa harus menjalankan server khusus untuk mengelola pengguna atau item.

Silakan berikan kami masukan atau pertanyaan di Diskusi Inventaris Steam di grup Pengembang Steamworks.

Deskripsi

Layanan Inventaris bisa digunakan dengan dua cara - tanpa server atau dengan tambahan server terpercaya yang mengetahui status game.

Tanpa game server, game client bisa berkomunikasi langsung dengan layanan Steam untuk menarik konten inventaris pengguna, pemakaian dan pertukaran item, dan menerima item baru yang diberikan sebagai efek dari waktu bermain. Pengguna juga bisa membeli item langsung dari Toko Item, atau menukarkannya di komunitas Steam.

Namun, karena Client tidak bisa dipercaya (dan key di Client selalu bisa diambil fotonya oleh peretas), kamu tidak bisa memberikan item khusus dengan skema ini. Lebih baik memilih item tertentu yang bisa di-drop, dan mengonfigurasi frekuensi drop. Di waktu yang tepat, game client memanggil ISteamInventory::TriggerItemDrop. Server Steam mengelola waktu bermain dan frekuensi drop per pemain. API dipanggil menggunakan "Key API Client" internal yang diasumsikan tidak aman.

Jika kamu memiliki server terpercaya yang berpartisipasi maka kamu dapat menggunakan key API Steam istimewa di server dan memberikan item eksplisit untuk situasi yang tepat. Masih sangatlah penting untuk mengingat bahwa kamu tidak bisa mempercayai Client-mu sendiri, jadi kamu hanya bisa melakukan ini ketika server memiliki kontrol terhadap informasi game.

Terakhir, berhubungan dengan Layanan Inventaris, kamu bisa menjual item secara individu atau item-item dalam keranjang dalam game, atau melalui halaman toko berbasis web.

Lihat presentasi dari Steam Dev Days 2016 untuk ringkasan implementasi, rincian tentang masalah khusus yang diselesaikan oleh Layanan Inventaris untuk pengembang, dan demo tentang bagaimana partner sudah menggunakan sistem untuk melayani pelanggan mereka.

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

Ringkasan Implementasi

  1. Buat Definisi Item
    Kamu harus memulai dengan membuat dan mengunggah beberapa definisi item (ItemDefs).
    Ini mendeskripsikan kemungkinan set item dalam game-mu. Kamu tidak perlu menggunakan definisi ini di game-mu sendiri, tapi Steam membutuhkannya untuk menampilkan inventaris dengan benar. Untuk membuat ItemDefs, pergi ke bagian Inventaris Steam dari area konfigurasi Steamworks. Kunjungi dengan menggunakan tautan ini: https://partner.steamgames.com/apps/inventoryservice/
  2. Aktifkan Layanan Inventaris
    Setelah kamu memiliki definisi item, aktifkan Layanan Inventaris dengan mencentang "Aktifkan Layanan Inventaris" di halaman di mana kamu mengunggah definisi item. Perlu diinggat bahwa meskipun visibilitas item diatur ke "Privat" di Pengaturan Ekonomi Steam, hanya akun di grup Partner Steamworks akan dapat mengakses item dalam game.
  3. Atur Key Server Aset
    Pertama, buat key API Web Penerbit untuk aplikasimu (instruksi: Membuat Key Web API Penerbit) dan letakkan di kolom Key Server Aset di Pengaturan Ekonomi Steam.
  4. Unduh Inventaris Pengguna
    Perintahkan game client-mu untuk mengunduh inventaris pengguna dengan memanggil ISteamInventory::GetAllItems.
    Disarankan untuk melakukannya secara berkala jika pengguna menambahkan item baru via pertukaran atau pembelian.
    Tergantung dari game-mu, pemeriksaan di awal setiap game atau level mungkin dibutuhkan.
  5. Berikan Item Pengujian
    Gunakan ISteamInventory::GenerateItems untuk menambahkan item khusus ke akun pemain saat ini untuk kebutuhan pengembangan.
  6. Berikan Drop Waktu Bermain ke Pengguna (Opsional)
    Di waktu yang tepat (biasanya di akhir pertandingan/fase) panggil ISteamInventory::TriggerItemDrop untuk melihat apakah pemain telah mendapatkan drop baru.
  7. Jual Item (Opsional)
    Untuk menambahkan dukungan transaksi mikro, tentukan harga di ItemDefs. Kemudian pembeli dapat membelinya dengan beberapa cara:

API

Dokumentasi untuk API Inventaris Steam tersedia di Referensi API di sini: ISteamInventory

API Web

Dokumentasi untuk API Web Inventaris Steam tersedia di Referensi API Web di sini: IInventoryService

Fungsi Web

Ini adalah struktur halaman-halaman web yang bisa kamu gunakan untuk mengarahkan pengguna.
  • ItemCart - Bisa digunakan untuk mengirim keranjang yang penuh dengan item yang akan dibeli melalui Steam.
  • BuyItem - Bisa digunakan untuk membeli satu item melalui Steam.