PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
PlayDrop logoPlayDrop Studio
OpprettSpillbytteTjenLærConnectorerRessurserFellesskapStøtte
Logg inn
Pakking og .play
Dokumentasjon

Start her

OversiktDitt første spillPlayDrop-spillFAQ

Lag med Cloud

Opprettelse med CloudAbonnementer og genereringer

Koble til KI-appen din

Alle connectorerClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publiser og del

Publiser fra KI-appen dinEnkle HTML-spillPakking og .playPubliser og importerSpillfilerSynlighet og rekkeviddeOppføringsbilder og videoSjangre og taggerLokaliseringInstant-spill

Spillopplevelse

Lasting, pause og lydFullskjerm og trygge områderSkylagringLokale grupper og kontrollere

Spill sammen

Deling, venner og invitasjonerTopplisterPrestasjonerNettgrupper og stemmeSanntidsservere

Tjen

InntekterKreditter og belønninger

Ressurser

SpillressurserKI-generering av ressurserEgendefinerte formater og spillerkreasjoner

Referanse

Klient-SDKServer-SDKcatalogue.jsonFeil og gjenopprettingFeilsøking
DokumentasjonPakking og .play
Publiser og del

Pakk et PlayDrop-spill med catalogue.json og .play

Organiser en ferdigbygd spillmappe, ZIP eller .play med catalogue.json i roten, deklarer oppføringsmedier og servere, og last opp med prepare_catalogue_upload.

En pakke er de ferdigbygde filene til et spill pluss en catalogue.json som beskriver det. Det er veien til alle PlayDrop-funksjoner: flere filer, SDK-en, oppføringsbilder og -videoer, topplister, prestasjoner, ressurser og en hostet server. Last den opp fra KI-appen din som en mappe, en ZIP eller en .play-fil.

Organiser mappen

Legg catalogue.json i roten, ved siden av det ferdigbygde spillet. Stier i katalogen er relative til den.

text
catalogue.json
index.html
assets/sprites.png
assets/music.mp3
listing/icon.png
listing/hero-landscape.png
listing/hero-portrait.png
listing/screenshots/landscape-1.png
listing/videos/portrait-1.mp4
achievements/first-win.png
server/index.mjs

En .play-fil er denne mappen zippet med catalogue.json i roten av arkivet, ikke inne i en omsluttende mappe, og omdøpt til .play. Den inneholder bare ferdigbygde filer: ingen node_modules, ingen kildekart du ikke vil gjøre offentlige, og ingen .env-filer. La kildeprosjektet bli hos brukeren din; PlayDrop kan ikke gi det tilbake.

Skriv catalogue.json

json
{
  "apps": [{
    "name": "moon-jump",
    "displayName": "Moon Jump",
    "subtitle": "Lunar platform hopping against the clock",
    "description": "Jump between lunar platforms, collect oxygen and reach the flag.",
    "controls": "Tap or press Space to jump. Swipe or use arrows to steer.",
    "file": "index.html",
    "version": "1.0.0",
    "visibility": "PRIVATE",
    "authMode": "OPTIONAL",
    "tags": ["game-genre/casual", "game-genre/platformer"],
    "types": ["solo"],
    "controller": { "support": "optional", "type": "simpler" },
    "surfaceTargets": { "desktop": true, "mobileLandscape": true, "mobilePortrait": true },
    "primarySurface": "MOBILE_PORTRAIT",
    "sourceLocale": "en",
    "listing": {
      "icon": "listing/icon.png",
      "heroLandscape": "listing/hero-landscape.png",
      "heroPortrait": "listing/hero-portrait.png",
      "screenshotsLandscape": ["listing/screenshots/landscape-1.png"],
      "videosPortrait": ["listing/videos/portrait-1.mp4"]
    },
    "leaderboards": [{ "key": "best-time", "displayName": "Best time", "description": "Fastest run to the flag",
      "scoreType": "TIME_MS", "sort": "ASC" }],
    "achievements": [{ "key": "first-win", "displayName": "First flag", "description": "Reach the flag once",
      "kind": "STANDARD", "icon": "achievements/first-win.png" }],
    "server": { "entry": "server/index.mjs", "rooms": ["game"] }
  }]
}
  • file er den nøyaktige stien til siden som starter spillet. Uten den er inngangen som standard <name>.html, ikke index.html.
  • version er en ny semantisk versjon for hver opplasting av det samme spillet.
  • surfaceTargets lister flatene du har testet; primarySurface er den spillet er laget for.
  • Katalogen gjør krav på oppføringsmedier, prestasjonsikoner og serverinngangen: en fil under listing/ som ingen felt refererer til, er ikke oppføringsmedier, og filer som ingen app gjør krav på, avvises før noe publiseres.
  • server.entry peker på én ferdigbygd ES-modulbunt; se sanntidsservere for spill.

Alle felt og grensene deres står i catalogue.json-referansen. Det finnes ikke noe versjonsfelt for katalogen å sette.

Last opp en mappe

Send prepare_catalogue_upload med en ny requestId, expectedCurrentVersion (null for et nytt spill), hele katalogobjektet og én beskrivelse per fil. Små tekstfiler kan være innebygd text. Alle andre filer er signerte opplastinger: beregn størrelse, SHA-256 (64 heksadesimale tegn med små bokstaver) og base64-MD5 lokalt fra de nøyaktige bytene. Denne forespørselen for et spill med to filer er komplett; erstatt de to plassholderne for sjekksummer på ikonet med ikonets ekte verdier.

json
{
  "requestId": "moon-jump-1.0.0",
  "expectedCurrentVersion": { "moon-jump": null },
  "catalogue": {
    "apps": [{
      "name": "moon-jump",
      "displayName": "Moon Jump",
      "file": "index.html",
      "version": "1.0.0",
      "visibility": "PRIVATE",
      "authMode": "OPTIONAL",
      "tags": ["game-genre/casual"],
      "types": ["solo"],
      "controller": { "support": "off" },
      "surfaceTargets": { "desktop": true, "mobileLandscape": false, "mobilePortrait": true },
      "listing": { "icon": "listing/icon.png" }
    }]
  },
  "files": [
    { "path": "index.html",
      "text": "<!doctype html><html><head><meta charset=\"utf-8\"><title>Moon Jump</title></head><body><canvas id=\"game\"></canvas><script>/* built game */</script></body></html>" },
    { "path": "listing/icon.png", "contentType": "image/png", "sizeBytes": 50211,
      "sha256": "REPLACE_WITH_ICON_SHA256_HEX", "md5Base64": "REPLACE_WITH_ICON_MD5_BASE64" }
  ]
}

Svaret inneholder en opplastings-URL og headere for listing/icon.png. Send ikonets nøyaktige byte dit med PUT og alle returnerte headere, og kall deretter complete_catalogue_upload med samme requestId. url i kvitteringen åpner den private versjonen.

Last opp en ZIP eller .play

  • Agenter med et filsystem pakker ut arkivet lokalt og laster det opp som en mappe, som ovenfor.
  • ChatGPT sender arkivet den har løst opp fra samtalen, som archive, med den ekte download_url og file_id, og uten catalogue eller files. Arkivet kan være opptil 20 MiB komprimert.

Arkiver må være vanlige ZIP-filer: ingen kryptering, flere volumer, ZIP64, symbolske lenker, dupliserte stier, absolutte stier eller ... Tomme filer og nestede catalogue.json-filer avvises.

Grenser

512 filer eller arkivoppføringer (inkludert catalogue.json og mapper), 50 MiB per fil, 200 MiB utpakket og 1 MiB katalog-JSON. En hostet serverbunt er høyst 2 MiB.

Oppdater en pakke

Les list_games, behold hver apps name, øk version og sett expectedCurrentVersion til den nåværende publiserte versjonen. Send hele øyeblikksbildet: alle filer og felt den nye versjonen skal ha. Uendrede filer fra en beholdt versjon kan sendes med reuse: { gameId, version, path } i stedet for bytene sine. Nøkler for topplister og prestasjoner kan ikke fjernes eller endre type; avvikle en med "status": "RETIRED".

Ressurser connectoren ikke kan laste opp ennå

PlayDrop kjører kjørbare 3D-modeller (MODEL_3D-ressurser med underkategorien procedural eller formatet CUSTOM) i sine egne verktøy, men connectoren avviser dem fordi API-et ikke kan validere koden deres. Bak dem til et støttet format, eller referer til en ressurs som allerede er publisert på PlayDrop. Ferdigbakte prosedyriske bilder og spriteark godtas. Se spillressurser.

Relaterte veiledninger

  • catalogue.jsoncatalogue.json-feltene PlayDrop-spill bruker: identitet, oppføring, spillmåter, flater, innlogging, Instant, forhåndslasting, medier, oversettelser, poeng og servere.
  • Publiser fra KI-appen dinSlik publiserer KI-agenter på PlayDrop via MCP: den enkle veien og pakkeveien, privat testing, publish_game_version, oppdateringer, grenser og gjenoppretting.
  • Oppføringsbilder og videoOppføringsbildene og -videoene et PlayDrop-spill kan ha, stier, formater og retninger, og hvordan du lager bilder som virker i feeder, søk og forhåndsvisninger.
  • SanntidsservereKjør en hostet Colyseus 0.17-server med en MongoDB-database for spillet ditt, koble til fra nettleseren med SDK-en, test med to spillere og kjenn grensene.
ForrigePubliser et enkelt HTML-spill fra KI-appen dinNestePubliser et spill, last opp filer eller registrer en URL
Vis Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

På denne siden

Organiser mappenSkriv catalogue.jsonLast opp en mappeLast opp en ZIP eller .playGrenserOppdater en pakkeRessurser connectoren ikke kan laste opp ennå
Vis Markdown