Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Open Play’e genel bakış

Bu sayfa, Open Play’in oyununuz için hangi hazır parçaları sunduğunu ve bu parçalarla hangi kanaldan konuşacağınızı özetler. Entegrasyona başlamadan önce okuyun; ayrıntılar için her bölümün sonundaki bağlantıları izleyin.

Open Play nedir?

Open Play, oyunların arka uç ihtiyaçlarını tek bir sunucu olarak karşılar: oyuncu kimliği ve oturumu, karakterler, envanter, ekonomi, mağaza, ödüller, sosyal özellikler, skor tabloları, bildirimler, webhook’lar ve gerçek zamanlı bağlantı. Oyununuzu bu sunucuya HTTP (REST) ve WebSocket üzerinden bağlarsınız; oyunu yöneten ekip aynı sunucuyu yönetim panelinden yapılandırır.

Not

Open Play bugün bir Docker Compose yığınıdır ve sizin ya da ekibinizin altyapısında çalışır. Kurulum ve dağıtım için üretim dağıtımı rehberine (docs/production-and-adapters.tr.md) bakın; bu belge oyun geliştiricisinin bakış açısını anlatır.

Neler sunar? Modül haritası

Özelliklerin çoğu modül olarak açılıp kapatılır. Kapalı bir modülün uçları çalışmaz ve 404 ile module_disabled kodunu döndürür (bkz. Kavramlar). Modüller panelde Oyun ayarları › Modüller sekmesinden yönetilir.

ModülOyununuza ne verir?Rehber
charactersKarakter tanımları, karakterler, komutlar, kurallar, özellikler (trait), seviye eğrileriKarakterler
economyPara birimleri, cüzdanlar, transferler, defter (ledger)Ekonomi
itemsEşya tanımları, eşya örnekleri, envanterEşyalar ve envanter
tradingTüccar ve oyuncular arası takasHam REST: uç noktalar
storeMağaza kataloğu, satın alma, uygulama içi satın alma (IAP) doğrulamasıMağaza ve IAP
rewardsÖdül tabloları, görev, NPC ödülü, VIP, günlük giriş ödülüÖdüller
socialKlan ve partiSosyal
chatSohbetSohbet
competitionSkor tabloları ve turnuvalarRekabet
notificationsBildirim kanalları, şablonlar, oyuncu gelen kutusu, web pushBildirimler
webhooksOyun olaylarını kendi sunucunuza imzalı olarak iletmeWebhook’lar
scenesSahneler ve görsel varlıklarSahneler, varlıklar, modeller
pluginsEklenti platformu ve gerçek zamanlı yüzeyEklentiler, Gerçek zamanlı

Modül anahtarı olmayan çekirdek yüzeyler her zaman açıktır:

  • Oyuncu kimliği ve oturumu: misafir, e-posta/parola, Google. Bkz. Kimlik doğrulama.
  • İçerik grupları ve katalog: panelden yönetilen, oyunun okuduğu veri. Bkz. İçerik grupları.
  • Oyun kuralları ve otomasyonlar. Bkz. Oyun kuralları.
  • API anahtarları, ortamlar ve alan adları. Bkz. Kavramlar.

Hangi kanaldan konuşursunuz?

KanalKim kullanır?KimlikNe için?
REST (/v1/...) + sunucu anahtarıOyun sunucunuz (güvenilen arka uç)Authorization: Bearer crx_live_<önek>_<gizli>Yönetim ve parayı/eşyayı değiştiren işlemler
REST + istemci anahtarıOyun istemcinizaynı biçimde istemci anahtarıSınırlı, hassas olmayan işlemler
REST + oyuncu oturumuOyuncunun kendi istemcisi (tarayıcı, Unity)çerez ya da oturum belirteci + x-crx-envOyuncunun kendi verisi: giriş, katalog, mağaza, sıralama, eklenti komutları
WebSocket (/v1/realtime/ws vb.)Oyuncunun istemcisitek kullanımlık biletEklenti durumu, anlık girdi, kesintisiz akış
Webhook (Open Play → sizin sunucunuz)Sizin sunucunuzX-Crx-Signature imzasıOlay bildirimi
SDKTypeScript ve Unityyukarıdakilerin sarmalayıcısıREST ve WebSocket’i tipli kullanmak

Uyarı

Sunucu anahtarı bir sırdır. Tarayıcıya, mobil uygulamaya ya da oyun paketine koymayın. İstemci tarafında yalnızca oyuncu oturumu ve (gerekirse) istemci anahtarı kullanın.

gRPC arayüzü sunucu tarafında vardır ancak oyun geliştiricisi için dışa açık bir kanal değildir; varsayılan olarak yalnız loopback’te dinler ve SDK’lar kullanmaz. Bu belge onu anlatmaz.

Nereden başlamalı?

  1. Kavramlar: stüdyo, oyun, ortam, modül, anahtar türleri, oyuncu oturumu.
  2. Hızlı başlangıç: ilk sunucu çağrınız ve ilk oyuncu girişiniz.
  3. Mimari ve barındırma: aynı köken (same-origin) kuralı, alan adları, neyin nerede çalıştığı.
  4. Kimlik doğrulama ve SDK’lar.

Bugünkü sınırlar

Aşağıdakiler bilinçli olarak dürüst yazılmıştır; yol haritanızı buna göre kurun.

  • CORS yalnız ortamın alan adı listesindeki origin’lere açıktır ve çerez aynı site ister. Tarayıcı oyunu, alan adı bir ortama bağlıysa Open Play’i doğrudan çağırabilir; oyun Open Play’den farklı bir kayıtlı alan adındaysa SameSite=Lax oturum çerezi gitmez (ters vekil kullanın). Bkz. Mimari ve barındırma.
  • Üçüncü taraf eklenti yükleme desteklenmez. Eklentiler sunucuya derlenmiş olarak gelir; panelden eklenti yüklenmez. Bkz. Eklentiler.
  • SDK kapsamı kısmidir. TypeScript SDK’sında tipli istemci olmayan modüller ham REST ile kullanılır. Bkz. TypeScript SDK.
  • Unity’de yalnız Unity 6000.6.7f1 doğrulanmıştır. Bkz. Unity SDK.
  • Hata gövdeleri çoğunlukla düz metindir. Yalnız birkaç yerde JSON hata zarfı vardır. Bkz. Hatalar.