Geliştiriciler için
Kendi oyununu CamTable'a getir
Bir eklenti, senin barındırdığın küçük bir web sitesi. Oyuncular onu tek bir bağlantıyla ekler, oyun da Discord aramasının içinde çalışır. CamTable kodunu barındırmaz, incelemez, listelemez.
Eklenti nedir?
- Kendini bir manifest.json ile tanıtır
- Eklentinin kimliğini, Catalog'larını ve istediği izinleri bu dosya söyler; oyunların listesi ve oyun sayfanın adresi yanındaki JSON yollarından gelir. Oyuncunun yapıştırdığı eklenti bağlantısı onun adresidir.
- Kodun senin sunucunda kalır
- CamTable oyun sayfanı sandbox'lı bir çerçevede açar. Kodunu indirmez, saklamaz, kendi sunucusunda çalıştırmaz.
- Kuralları sen yazarsın, durumu oda tutar
- Oyuncunun hamlesi bir istektir. Kuralların karar verir; oda sonucu saklar ve her oyuncuya kendi görmesi gerekeni gönderir.
- Kurallar iki yerden birinde çalışır
- Host mode'da odayı açan oyuncunun tarayıcısında, ücretsiz. Engine mode'da senin sunucunda; kimse hile yapamaz.
CamTable'ın kendi 15 oyunu da aynı protokolle, Resmî Eklenti'den gelir.
Nereden başlamalı?
Üç adımda boş bir klasörden çalışan bir oyuna. İlk ikisi Türkçe özet, üçüncüsü İngilizce rehberden.
İngilizce rehber
Rehberin bölümleri İngilizce; her bölümün altındaki açıklama Türkçe.
- 1. The model Eklenti nedir, hangi dört kaynağı sunar, her şeyin dayandığı üç kural ve oyun sayfanın çalıştığı sandbox.
- 2. Quick start Projeyi oluştur, pnpm dev ile tünelin arkasında çalıştır, Inspector'da her koltuğu oyna; dosyalar ne işe yarar.
- 3. The addon protocol Eklentinin yanıtladığı yollar: manifest, Catalog'lar ve filtreleri, meta ve Play Option'lar, önbellek ve sürümler.
- 4. Permissions Bir oyunun isteyebileceği altı izin, her birinin açtığı köprü çağrıları ve oyuncunun onay ekranında okuduğu satır.
- 5. Players and privacy Eklentin Discord kimliğini, sunucuyu ya da kanalı hiç görmez: her oyuncu o maça özel bir Match Player Id'dir.
- 6. The game page and the SDK Oyuncunun gördüğü sayfa: oda durumu ve hamleler, tıklama bölgeleri, video yuvaları, kutucuk katmanları ve fısıltılar.
- 7. Custom tabs Oyunun üst çubuğundaki çekmecede açılan ek paneller (istatistik, geçmiş) ve oyun sayfasının yazdığı sekme durumu.
- 8. Host mode and engine mode Tek reducer, iki yer: ücretsiz olarak odayı açanın tarayıcısı ya da hileye yer olmayan oyunlar için kendi sunucun. Oyun ayarları ve lobi de burada.
- 9. Hosting Her kökene CORS açık statik dosyalar ve varsa engine: Cloudflare'de tek komut ya da aynı kurallara uyan başka bir sunucu.
- 10. Installing, sharing and updating Oyuncular eklentini bağlantısıyla ya da kurulum bağlantısıyla nasıl ekler, onay ekranı ne söyler, güncellemeler ve engel listesi.
- 11. Testing locally Çevrimdışı oyun yok: işini bir tünelin arkasına koy, Inspector'da bir Test Odası açıp her koltuğu oyna; testlerin ağsız çalışsın.
- 12. Rules of the road Yayıncı sensin: sahibi olmadığın ad ve görselleri kullanma, ihtiyacın olmayanı toplama, hızlı ve erişilebilir kal.
- 13. Limits at a glance Bütün sınırlar tek tabloda: yanıt süreleri, 64 KB durum, bekleyen hamleler, fısıltı grupları, imza süresi, ayar alanları.
Bugün deneyebileceklerin
Inspector bu sitenin bir sayfası. Discord ile giriş yap, eklentinin https manifest adresini yapıştır, gerçek bir Test Odası açıp bir maçın her koltuğunu sen oyna. Ne arama ne de CamTable'ın Chrome eklentisi gerekir.
Önce oyuncu olarak dene
15 resmî oyun da bu protokolle çalışıyor. CamTable'ı Chrome'a ekle, Discord Web'de arkadaşlarınla birini oyna.