Config keys
Every key of a game's settings, as config shows them. Common changes have recipes on Customize the game.
| Key | Meaning | Editable |
|---|---|---|
slug | Site name: https://<slug>.<subdomain>.workers.dev | With the rename command |
storageId | Set by rename: the first site name, under which saves and large files stay in R2 | No |
retiredWorkers | Set by rename: old Workers to delete once the new site works | No |
fingerprint | Identifies the game. MZ: mz:<advanced.gameId>; MV: mv:<game title> | No |
title, engine, url | For reference, filled in by the toolkit | No effect |
include | Extra top-level folders / files to publish, or patterns of files to keep. rwk.json can add more | Yes |
exclude | Patterns of files to leave out. rwk.json can add more | Yes |
sync.enabled | Cloud save sync | Yes |
auth | { "mode": "access", "teamDomain", "aud" }, or public: { "mode": "none", "basis", "since" }. Filled in by the Access setup | With care |
auth.basis | Why a public site may be public: "author", "permission" or "creator-policy" | Through the deploy |
indexable | true lets search engines list a public site | Yes |
controls | On-screen buttons | Yes |
controls.scannedKeys | Plugin keys already seen, so updates only ask about new ones | No need |
preset | "comfortable" (default), "original" or "shared": the starting point under the keys below (Presets) | Yes |
players | { "<email>": { <key>: value } }: settings for one player, on top of the rest. Needs Cloudflare Access (Settings for one player) | Yes |
saveTools | false removes ⚙ → Saves; { "export": true, "import": false, "delete": true } keeps only some of its buttons | Yes, unless the creator's policy turns it off |
itemBatch | false turns off using several items at once (item menu, battle and events that ask for an item) | Same |
fastForward | false turns off fast forward; { "maxSpeed": 3, "speed": 2, "inBattle": false, "lock": true } sets the top speed (2–4, default 4), the starting speed, whether it works in battles, and whether players may change the speed | Same |
messageMode | false turns off the message modes (Auto, Skip); { "auto": true, "skip": false, "mode": "auto", "autoSpeed": "slow", "lock": true } picks the modes offered, the mode and Auto speed to start in, and whether players may change them | Same |
backlog | false removes ⚙ → Messages log; a number (10–500, default 100) sets how many messages it keeps | Same |
remap | false removes ⚙ → Keys and buttons; { "keyboard": true, "gamepad": false } lets players remap only the keyboard (or only the gamepad) | Same |
alwaysDash | false removes ⚙ → Always dash; { "on": true } makes players who never chose run; { "on": true, "lock": true } keeps it on (no switch) | Same |
quickSave | false turns off quick save / load; { "ignoreSaveLock": false } keeps it off where the game disallows saving | Same |
autoSave | false turns off the autosave; { "minutes": 10 } changes how often (1–60, default 5) | Same |
saveHistory | false keeps no older saves; { "keep": 5, "days": 14 } changes how many copies each save keeps (1–50, default 10) and for how long (1–365 days, default 30). Enforced by the Worker | Yes |
cheats | Off unless set. true turns on ⚙ → Cheats; { "party": true, "items": true, "battle": false } keeps only some sections (party: heal, god mode, level; items: gold and items; battle: win now; switches: switches and variables; movement: walk through walls, teleport). Best given to one player | Same |
offline | false removes ⚙ → Play offline (downloading the whole game to the device). Needs cache, so cache: false turns it off too | Same |
translate | Off unless set. true turns on ⚙ → Translate the game (machine translation through Workers AI); { "to": ["en", "vi"], "default": "vi", "from": "ja", "font": "game" } sets the languages players may pick (default: en, vi, zh, ko, ja, fr, de, es, pt, ru, id, th), the one shown first, the game's language (else languages.original, else a guess per line) and whether to keep the game's font for Vietnamese. Needs R2. The first time it is on (for everyone or for one player) needs a deploy, which gives the Worker its Workers AI binding; after that it changes live | Same |
cache | false stops the browser keeping the game's pictures, sounds and data between launches (files over 25 MiB are kept only when a player downloads the game for offline play) | Yes |
languages | Translations in data-<code>/ folders (Translations). false ignores them; { "default": "vi", "original": "ja", "lock": true } sets the language players start in, names the original's language in ⚙ → Language, and keeps everyone on default | Yes, with a new publish |
savesImportedAt | When desktop saves were last uploaded | No need |
Changing auth
{} locks the site on the next deploy and runs the Access setup again. { "mode": "none" } makes it public, after asking why.
All games' settings live in rwk/games.json in the R2 bucket rpgmaker-web-toolkit, keyed by fingerprint (storage).
rwk.json in the game folder
The settings above live in your Cloudflare account. A few can also travel with the game itself, in an optional rwk.json next to index.html (or in the folder you pass, when the game is in its www/), so a repository that publishes itself carries them and analyze counts the same files as the real deploy:
{
"name": "my-game",
"include": ["Fonts2"],
"exclude": ["data-tw/**", "movies/*.webm"]
}| Key | Meaning |
|---|---|
name | The site name of the first deploy, so neither the question nor --name is needed. A published game keeps its name: when they differ, the toolkit warns and uses the published one (rename moves the site) |
include | Added to the include above: extra top-level folders / files to publish, or patterns of files to keep. A folder listed here is not asked about on the first deploy |
exclude | Added to the exclude above: patterns of files to leave out |
Every key is optional. Which value wins: a command-line flag (--name), then rwk.json, then the settings kept in your account, then the defaults. The file's patterns apply to each run that reads them and are not copied into your account, so removing one takes effect at the next deploy.
The toolkit only reads rwk.json, never writes it, and does not publish it. An unknown key is a warning; a file that is not valid JSON, a name that is not a site name, or include / exclude that are not lists of text stop the run (exit code 1) and say what to fix.