create_round_state_machine
Generate a host-authoritative MULTI-STATE round machine (the complex variant of create_round_phase_machine). Produces one .cs file: a RoundManager singleton component + an abstract RoundState base (Begin/Tick/OnTimeUp/Finish lifecycle with a per-state [Sync(SyncFlags.FromHost)] TimeUntil timer) +...
This record as markdown: /tools/sbox/create-round-state-machine.md
What create_round_state_machine does on Sbox
AI agents use create_round_state_machine to create or update resources in Sbox, usually the action step of a workflow, after the agent has gathered context. Every call changes real data in your Sbox environment.
Why create_round_state_machine is rated Medium
This tool creates and writes new C# source code files (.cs) that are added to the game engine project, modifying the game's state machine logic. While it generates code rather than deleting it, the output is persisted as new files and components that alter the game's behavior. This is a Write operation because it creates new, reversible artifacts (code files and game components can be removed or modified).
From the tool's definition 'Generate a host-authoritative MULTI-STATE round machine' and 'Produces one .cs file: a RoundManager singleton component + an abstract RoundState base...' and 'The manager auto-attaches the state components on start'
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs create_round_state_machine safely
PolicyLayer is an MCP gateway: it sits between your AI agents and Sbox, and checks every tool call against a rule you set before the call runs. Nothing changes on the server itself. For create_round_state_machine, this is the rule to start with:
create_round_state_machine stays usable, but capped: an agent stuck in a loop can't make hundreds of changes a minute. Everything else on the server is denied unless you say otherwise.
The button opens the PolicyLayer dashboard: create your workspace, connect Sbox, apply this rule, and every create_round_state_machine call is checked against it from then on.
Questions about create_round_state_machine
Generate a host-authoritative MULTI-STATE round machine (the complex variant of create_round_phase_machine). Produces one .cs file: a RoundManager singleton component + an abstract RoundState base (Begin/Tick/OnTimeUp/Finish lifecycle with a per-state [Sync(SyncFlags.FromHost)] TimeUntil timer) + one sealed stub class per named state. The manager auto-attaches the state components on start (you only place the manager), ticks ONLY the active state on the host, Advance()s on timeout with index-wrap, SKIPS any state whose CanEnter() returns false, and announces every transition via a static OnStateChanged event plus an [Rpc.Broadcast] mirror so the host fires immediately and proxies converge without waiting a snapshot (the [Sync] index reconciles late joiners). Single-player safe. USE THIS (not create_round_phase_machine) when each phase needs its OWN behaviour — entry side-effects, per-frame Tick logic, a skip condition, or copy-data-out-on-exit; use the phase machine for 3–5 light phases that differ only in duration. Optionally attached to an existing GameObject by GUID (after a hotload). It is categorised as a Write tool in the Sbox MCP Server, which means it can create or modify data. Consider rate limits to prevent runaway writes.
Register the Sbox MCP server in PolicyLayer and add a rule for create_round_state_machine: allow, deny, rate-limit, or require approval. Point your MCP client at the PolicyLayer proxy URL and the rule is enforced on every call, before it reaches Sbox. Nothing to install.
create_round_state_machine is a Write tool with medium risk. Write tools should be rate-limited to prevent accidental bulk modifications.
Yes. Add a rate_limit block to the create_round_state_machine rule in your PolicyLayer policy. For example, setting max: 10 and window: 60 limits the tool to 10 calls per minute. Rate limits are tracked per agent session and reset automatically.
Set action: deny in the PolicyLayer policy for create_round_state_machine. The AI agent will receive a policy violation error and cannot call the tool. You can also include a reason field to explain why the tool is blocked.
create_round_state_machine is provided by the Sbox MCP server (sbox-mcp-server). PolicyLayer sits as a proxy in front of this server to enforce policies before tool calls reach the server.
More on Sbox, and thousands of servers like it.
This server
Across the catalogue