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

Sözlük

Bu sayfa, dokümanda geçen terimleri kısaca tanımlar ve ilgili sayfaya bağlar. Terimler alfabetik değil, konuya göre gruplanmıştır.

Yapı: stüdyo, oyun, ortam

TerimTanım
Stüdyo (studio)En üstteki sahiplik düzeyi; bir ekibi ya da şirketi temsil eder. Birden çok oyun barındırır. Yönetimi panelde Sunucu bölümündedir.
Oyun (game)Stüdyonun altındaki ürün. Kendi ortamları, modülleri ve API anahtarları vardır.
Ortam (environment)Bir oyunun yalıtılmış çalışma kopyası (ör. geliştirme, canlı). Veriler ortamlar arasında paylaşılmaz. Her API anahtarı ve oyuncu oturumu tek bir ortama bağlıdır.
Ortam alan adı (environment domain)Ortama bağlı alan adı; aynı zamanda tarayıcı isteklerinde izinli köken (Origin) listesi olarak kullanılır.
Modül (module)Açılıp kapatılabilen ürün parçası: karakterler, ekonomi, eşyalar, ticaret, mağaza, ödüller, sosyal, sohbet, rekabet, bildirimler, webhook’lar, sahneler ve eklentiler. Kapalı modülün uçları 404 module_disabled döner.
Panel (admin panel)Oyunu yönettiğiniz web arayüzü. Panel API’si oyuncu API’sinden ayrıdır ve bu dokümanın kapsamında değildir.

Kimlik ve anahtarlar

TerimTanım
Sunucu anahtarı (server key)crx_live_<önek>_<gizli> biçimli, yalnız sizin sunucunuzda tutulan gizli API anahtarı. Tüm sunucu uçlarını çağırabilir. İstemciye ya da oyun paketine asla konmaz.
İstemci anahtarı (client key)İstemciye gömülebilen API anahtarı. Hassas komutlar (ör. add_xp) çalıştıramaz; ancak bazı uçlarda tür kapısı yoktur, bu yüzden yalnız gerçekten gerekliyse kullanın (uç noktalar).
Oyuncu oturumu (player session)Oyuncunun girişinden sonra oluşan oturum. Çerezle (__Secure-crx.session) ya da Bearer oturum jetonuyla taşınır ve x-crx-env başlığı ister.
Erişim JWT’si (access JWT)Oturum açıldığında gövdede dönen, oyun sunucunuzun JWKS ile çevrimdışı doğrulayabildiği kısa ömürlü jeton. Oturum jetonu ile aynı şey değildir.
JWKSErişim JWT’sini doğrulamak için açık anahtar kümesi (GET /v1/auth/jwks).
Misafir (guest)Kayıt gerektirmeyen oyuncu; aynı gizli değerle her seferinde aynı oyuncuya döner ve sonradan e-posta hesabına yükseltilebilir.
CSRFTarayıcının kullanıcı adına istenmeyen istek göndermesini engelleyen çift gönderim: çerez + x-csrf-token başlığı. Çerez oturumunda değiştirici isteklerde gerekir.
Origin denetimiDeğiştirici isteklerde Origin başlığının ortamın izinli kökenlerinden olması kuralı. Sunucu CORS başlıklarını yalnız aynı alan adı listesindeki origin’lere gönderir; CORS yetki değildir, bu denetim ayrıca çalışır.
Aynı köken (same-origin)Oyunun ve API’nin aynı alan adı altında (ters vekil ile) sunulması; mimari ve barındırma.
Oyuncu bileti (realtime ticket)Realtime soketine bağlanmak için alınan tek kullanımlık, 30 saniyelik kimlik belirteci (protokol).

Güvenilirlik: tekrar ve çakışma

TerimTanım
Idempotency (tekrar güvenliği)Aynı isteğin birden çok kez gönderilse de tek kez uygulanması. Idempotency-Key başlığıyla sağlanır (idempotency ve eşzamanlılık).
Idempotency-Keyİstemcinin ürettiği, bir işlemi tanımlayan 1 ile 200 karakterlik anahtar.
İyimser kilit (optimistic lock)Kaynağın sürümünü isteğe ekleyip, sürüm değiştiyse isteğin reddedilmesi. If-Match ya da expectedVersion ile yapılır.
expectedVersionBeklenen kaynak sürümü: HTTP’de If-Match başlığı, realtime Command çerçevesinde alan, SDK’da seçenek.
Fail-openBir sınırlayıcı bağımlılığına (Redis) ulaşılamazsa isteğin sınırlanmadan geçmesi (hız sınırları).

Eklentiler

TerimTanım
Eklenti (plugin)Oyuna özgü komut, sorgu ve realtime modülleri sunan, sunucuya derlenmiş güvenilir paket (genel bakış). Üçüncü taraf eklenti yükleme henüz yoktur.
Komut (command)Durumu değiştiren, kalıcı ve tekrar-güvenli işlem.
Sorgu (query)Salt-okunur okuma.
Şema belgesi (artifact)Eklentinin tüm işlem ve şemalarını tarif eden JSON belge (GET /v1/plugins/{id}/schema).
schemaSha256Şema belgesindeki schemas bölümünün özeti; sürüm sabitleme anahtarı (bağlamalar).
Bağlama (binding)Şema belgesinden üretilen tipli istemci kodu.
Sabitleme (pin)İstemcinin hangi eklenti ve şema özetiyle derlendiğinin kaydı; uyuşmazlıkta upgrade_required hatası.
Erişim türü (access)Eklenti işleminin kimlik sınırı: player, server ya da public.
Eklenti durumu (grant state)Eklentinin bir ortamdaki durumu: etkin, salt okunur, boşaltılıyor, kapalı.
plugin-v1-decimal-int64Eklenti ve realtime int64 değerlerini ondalık metin olarak taşıyan kodlama profili (sayılar ve kodlama).

Realtime

TerimTanım
Abonelik (subscription)Join ile açılan, bir modül ve hedefe bağlı veri akışı; subscriptionId ile tanınır.
Hedef (target)Aboneliğin neye bağlandığı: PlayerSelf, Room, Scene ya da InterestSet.
Anlık görüntü (snapshot)Geçici durumun tam yayını; streamEpoch ve revision ile sıralanır.
Kalıcı olay (durable event)Veritabanından kurtarılabilen, sequence sıralı eklenti olayı.
İmleç (cursor)Kalıcı akışta kaldığınız yeri gösteren opak, oyuncuya bağlı değer (yeniden bağlanma).
Dönem (epoch)sessionEpoch: bir soketin yazma dönemi; yeni soket eskisinin girdilerini geçersiz kılar. streamEpoch: durum akışının sıfırlanma sayısı.
Boşta kapanma (idle close)Girdi kabul eden abonelikte oyuncu etkinliği gelmeyince sunucunun 4100 ile soketi kapatması.
Geri basınç (backpressure)İstemci kuyruğunun dolması ya da sunucunun çerçeve hızı sınırı nedeniyle işin reddedilmesi.

Veri ve oyun içi kavramlar

TerimTanım
Tanım (definition)Karakterin şeması ve başlangıç değerleri; değişmez sürümlerle saklanır.
Özellik (trait)Tanımlara karıştırılan yeniden kullanılabilir şema parçası.
Değiştirici (modifier)Bir istatistiği etkileyen geçici ya da kalıcı bonus (ör. eşyadan gelen).
Kural (rule)Karakter olaylarına bağlı otomasyon (oyun kuralları).
Küçük birim (minor unit)Para değerinin tam sayı karşılığı (ör. kuruş).
Baz puan (basis point)10000 = %100 olan yüzde birimi.
Yumuşak silme (soft delete)Kaydın görünmez olması ama olay geçmişinin korunması.
İçerik grubu (content group)Panelden yayınlanan, oyuna katalog olarak sunulan veri kümesi (içerik grupları).
WebhookOpen Play’in olayları kendi sunucunuza imzalı HTTP isteğiyle bildirmesi (webhook rehberi).
At-least-onceWebhook teslimatının en az bir kez, gerekirse birden çok kez yapılması; X-Crx-Event-Id ile tekilleştirin.