Skip to main content
Glama

Save Multiplayer settings

save_multiplayer
Destructive

PARTIAL SAVE: writes ONLY the 'Multiplayer' field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched. Realtime multiplayer (WebRTC peer-to-peer) - the engine is only the signaling server: it creates rooms, relays WebRTC offer/answer/ICE between room members and optionally relays lobby chat; game traffic then flows directly between players' browsers and never touches the server. The section is ABSENT by default, which means multiplayer is DISABLED: add it (SystemState.Enabled = true) to turn the Multiplayer module on. DefaultTopology: Mesh (everyone connects to everyone, 2-4 players) or Host (star: every player connects to the host, which runs the authoritative game simulation - required by host-authoritative games such as VoxelCraft). MaxPlayersPerRoom is a hard cap (default 8). MemberTimeoutMs is also how long a silent host keeps the host role before another member may take it over. IceServers are PUBLIC: list only STUN servers there; short-lived TURN credentials are issued by the engine to room members on create/join.

Input Schema

NameRequiredDescriptionDefault
valueYesV2 definition of the title's realtime multiplayer (WebRTC signaling). Public-only data: feature switch, topology/chat defaults, limits, ICE servers.
title_idYesTitleID, для которого сохраняются данные.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / value / properties / RecordVoices
      Added value: +{
      +  "description": "Whether OTHER players' voices are included in videos a player records on the platform. On by default (the game then shows a 'Conversations may be recorded' notice); off = only the game sound and the recording player's own voice. Read by the client SDK (the multiplayer module), not by the server: videos are recorded in the player's browser.",
      +  "type": "boolean"
      +}
    • addedInput schema / properties / value / properties / VoiceEnabled
      Added value: +{
      +  "description": "Voice chat in rooms. On by default; the room creator may turn it off for their room. Voice goes peer-to-peer in the same connection as game data (the server never sees it).",
      +  "type": "boolean"
      +}
  2. First observed

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare destructiveHint=true and readOnlyHint=false, and the description adds real value on top: it scopes the write to a single field (so other config survives), explains that an absent section means multiplayer is disabled, and gives behavioral defaults (MaxPlayersPerRoom hard cap 8, Mesh vs Host topology semantics, MemberTimeoutMs governing host takeover). It does not cover permissions/authorization or what happens on invalid values, but it substantially exceeds the annotation baseline.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the most important fact (partial save), then a coherent narrative. It is long, and a fair amount of the topology/ICE detail duplicates the verbose schema descriptions, but every sentence is on-topic and ordered sensibly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a nested, mutation-only tool with no output schema and a destructive annotation, the description supplies the missing behavioral layer (defaults, disabled-by-default semantics, cap values). Gaps remain around required privileges and failure behavior on invalid input, but it is well covered for the complexity involved.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3; the description goes further by adding semantics the schema alone conveys only partially - topology choice tied to host-authoritative games, MemberTimeoutMs also governing host takeover, and the public-only nature of IceServers versus engine-issued TURN credentials. These are interpretive hints rather than syntax, which is why it lands at 4 rather than 5.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Opens with a specific verb+resource+scope: 'PARTIAL SAVE: writes ONLY the Multiplayer field of TitlePublicConfigurationModel; all other v1/v2 fields stay untouched.' This both names the operation and distinguishes it from the large family of sibling save_* tools by stating exactly which slice of config is written.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than stated: an agent can infer this is the way to enable/configure multiplayer, and the note that the section is ABSENT by default and must be added to enable the module is helpful context. But there is no explicit when-to-use/when-not guidance and no routing to an alternative (e.g. get_multiplayer to read current state first, or a full-config save tool).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.