Skip to main content
Glama

Launch a game session

launch

Launch tModLoader in server-client mode to test mod sync behavior. Specify port, player, world, and timeout; waits for a live heartbeat before returning.

Instructions

Start tModLoader and wait until it can actually answer.

Args: mode: "server_client" — a server plus one joined client. It is the only mode there is, and the only way to observe what a CLIENT sees, which is where most sync bugs live. The other two are refused because the engine cannot satisfy them: "singleplayer" has no headless entry point, and "server" alone never ticks, so the mod never polls and never answers. port: Server port. Change it only if something else holds the default. player: Character name for the client. Must already exist — -player does not create one, and a duplicate name is kicked. world: WINDOWS path to a .wld, overriding TMODLOADER_WORLD_WIN. A WSL path is refused rather than tried: tModLoader runs as a Windows process, cannot resolve /mnt/c, and the only symptom is a readiness timeout blaming the heartbeat. timeout: Seconds to wait for readiness. Raise it on a slow machine or a large world — the default assumes neither.

Waits for a heartbeat that is BOTH recent and reporting a live world. Those fail differently — a stale-but-ready heartbeat means the process died, a fresh-but-not-ready one means it is still loading — and checking only existence conflates them.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeNoserver_client
portNo
worldNo
playerNon43n
timeoutNo

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
modeYes
portYes
worldYes
playerYes
started_pidsYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.6.3

TDQS

A4.8/5.0
Behavior5/5

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

Annotations only say non-read-only and non-destructive; the description carries the behavioral burden. It explains the readiness wait, distinguishes stale vs not-ready heartbeats, and states why singleplayer/server modes are impossible – all beyond annotation data.

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

Conciseness5/5

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

The description is long but dense; the first line gives the core purpose, the Args section is organized, and the closing heartbeat paragraph justifies nuanced behavior. No sentence is filler.

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

Completeness5/5

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

For a complex launch tool with five parameters, an output schema, and a readiness protocol, the description covers all parameter semantics, failure distinctions, and typical adjustments. Nothing the agent needs to call it correctly is missing.

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

Parameters5/5

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

With 0% schema description coverage, this description compensates fully: each of the five parameters gets a purpose, constraint, and failure mode, e.g., player must already exist, world must be a Windows path. It adds substantial meaning beyond the raw schema.

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?

The first sentence states a specific action: start tModLoader and wait until it is ready. It distinguishes from sibling tools by naming the launch/readiness behavior and later explains the only supported mode, so an agent can tell it apart from join or restart.

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

Usage Guidelines4/5

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

It gives explicit conditions for parameter use: only server_client mode works, port should be changed only if needed, timeout raised on slow machines, and WSL world paths are refused. However, it does not name sibling tools as alternatives (e.g., join for an existing session), so it misses the explicit alternative routing that would earn a 5.

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