scaffold_map_vote_flow
Scaffold an end-of-round map vote. Three files: <Name>.cs (sealed host-authoritative controller) + <Name>Panel.razor + <Name>Panel.razor.scss (vote UI: one button per map, live tallies, countdown, own-pick highlight, winner banner). Flow: host calls StartVote() (usually from a post-round phase/st...
This record as markdown: /tools/sbox/scaffold-map-vote-flow.md
What scaffold_map_vote_flow does on Sbox
AI agents use scaffold_map_vote_flow 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 scaffold_map_vote_flow is rated Medium
Creates multiple source files for a map vote UI system; reversible file creation.
From the tool's definition Scaffold three files: controller, Razor panel, SCSS stylesheet
Risk signalsBulk/mass operation — affects multiple targets
Attacks that exploit this kind of access
The rule that runs scaffold_map_vote_flow 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 scaffold_map_vote_flow, this is the rule to start with:
scaffold_map_vote_flow 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 scaffold_map_vote_flow call is checked against it from then on.
Questions about scaffold_map_vote_flow
Scaffold an end-of-round map vote. Three files: <Name>.cs (sealed host-authoritative controller) + <Name>Panel.razor + <Name>Panel.razor.scss (vote UI: one button per map, live tallies, countdown, own-pick highlight, winner banner). Flow: host calls StartVote() (usually from a post-round phase/state, or set the AutoStart [Property]) -> clients click -> votes route client-to-host via [Rpc.Host] SubmitVote with the caller re-resolved HOST-SIDE from Rpc.Caller (null-checked — Connection has no IsValid on this SDK) and the map index re-validated (re-votes overwrite, keyed by SteamId) -> tallies replicate via [Sync(FromHost)] NetList<int> -> when the [Sync] TimeUntil countdown expires the host picks the winner (most votes; ties break deterministically via one LCG scramble of a time seed — no System.Random) -> after resultLingerSeconds the HOST calls Scene.LoadFromFile(winner) (API verified live on this SDK; clients follow via the scene networking layer — verify the client hand-off in a real multi-client session). Static event OnVoteFinished(sceneFile) fires on every machine. Returns { created, componentPath, razorPath, scssPath, className, panelClassName, maps, voteDurationSeconds, resultLingerSeconds, autoStart, note, nextSteps }. REQUIREMENTS: the controller must sit on a NETWORK-SPAWNED object in multiplayer or [Sync] never replicates; if maps is omitted the MapScenes list is generated EMPTY and StartVote() refuses with a warning until you fill it in the inspector. Follow with trigger_hotload, attach via add_component_with_properties, host the panel under add_screen_panel. 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 scaffold_map_vote_flow: 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.
scaffold_map_vote_flow 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 scaffold_map_vote_flow 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 scaffold_map_vote_flow. 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.
scaffold_map_vote_flow 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