PlayDrop logoPlayDrop Studio
CriarTroca de partidasGanharAprenderConectoresRecursosComunidadeAjuda
PlayDrop logoPlayDrop Studio
CriarTroca de partidasGanharAprenderConectoresRecursosComunidadeAjuda
Entrar
Publicar pelo seu app de IA
Documentação

Comece aqui

Visão geralSeu primeiro jogoJogos do PlayDropPerguntas frequentes

Crie com o Cloud

Criação com CloudPlanos e gerações

Conecte seu app de IA

Todos os conectoresClaudeChatGPTClaude CodeCodexCursorGeminiAntigravityGrok BuildGrok BotGrok ChatLovableReplit

Publique e compartilhe

Publicar pelo seu app de IAJogos em HTML simplesEmpacotamento e .playPublicação e importaçãoArquivos do jogoVisibilidade e alcanceArte e vídeo da listagemGêneros e tagsLocalizaçãoJogos instantâneos

Experiência de jogo

Carregamento, pausa e áudioTela cheia e áreas segurasSalvamentos na nuvemGrupos locais e controles

Jogue junto

Compartilhamento, amigos e convitesPlacaresConquistasGrupos online e vozServidores em tempo real

Ganhe

MonetizaçãoCréditos e recompensas

Assets

Assets de jogoGeração de assets com IAFormatos personalizados e criações dos jogadores

Referência

SDK de clienteSDK de servidorcatalogue.jsonErros e recuperaçãoSolução de problemas
DocumentaçãoPublicar pelo seu app de IA
Publique e compartilhe

Publique jogos pelo seu app de IA com o MCP do PlayDrop

Como agentes de IA publicam no PlayDrop por MCP: caminho simples e de pacote, testes privados, publish_game_version, atualizações, limites e recuperação.

O servidor MCP do PlayDrop permite que um app de IA publique um jogo na conta do PlayDrop da pessoa com quem ele trabalha e devolva um link que continua funcionando depois das atualizações. Este guia mostra a ordem das operações. Cada etapa leva ao guia com os detalhes.

Antes de desenvolver

  1. Chame get_documentation({topic:"index"}) e leia os guias dos recursos que o jogo vai usar, antes de escrever código. Planejar desde o início o layout em tela cheia, os salvamentos e os controles evita reescrever o jogo depois. Para as assinaturas exatas dos métodos, leia os tópicos sdk-types, server-sdk-types e shared-types.
  2. Chame list_games. Se o jogo já existir, você vai atualizá-lo e manter o name dele, para que ele continue com o mesmo link e os mesmos jogadores.
  3. Escolha o caminho. Um único arquivo HTML autocontido sem o SDK do PlayDrop usa o caminho simples. Todo o resto, incluindo qualquer recurso do SDK, mídia da listagem ou um servidor, usa um pacote.

Guarde você mesmo o projeto-fonte do criador. O PlayDrop recebe só o resultado compilado: ele não é um backup do código-fonte e não pode devolvê-lo.

Caminho simples: upload_game

Envie requestId, o HTML completo (no máximo 10 MiB, 10.485.760 bytes em UTF-8) e um minicatálogo. Passe gameId para atualizar um jogo existente. As versões aumentam automaticamente. Veja os campos em jogos em HTML simples.

Caminho de pacote: preparar, enviar, concluir

Chame prepare_catalogue_upload com requestId, expectedCurrentVersion e uma destas formas de entrada:

  • Pasta: catalogue (o conteúdo do catalogue.json) mais files, um descritor por arquivo com seu caminho relativo. Um descritor traz text embutido, a descrição de um envio assinado, um vínculo com um anexo ou reuse de um arquivo de uma versão mantida.
  • ZIP ou .play local: descompacte-o localmente e depois envie o catálogo da raiz e os descritores da pasta. Nunca coloque os bytes de um arquivo compactado em base64 em uma chamada de ferramenta.
  • Anexo do ChatGPT: passe como archive o ZIP ou .play que o host resolveu, com os download_url e file_id reais. Ele pode ter até 20 MiB compactado e precisa do catalogue.json na raiz.

Nos envios assinados, cada descritor informa path, contentType, sizeBytes, sha256 (64 caracteres hexadecimais minúsculos) e md5Base64, calculados localmente a partir dos bytes exatos. Faça o PUT desses bytes em cada URL retornada, com todos os cabeçalhos retornados, e depois chame complete_catalogue_upload com o mesmo requestId.

No ChatGPT, os arquivos da pasta podem vir de anexos vinculados pela posição:

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

Todo app precisa de uma version declarada, de uma visibilidade (na solicitação ou no app) e de uma entrada em expectedCurrentVersion com o nome dele como chave: null para criá-lo ou a versão publicada atual retornada por list_games para atualizá-lo. Um valor desatualizado é recusado, para que outro envio nunca seja sobrescrito por acidente.

Teste em privado e depois lance

Envie com visibility: "private" quando o jogo usar o SDK ou um servidor, ou quando a pessoa com quem você trabalha quiser experimentá-lo antes. Abra a url do recibo para jogar essa versão exata dentro do PlayDrop, com o host real do SDK. As funções do servidor hospedado só rodam em versões enviadas, então teste-as desse jeito.

Quando tudo funcionar, lance essa versão exata com publish_game_version, passando gameId, version, expectedCurrentVersion e, se a pessoa com quem você trabalha tiver escolhido uma, visibility (public ou unlisted). Essa ferramenta reaproveita os arquivos, a listagem e a revisão testados. Não envie o jogo de novo para lançá-lo.

Para experimentar um build local no frame do PlayDrop antes de enviar, abra https://www.playdrop.ai/@<username>/<slug>/dev?url=<URL-encoded local address> em um navegador comum, na máquina que roda o servidor local.

Escolha quem pode jogar

visibility aceita public, unlisted e private. Para um jogo novo sem uma escolha, use a configuração salva do criador: upload_game a aplica quando você omite a visibilidade, e get_account a mostra como publishing.defaultVisibility. Para uma atualização, mantenha o gameVisibility do jogo retornado por list_games, a menos que a pessoa com quem você trabalha o mude; upload_game faz isso quando você omite a visibilidade, e um pacote a declara. Não listado significa que qualquer pessoa com o link pode jogar; não é uma lista de amigos. Nunca deixe um jogo mais visível do que a pessoa com quem você trabalha pretendia. Detalhes: quem pode jogar.

Entregue o link certo

Os recibos de jogos públicos e não listados incluem shareUrl, a página permanente do jogo: entregue esse link à pessoa com quem você trabalha. Uma versão privada retorna url, o link da versão exata para o dono. Os recibos de pacote listam cada item; os itens concluídos continuam publicados mesmo que um item posterior falhe.

Atualize um jogo

Leia list_games e a versão atual, mantenha o name e envie a versão completa: todos os arquivos e todos os metadados pretendidos, porque os campos omitidos não existem na nova versão. Os itens do catálogo omitidos nunca são excluídos. Use get_game_version para ler o catálogo exato da versão que você está alterando, incluindo o estado dos valores ajustáveis pelo criador.

Limites

  • Caminho simples: um arquivo HTML de no máximo 10 MiB.
  • Pacote: 512 descritores de arquivo na pasta ou 512 entradas no arquivo compactado (incluindo o catalogue.json e os diretórios), 50 MiB por arquivo, 200 MiB descompactados no total e 1 MiB de JSON do catálogo.
  • Arquivos compactados: só caminhos relativos seguros; caminhos duplicados, links simbólicos e arquivos criptografados, de vários volumes ou ZIP64 são recusados.
  • Os envios preparados expiram depois de 30 minutos.

Erros e novas tentativas

Os erros trazem error, message, retryable, nextAction, docsUrl e documentationTopic. Siga nextAction. Depois de uma resposta perdida, repita o conteúdo idêntico com o mesmo requestId; conteúdo alterado precisa de um novo. Veja erros e recuperação.

Use send_feedback para relatar um problema reproduzível ou uma etapa confusa, sem tokens nem URLs assinadas.

Guias relacionados

  • Jogos em HTML simplesPublique um único arquivo HTML autocontido de até 10 MiB com upload_game: o que cabe, minicatálogo, visibilidade, atualizações e quando mudar para um pacote.
  • Empacotamento e .playOrganize uma pasta, ZIP ou .play compilado com o catalogue.json na raiz, declare a mídia da listagem e os servidores e envie com prepare_catalogue_upload.
  • Visibilidade e alcanceEscolha quem pode abrir seu jogo, entenda o padrão da conta e a publicação de versões e como Boost, troca de partidas, Instantâneo e busca trazem jogadores.
  • Erros e recuperaçãoO formato de erro das ferramentas MCP do PlayDrop, quando repetir com o mesmo requestId e a correção para cada código de erro comum.
AnteriorCrie e publique jogos com o Replit (conector MCP do PlayDrop)PróximoPublique um jogo em HTML simples pelo seu app de IA
Ver Markdown
EnglishFrançaisDeutsch日本語한국어EspañolPortuguês (Brasil)Bahasa Indonesia繁體中文简体中文ItalianoPolskiNederlandsSvenskaNorsk bokmålSuomiTürkçeไทยTiếng Việtالعربية

Nesta página

Antes de desenvolverCaminho simples: upload_gameCaminho de pacote: preparar, enviar, concluirTeste em privado e depois lanceEscolha quem pode jogarEntregue o link certoAtualize um jogoLimitesErros e novas tentativas
Ver Markdown