WEPPY

Playtest

Run playtests to automatically validate changes and read the results.

Check the status and results of AI-driven playtests, and let the AI control Studio playtesting directly.

Playtest — playtest status and test history

Overview

The Playtest page shows the status and results of playtests the AI has run. It is only accessible when the dashboard is in Studio connected state.

The system_info tool’s play/stop/pause/resume/play_status/run_test actions let the AI control playtesting directly.

Playtest Status

Shows the current playtest state:

StatusMeaning
NotRunningPlaytest is not running
RunningPlaytest is running
PausedPlaytest is paused (Run mode only)

Test History

Lists test results from AI run_test action calls in chronological order:

FieldDescription
TimestampTest execution time
Test ReportLink to the test report
ModeExecution mode (play/run)
DurationTime the test took
StatusResult (Passed/Failed)

Click a test report to view the detailed markdown report and logs.

Key Workflows

Manual Playtest Control

"Start the game in Play mode (F5)"
"Stop the current playtest"

play → confirm state with play_status → end with stop.

Automated Testing (run_test)

"Write and run a test to check whether SpawnLocation is in the correct position"

run_test injects a test script and automatically starts, collects, and cleans up the playtest.

CI-Style Validation

"Test in Run mode (F8) whether the NPC AI reaches its target, and show the logs if it fails"

Run run_test with mode: "run" to perform a server-side test.

Playtest State Machine

Edit ──play──→ Running ──stop──→ Edit
                  │                 ↑
                pause             stop
                  │                 │
                  ↓                 │
               Paused ──resume──→ Running
StateAvailable Actions
editplay
runningstop, pause (Run mode only)
pausedresume, stop
  • Play mode (F5): Client + server simulation. pause/resume not available.
  • Run mode (F8): Server-only simulation. pause/resume available.

run_test Pipeline

run_test automatically orchestrates the following steps:

1. Preparation

  • Fetch Place info (place_info)
  • Clear the existing log buffer

2. Script Injection

  • Create the wrapped test script in ServerScriptService.__MCP_TestRunner
  • The wrapper automatically handles START/FINISHED signals and error tracebacks

3. Execution and Monitoring

  • Start the playtest (Play or Run mode)
  • Poll logs every 500ms
  • Mark complete when the [WEPPY_TEST]:FINISHED signal is received
  • Auto-terminate on timeout (default 60s, max 300s)

4. Cleanup

  • Automatically stop the playtest
  • Delete the injected test script
  • Collect final logs

5. Report Generation

Reports and logs are saved locally under {projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/.

{projectRoot}/weppy-project-sync/place_XXXXX/tests/YYYYMMDD-HHmmss/
├── test-report.md    # Result summary (status, time, signals)
└── test-log.txt      # Full logs (timestamp, sequence, level)

test-report.md example:

# Test Report

- Status: passed
- Test Name: spawn_location_test
- Mode: run
- Place ID: 123456
- Duration (ms): 1523
- Total Logs: 12
- Signal Count: 2

## Signals

- START: 2026-03-12T10:30:00.000Z
- FINISHED: 2026-03-12T10:30:01.523Z

Action Reference

ActionDescriptionParametersTier
playStart playtest in Play (F5) or Run (F8) modemode: “play” | “run”Pro
stopStop the current playtestPro
pausePause the playtest in Run modePro
resumeResume a paused Run mode playtestPro
play_statusGet playtest state and available actionsPro
run_testInject test script → run → collect logs → generate reportscript (required), test_name, mode, timeoutPro

run_test Parameters

ParameterTypeRequiredDescription
scriptstringLuau test code to execute
test_namestringTest name shown in the report
mode”play” | “run”Playtest mode (default: “play”)
timeoutnumberTimeout in seconds (default: 60, max: 300)

Use Cases

Analyzing Test Failures

"I want to find out why the automated test I just ran failed"

Find the Failed test in Test History and click the Test Report to view the detailed logs and failure cause.

Reviewing Test History

"I want to see the pass/fail status of all tests I ran today"

Check the timestamps and Status in Test History to track test result trends.