PlayDrop
PlayDrop yüklenemedi

Sayfanın gerekli bir bölümü indirilemedi. Yeniden yüklemeyi dene.

STYLESHEET_ERROR
PlayDrop logoPlayDrop Studio
OluşturPlayTradeKazanÖğrenBağlayıcılarToplulukDestek
Sunucu SDK’sı
Belgeler

Buradan başla

Genel bakışİlk oyunun

Cloud ile oluştur

Cloud ile oluşturmaYayınla ve içe aktarPlanlar ve üretimlerKrediler ve ödüller

Ajanını bağla

Tüm bağlayıcılarClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Teknik referans

Oyun dosyalarıcatalogue.jsonİstemci SDK’sıSunucu SDK’sıSorun gidermeSSS
BelgelerSunucu SDK’sı
Teknik referans

PlayDrop oyun sunucuları: Colyseus, MongoDB ve sunucu SDK’sı

PlayDrop oyunları için isteğe bağlı barındırılan çok oyunculu mod: MongoDB’li bir Colyseus server.js yükle ve Test Players ile dene.

Oyun sunucusu isteğe bağlıdır. Oyunun kendi çalıştırdığın herhangi bir sunucuyu çağırabilir. İstersen PlayDrop, oyunun için MongoDB veritabanlı standart bir Colyseus sunucusu barındırır: index.html dosyasının yanına server.js olarak PlayDrop Connector ile yükle ya da PlayDrop Cloud’dan yapmasını iste. @playdrop/server paketi de isteğe bağlıdır.

Standart bir Colyseus sunucusu yaz

js
import { Room, defineRoom } from "colyseus";
import { MongoClient } from "mongodb";

class GameRoom extends Room {
  async onCreate() {
    this.mongo = new MongoClient(process.env.PLAYDROP_MONGO_URL);
    await this.mongo.connect();
  }
  onJoin(client) {
    // client.auth is the verified PlayDrop player, for example client.auth.userId.
  }
  async onDispose() { await this.mongo?.close(); }
}

export const rooms = { game: defineRoom(GameRoom) };

server.js dosyasından bir rooms haritası dışa aktar ve oda adlarını catalogue.json içinde "server": { "rooms": ["game"] } olarak listele. Sunucuyu PlayDrop çalıştırır, bu yüzden kendin bir tane başlatma. Verileri oda yaşam döngüsü içinde PLAYDROP_MONGO_URL üzerinden standart MongoDB sürücüsüyle sakla.

Barındırılan sunucu kuralları

  • Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30), MongoDB sürücüsü 7.5 ve Node 22.
  • 2 MiB’a kadar, kendi içinde tam tek bir ES modülü. Yalnızca colyseus, @colyseus/core, @colyseus/schema, mongodb ve @playdrop/server içe aktarabilir; başka her kodu dosyanın içine paketle.
  • En fazla 2 oda türü, oda başına 8 oyuncu, oda başına 4 saat, oyuncu başına saniyede 30 mesaj ve mesaj başına 512 KiB.
  • Sunucudan internet erişimi yok: yalnızca MongoDB ve PlayDrop hizmetlerine erişilebilir.
  • Oyuncuların giriş yapmış olması gerekir. PlayDrop her oyuncuyu katıldığında doğrular; onAuth yazma.
  • Oyun başına bir MongoDB veritabanı; sürümler arasında korunur ve depolama kotanda sayılır. Kimlik bilgilerini asla tarayıcıya gönderme.

Tarayıcıyı bağla ve test et

Tarayıcıda, istemci SDK’sındaki sdk.multiplayer.getConnection() sunucu adresini ve oyuncunun jetonunu döndürür; Colyseus istemcisiyle (@colyseus/sdk 0.17) katıl. Geliştirme sırasında Colyseus 0.17 ve MongoDB 8’i yerelde çalıştır ve doğrudan yerel sunucuna bağlan. Barındırılan sunucuyu test etmek için özel bir sürüm yükle, sonra https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1 adresini ve aynı bağlantıyı ikinci bir pencerede player=2 ile aç: her pencere ayrı bir test hesabı olarak oynar. Çalıştığında sürümü oyun sayfasından herkese açık yap.

İsteğe bağlı sunucu SDK’sı: arkadaşlar ve yapay zeka

@playdrop/server, playdrop.social (bu oyunu oynayan arkadaşlar ve PlayDrop Sohbet’teki oyun kartları) ve playdrop.ai (yapımcının ödediği metin, görsel, 3D, video, ses, konuşma ve müzik üretimi) ekler. Bu çağrılar yalnızca yüklenmiş oyunlarda çalışır, yerel geliştirmede çalışmaz. Üretilen özel medyayı sunucuda playdrop.ai.tasks.downloadFile ile indir ve baytları yalnızca ilgili oyuncuya gönder; konuşma istekleri en fazla 40 kelime kabul eder.

Parti ve oda sesli sohbeti

await playdrop.social.getParty(client.auth), şu anda yetkili parti üyeliğini okur. Parti sohbetini ya da başka oyun etkinliğini göstermez ve parti yönetimi yetkisi vermez. Mevcut sosyal API’ler davranışını korur.

roomVoice: true bildiren bir katalog, tüm oda politikasıyla başlar; bu varsayılan için sunucu çağrısı gerekmez. Özelleştirmek için const platform = playdrop.multiplayer.forRoom(this) değerini gerçek Colyseus odasına bağla. platform.voice.setPolicy("all" | "team" | "proximity" | "off", { range: 20 }), setTeam(client.auth, teamId), setAudience(client.auth, audience) ve updatePositions([{ player: client.auth, position: { x, y, z } }]) kullan. Bir takımı ya da oyuncu geçersiz kılmasını temizlemek için null ver. Yakınlık, güncel ve yetkili konumlar gerektirir.

Güvenilen çalışma zamanı uygunluk değişikliklerini birleştirir, kabul edilen parti takipçilerini liderin olağan katılımından sonra ayırır ve izinleri temizler. Oyunlar asla ses, sağlayıcı kimlik bilgileri ya da mikrofon istekleri göndermez. Turlar boyunca aynı odayı koru. Yayınlamadan önce entegrasyonu test etmek için uygun bir yapımcıyla mevcut özel Test Players’ı kullan; yalnızca yayınlamak kullanıma açmayı etkinleştirmez.

ÖncekiTarayıcı oyunları için PlayDrop istemci SDK’sıSonrakiPlayDrop Cloud oluşturma ve yayınlama sorunlarını gider
Markdown’ı gör
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Bu sayfada

Standart bir Colyseus sunucusu yazBarındırılan sunucu kurallarıTarayıcıyı bağla ve test etİsteğe bağlı sunucu SDK’sı: arkadaşlar ve yapay zekaParti ve oda sesli sohbeti
Markdown’ı gör