Save Game Spec settings
save_game_specPARTIAL SAVE: writes ONLY the 'GameSpec' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. GameSpec - the WHOLE game of a game-constructor title (module kit-game) as data, stored as ONE JSON string (a JSON object serialized to text). The game reads it at sign-in and plays it; a spec that does not validate runs the built-in demo and logs why. Shape (format v1): {"v":1, "engine":"phaser", "seed"?:string, "modes":[{"id", "preset" (a genre preset id, e.g. "runner"), "role":"core"|"meta"|"embedded", "params"?:{preset params, e.g. difficulty 0..1, generosity 0..1, lanes, lives}, "blockParams"?:{blockId:{param:value}} }], "resources"?:[{"id" (snake_case), "kind":"currency"|"item"|"score"|"local", "ref"? (the title's currency/item id for currency/item), "name"? (text key)}], "flows"?:[{who produces/consumes which resource}], "rules"?:[{"id", "on" (event), "when"? (formula), "do":[effects]}], "palette"?:{role:"#rrggbb"} (roles background, ground, lane, primary, secondary, danger, coin, accent, text, muted), "texts"?:{key:{language:text}} (keys title, hint and the resource name keys), "rewards"?:{"adMultiplier":3, "vipMultiplier":5}}. A currency/item resource needs a source and a sink (a mode or system: like system:store). Unknown fields are kept. Max 64 KB; v must be an integer >= 1. Edit by reading it with get_game_spec, changing the JSON and saving the whole string back.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"title_id": "<title_id>",
"value": "<value>"
},
"name": "save_game_spec"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| value | Yes | New value for the GameSpec field. | |
| title_id | Yes | TitleID, для которого сохраняются данные. |