PlayDrop logoPlayDrop Studio
OluşturOyun takasıKazanÖğrenBağlayıcılarAsset’lerToplulukDestek
PlayDrop logoPlayDrop Studio
OluşturOyun takasıKazanÖğrenBağlayıcılarAsset’lerToplulukDestek
Giriş yap
Gerçek zamanlı oyun sunucuları
Belgeler

Buradan başla

Genel bakışİlk oyununPlayDrop oyunlarıSSS

Cloud ile oluştur

Cloud ile oluşturmaPlanlar ve üretimler

Yapay zeka uygulamanı bağla

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

Yayınla ve paylaş

Yapay zeka uygulamandan yayınlaBasit HTML oyunlarıPaketleme ve .playYayınla ve içe aktarOyun dosyalarıGörünürlük ve erişimOyun sayfası görselleri ve videoTürler ve etiketlerYerelleştirmeInstant oyunlar

Oyun deneyimi

Yükleme, duraklatma ve sesTam ekran ve güvenli alanlarBulut kayıtlarıYerel partiler ve kumandalar

Birlikte oyna

Paylaşım, arkadaşlar ve davetlerLiderlik tablolarıBaşarımlarÇevrimiçi partiler ve sesli sohbetGerçek zamanlı oyun sunucuları

Kazan

Para kazanmaKrediler ve ödüller

Asset’ler

Oyun asset’leriYapay zekayla asset üretimiÖzel biçimler ve oyuncu yapımları

Başvuru

İstemci SDK’sıSunucu SDK’sıcatalogue.jsonHatalar ve kurtarmaSorun giderme
BelgelerGerçek zamanlı oyun sunucuları
Birlikte oyna

PlayDrop’ta gerçek zamanlı oyun sunucuları: Colyseus ve MongoDB

Oyunun için MongoDB veritabanlı, barındırılan bir Colyseus 0.17 sunucusu çalıştır, tarayıcıdan SDK ile bağlan, iki oyuncuyla test et ve sınırları öğren.

PlayDrop oyununun sunucu tarafını barındırabilir: kendi MongoDB veritabanı ve doğrulanmış oyuncuları olan, senin altyapı işletmeni gerektirmeyen standart bir Colyseus sunucusu. Bunu gerçek zamanlı maçlar, sıra tabanlı oyunlar, paylaşılan dünyalar ve bir oyuncunun hile yapamaması gereken her şey için kullan. Sunucu isteğe bağlıdır; oyunun kendi barındırdığın bir sunucuyu da çağırabilir.

Sunucuyu yaz

Tek bir ES modülünden bir rooms haritası dışa aktar. Sunucuyu PlayDrop başlatır; listen() çağırma ya da onAuth tanımlama, çünkü PlayDrop her oyuncuyu onJoin öncesinde doğrular.

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

class GameRoom extends Room {
  maxClients = 8;
  async onCreate() {
    this.mongo = new MongoClient(process.env.PLAYDROP_MONGO_URL);
    await this.mongo.connect();
    this.onMessage("move", (client, move) => this.applyMove(client.auth.userId, move));
  }
  onJoin(client) {
    // client.auth is the verified PlayDrop player: userId, username, appRole, isTestPlayer…
  }
  async onDispose() { await this.mongo?.close(); }
}

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

MongoDB’ye modül kapsamında değil, her zaman oda yaşam döngüsü içinde bağlan: PLAYDROP_MONGO_URL yalnızca çalışma zamanında vardır. Sorguların için dizinler oluştur.

Bildir

Sunucuyu tek bir dosyada paketle ve kataloğu ona yönlendir:

json
{ "server": { "entry": "server/index.mjs", "rooms": ["game"] } }

Onu bir paket içinde yükle; basit HTML yolu sunucu taşıyamaz.

Barındırılan çalışma zamanının kuralları

  • Node.js 24.22.1 üzerinde Colyseus 0.17 (colyseus 0.17.10, @colyseus/schema 4.0.30) ve MongoDB sürücüsü 7.5.
  • En fazla 2 MiB boyutunda, kendi içinde eksiksiz tek bir ES modülü. Yalnızca colyseus, @colyseus/core, @colyseus/schema, mongodb ve @playdrop/server içe aktarabilir; geri kalan her şeyi pakete dahil et.
  • 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.
  • İnternet erişimi yok: yalnızca MongoDB ve PlayDrop hizmetlerine ulaşılabilir.
  • Oyuncuların giriş yapmış olması gerekir.
  • Oyun başına bir veritabanı; sürümler arasında korunur ve yapımcının depolama alanından sayılır. Adresini ya da kimlik bilgilerini asla bir tarayıcıya gönderme.

Tarayıcıdan bağlan

js
const sdk = await playdrop.init();
const room = await sdk.multiplayer.join("game");
room.onStateChange((state) => render(state));
room.send("move", { x: 1 });

join, PlayDrop’un parti yerlerini ve girişi yönetir; bkz. çevrimiçi partiler. Daha alt düzey kontrol için sdk.multiplayer.getConnection(), sdk.libs.colyseus.load() ile gelen resmi Colyseus istemcisi için { endpoint, token, expiresAt } döndürür.

Sunucu SDK’sı

@playdrop/server güvenilir platform çağrıları ekler: arkadaşlar ve oyun kartları (playdrop.social), satın alma doğrulaması (playdrop.shop), yapımcının ödediği yapay zeka üretimi (playdrop.ai) ve oda sesli sohbeti (playdrop.multiplayer.forRoom). Yalnızca yüklenmiş oyunlarda çalışırlar. Bkz. sunucu SDK’sı başvurusu.

Test et

Geliştirme sırasında Colyseus 0.17’yi ve MongoDB’yi yerelde çalıştır ve yerel istemcini yerel sunucuna bağla. Barındırılan sunucuyu test etmek için özel bir sürüm yükle ve https://www.playdrop.ai/create/games/<slug>/test?v=<version>&player=1 adresini aç, sonra aynı bağlantıyı ikinci bir pencerede player=2 ile aç. Her pencere senin ayrı bir test oyuncun olarak oynar. Çalıştığında test edilen sürümü publish_game_version ile yayınla.

Bağlantı kopmalarına göre tasarla: Colyseus’un yeniden bağlanma özelliği bir yeri kısa bir süre tutar ve odanın durumu geri dönen bir oyuncunun devam etmesine izin vermelidir.

İlgili kılavuzlar

  • Çevrimiçi partiler ve sesli sohbetArkadaşlar oyununu çevrimiçi oynasın: parti boyutlarını bildir, parti penceresini aç, sdk.multiplayer.join ile ayrılmış odaya katıl, oda sesli sohbetini yönet.
  • Sunucu SDK’sıBarındırılan oyun sunucuları: çalışma zamanı kuralları, doğrulanmış PlayDropPlayer, playdrop.social, playdrop.shop, playdrop.ai ve playdrop.multiplayer.
  • Paketleme ve .playKökünde catalogue.json olan derlenmiş bir klasör, ZIP ya da .play hazırla, oyun sayfası medyasını ve sunucuları bildir, prepare_catalogue_upload ile yükle.
ÖncekiPlayDrop oyunlarında çevrimiçi partiler ve sesli sohbetSonrakiPlayDrop oyunlarında değerlendirme, bahşiş, satın alım ve reklam
Markdown’ı gör
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Bu sayfada

Sunucuyu yazBildirBarındırılan çalışma zamanının kurallarıTarayıcıdan bağlanSunucu SDK’sıTest et
Markdown’ı gör