PlayDrop logoPlayDrop Studio
CrearIntercambio de partidasGanarAprenderConectoresRecursosComunidadAyuda
PlayDrop logoPlayDrop Studio
CrearIntercambio de partidasGanarAprenderConectoresRecursosComunidadAyuda
Iniciar sesión
Publicar desde tu app de IA
Documentación

Empieza aquí

ResumenTu primer juegoJuegos de PlayDropPreguntas frecuentes

Crea con Cloud

Creación con CloudPlanes y generaciones

Conecta tu app de IA

Todos los conectoresClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publica y comparte

Publicar desde tu app de IAJuegos HTML simplesEmpaquetado y .playPublicar e importarArchivos del juegoVisibilidad y alcanceImágenes y vídeo de la fichaGéneros y etiquetasLocalizaciónJuegos instantáneos

Experiencia de juego

Carga, pausa y audioPantalla completa y zonas segurasPartidas guardadas en la nubeGrupos locales y mandos

Juega en grupo

Compartir, amigos e invitacionesClasificacionesLogrosGrupos en línea y vozServidores en tiempo real

Gana

MonetizaciónCréditos y recompensas

Recursos

Recursos de juegoGeneración de recursos con IAFormatos personalizados y creaciones de jugadores

Referencia

SDK de clienteSDK de servidorcatalogue.jsonErrores y recuperaciónSolución de problemas
DocumentaciónPublicar desde tu app de IA
Publica y comparte

Publica juegos desde tu app de IA con el MCP de PlayDrop

Cómo publican los agentes de IA en PlayDrop mediante MCP: vía simple y paquete, pruebas privadas, publish_game_version, actualizaciones, límites y errores.

El servidor MCP de PlayDrop permite que una app de IA publique un juego en la cuenta de PlayDrop de su usuario y devuelva un enlace que sigue funcionando tras cada actualización. Esta guía explica el orden de los pasos. Cada paso enlaza con la guía que da los detalles.

Antes de crear el juego

  1. Llama a get_documentation({topic:"index"}) y lee las guías de las funciones que usará el juego, antes de escribir código. Planificar desde el principio el diseño a pantalla completa, las partidas guardadas y los controles evita tener que reescribir el juego más adelante. Para las firmas exactas de los métodos, lee los temas sdk-types, server-sdk-types y shared-types.
  2. Llama a list_games. Si el juego ya existe, lo actualizarás y conservarás su name, para que mantenga su enlace y sus jugadores.
  3. Elige la vía. Un único archivo HTML autónomo sin el SDK de PlayDrop usa la vía simple. Todo lo demás, incluida cualquier función del SDK, las imágenes y vídeos de la ficha o un servidor, usa un paquete.

Guarda tú el proyecto fuente del creador. PlayDrop solo recibe el resultado compilado: no es una copia de seguridad del código fuente y no puede devolverlo.

Vía simple: upload_game

Envía requestId, el HTML completo (10 MiB como máximo, 10.485.760 bytes UTF-8) y un minicatálogo. Pasa gameId para actualizar un juego existente. Las versiones aumentan automáticamente. Consulta juegos HTML simples para ver los campos.

Vía de paquete: preparar, subir, completar

Llama a prepare_catalogue_upload con requestId, expectedCurrentVersion y una de estas formas de entrada:

  • Carpeta: catalogue (el contenido de catalogue.json) más files, un descriptor por archivo con su ruta relativa. Un descriptor lleva text en línea, la descripción de una subida firmada, la vinculación a un archivo adjunto o reuse de un archivo de una versión conservada.
  • ZIP o .play local: descomprímelo en local y envía el catálogo raíz y los descriptores de la carpeta. Nunca pongas los bytes del archivo comprimido en base64 en una llamada a una herramienta.
  • Archivo adjunto de ChatGPT: pasa como archive el ZIP o .play que resolvió el host, con sus download_url y file_id reales. Puede ocupar hasta 20 MiB comprimido y necesita catalogue.json en la raíz.

En las subidas firmadas, cada descriptor indica path, contentType, sizeBytes, sha256 (64 caracteres hexadecimales en minúsculas) y md5Base64, calculados en local a partir de los bytes exactos. Haz PUT de esos bytes a cada URL devuelta con todas las cabeceras devueltas y, después, llama a complete_catalogue_upload con el mismo requestId.

En ChatGPT, los archivos de la carpeta pueden venir de archivos adjuntos vinculados por posición:

text
attachments: [htmlFile, iconFile]
files: [{path:"index.html", attachmentIndex:0}, {path:"listing/icon.png", attachmentIndex:1, role:"LISTING", app:"my-game"}]

Cada app necesita una version declarada, una visibilidad (en la solicitud o en la app) y una entrada en expectedCurrentVersion con su nombre como clave: null para crearla, o la versión publicada actual de list_games para actualizarla. Un valor desactualizado se rechaza, así que nunca se sobrescribe otra subida por accidente.

Prueba en privado y luego publica

Sube con visibility: "private" cuando el juego use el SDK o un servidor, o cuando tu usuario quiera probarlo primero. Abre la url del recibo para jugar a esa versión exacta dentro de PlayDrop con el host real del SDK. Las funciones del servidor alojado solo se ejecutan en versiones subidas, así que pruébalas de esta forma.

Cuando funcione, publica esa versión exacta con publish_game_version, pasando gameId, version, expectedCurrentVersion y, si tu usuario eligió una, visibility (public o unlisted). Reutiliza los archivos, la ficha y la revisión que se probaron. No vuelvas a subir el juego para publicarlo.

Para probar una compilación local en el marco de PlayDrop antes de subirla, abre https://www.playdrop.ai/@<username>/<slug>/dev?url=<URL-encoded local address> en un navegador normal en el equipo que ejecuta el servidor local.

Elige quién puede jugar

visibility acepta public, unlisted y private. Para un juego nuevo sin una elección, usa el ajuste guardado del creador: upload_game lo aplica cuando omites la visibilidad, y get_account lo muestra como publishing.defaultVisibility. Para una actualización, conserva el gameVisibility del juego que indica list_games, salvo que tu usuario lo cambie; upload_game lo hace cuando omites la visibilidad, y un paquete lo indica. No listado significa que cualquiera con el enlace puede jugar; no es una lista de amigos. Nunca hagas un juego más visible de lo que pretendía tu usuario. Detalles: quién puede jugar.

Devuelve el enlace correcto

Los recibos de los juegos públicos y no listados incluyen shareUrl, la página permanente del juego: esa es la que debes dar a tu usuario. Una versión privada devuelve url, el enlace a esa versión exacta para el propietario. Los recibos de paquete enumeran cada elemento; los elementos completados siguen publicados aunque falle uno posterior.

Actualiza un juego

Lee list_games y la versión actual, conserva el name y envía una instantánea completa: todos los archivos y todos los metadatos que quieras incluir, porque los campos omitidos no estarán en la nueva versión. Los elementos del catálogo que omitas nunca se eliminan. Usa get_game_version para leer el catálogo exacto de la versión que vas a cambiar, incluido el estado de sus Tweaks.

Límites

  • Vía simple: un archivo HTML de 10 MiB como máximo.
  • Paquete: 512 descriptores de archivos de carpeta o 512 entradas de archivo comprimido (incluidos catalogue.json y los directorios), 50 MiB por archivo, 200 MiB descomprimidos en total y 1 MiB de JSON del catálogo.
  • Archivos comprimidos: solo rutas relativas seguras; se rechazan las rutas duplicadas, los enlaces simbólicos y los archivos cifrados, de varias partes y ZIP64.
  • Las subidas preparadas caducan a los 30 minutos.

Errores y reintentos

Los errores incluyen error, message, retryable, nextAction, docsUrl y documentationTopic. Sigue nextAction. Tras una respuesta perdida, reintenta con el mismo contenido y el mismo requestId; si el contenido cambia, necesita uno nuevo. Consulta errores y recuperación.

Usa send_feedback para informar de un problema reproducible o de un paso confuso, sin tokens ni URL firmadas.

Guías relacionadas

  • Juegos HTML simplesPublica un archivo HTML autónomo de hasta 10 MiB con upload_game: qué cabe, el minicatálogo, la visibilidad, las actualizaciones y cuándo pasar a un paquete.
  • Empaquetado y .playOrganiza una carpeta, ZIP o .play compilado con catalogue.json en la raíz, declara medios de la ficha y servidores, y súbelo con prepare_catalogue_upload.
  • Visibilidad y alcanceQuién abre tu juego, el ajuste de cuenta, las versiones y cómo atraen jugadores Boost, el intercambio de partidas, los juegos instantáneos y la búsqueda.
  • Errores y recuperaciónLa forma de los errores de las herramientas MCP de PlayDrop, cuándo reintentar con el mismo requestId y la solución de cada código de error habitual.
AnteriorCrea y publica juegos con Replit (conector MCP de PlayDrop)SiguientePublica un juego HTML simple desde tu app de IA
Ver Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

En esta página

Antes de crear el juegoVía simple: upload_gameVía de paquete: preparar, subir, completarPrueba en privado y luego publicaElige quién puede jugarDevuelve el enlace correctoActualiza un juegoLímitesErrores y reintentos
Ver Markdown