# catalogue.json: PlayDrop game metadata and localization

Reference for game titles, descriptions, genre tags, listing images and videos, translations and the optional server field in the PlayDrop Connector format.

Source: https://www.playdrop.ai/docs/catalogue-json

[PlayDrop Connector](https://www.playdrop.ai/docs/connectors) publishes your game with a small `catalogue.json`: a JSON object with `apps`, containing exactly one game. Only `name` is required. The agent sends it as the catalogue argument next to the game files; no command-line tool is needed. PlayDrop Cloud maintains this metadata for you.

## Minimal publishing example

Keep the lowercase slug stable when updating. Add a display title, an accurate description, controls, the source language and known tags as needed. The example below uses the existing platformer genre tag.

```json
{
  "apps": [{
    "name": "moon-jump",
    "displayName": "Moon Jump",
    "description": "Jump between lunar platforms and reach the finish.",
    "controls": "Arrow keys to move. Space to jump.",
    "sourceLocale": "en",
    "tags": ["game-genre/platformer"]
  }]
}
```

## Supported fields and limits

`name`: 1–100 lowercase letters, digits or hyphens, beginning with a letter or digit. `displayName`: nonempty title. `subtitle`: up to 120 characters. `description`: up to 3,000 characters of Markdown, without H1 headings, embedded media or tables. `inspirationPrompt`: up to 400 characters of single-line plain text. Text limits count JavaScript UTF-16 code units.

Optional fields include `controls`, `releaseNotes`, `makingOf`, `emoji`, `color`, `sourceRepository`, `license`, `tags`, `sourceLocale`, `listingLocalizations`, `listingMedia` and `server`. Tags use existing `group-slug/tag-slug` references, with at most 20 unique tags. `server` lists the Colyseus rooms of an uploaded `server.js`, for example `"server": { "rooms": ["game"] }`; see the [server SDK](https://www.playdrop.ai/docs/server-sdk). Ask the connector for current accepted license values and full field rules before publication.

## Listing images and videos

Upload listing media as files next to `index.html`, named by path: `listing/icon.png`, `listing/hero-landscape.png` (16:9) and `listing/hero-portrait.png` (9:16) with the game title in the art, screenshots such as `listing/screenshots/landscape/0.png`, and videos `listing/videos/landscape/0.mp4` (the trailer) and `listing/videos/portrait/0.mp4` (the mobile teaser). Videos play silently on game cards and the game page, the trailer on computers and TV and the teaser on phones, so they are the fastest way to show gameplay and win a first play. Images are PNG and videos MP4.

## Translate the listing accurately

Always publish English plus your own language when it is different. Set `sourceLocale` to the original language. `listingLocalizations` supports English, French, German, Spanish, Brazilian Portuguese, Indonesian, Japanese, Korean, Traditional Chinese and Simplified Chinese. Each translation needs `locale` and `displayName`; when you upload it with its source, PlayDrop fills in `sourceHash`. Upload translated art under `listing/locales/<locale>/`, for example `listing/locales/fr/hero-landscape.png` with the French title; it is matched to its translation automatically. Refresh translations after source changes. Listing translation does not translate the game itself.
