local-sim-stack
Run the multiplayer-fabric Quest 3 smoke test locally on macOS using Meta XR Simulator v85 + Godot.
Skill by V-Sekai-fire
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/v-sekai-fire-local-sim-stack
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: backend, testing
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/local-sim-stack
What's inside
- Skill name
local-sim-stack- Description
- Run the multiplayer-fabric Quest 3 smoke test locally on macOS using Meta XR Simulator v85 + Godot. Starts the zone server (headless) then the observer scene (OpenXR client) and verifies connection. Use when iterating on the smoke test or validating a new Godot build.
- License
- MIT
- Metadata
- author: V-Sekai-fire
- Instructions
- 177 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# SOP: Local Meta XR Simulator smoke test stack
Minimum smoke test pass condition: Godot observer scene initialises an OpenXR
session via Meta XR Simulator, connects to the zone server on `127.0.0.1:7443`,
and the simulator shows a multiplayer session in its side panel.
## Prerequisites
| Component | Path |
|---|---|
| Meta XR Simulator v85 | `multiplayer-fabric-meta/MetaXRSimulator.app` |
| Godot editor binary | `multiplayer-fabric-godot/bin/godot.macos.editor.dev.arm64` |
| Game project | `multiplayer-fabric-abyssal/` |
| CRDB certs | `multiplayer-fabric-hosting/certs/crdb/` |
## 1. Activate the OpenXR runtime
Run once per machine (or after a macOS update):
```sh
sudo bash multiplayer-fabric-meta/MetaXRSimulator.app/Contents/Resources/MetaXRSimulator/activate_simulator.sh
```
Verify:
```sh
cat /usr/local/share/openxr/1/active_runtime.json
# Must contain "Meta"
```
Or use the Elixir script (records result to CRDB):
```sh
cd multiplayer-fabric-meta && elixir activate_smoke_test.exs
```
## 2. Launch Meta XR Simulator
```sh
open multiplayer-fabric-meta/MetaXRSimulator.app
```
The activation toggle in the top-left title bar must be **on** (slider right).
The window shows the synthetic environment ("ZONE 2" label is the default scene).
### Accessibility note — macOS toggle
The global activation toggle is a custom `UI element` (not a standard button).
Click it via osascript if the UI is not responding:
```sh
osascript << 'EOF'
tell application "System Events"
tell process "MetaXRSimulator"
tell window 1
set allEls to every UI element
click item 3 of allEls -- position 2061,279 size 26x15 = the toggle knob
end tell
end tell
end tell
EOF
```
If that fails, run `activate_simulator.sh` with sudo directly (see step 1).
## 3. Stop the Docker zone server (if running)
The Docker image `ghcr.io/v-sekai-fire/zone-fabric:latest` is `amd64`-only and
crashes on Apple Silicon (Godot Mono build, missing .NET assemblies). It binds
UDP 7443 but cannot serve connections. Stop it before running locally:
```sh
docker stop multiplayer-fabric-hosting-zone-server-1 2>/dev/null || true
```
Verify port 7443 is free:
```sh
lsof -i udp:7443
# Should show nothing (or only your Godot process after step 4)
```
## 4. Start the local Godot zone server
```sh
GODOT=multiplayer-fabric-godot/bin/godot.macos.editor.dev.arm64
ABYSSAL=multiplayer-fabric-abyssal
"$GODOT" --headless --path "$ABYSSAL" --scene scenes/zone_server.tscn > /tmp/zone_server.log 2>&1 &
echo "Zone server PID: $!"
```
Wait ~3 s then confirm it is listening:
```sh
lsof -i udp:7443 # must show godot.macos process
grep "cert_hash" /tmp/zone_server.log
```
Expected:
```
{"cert_hash":"<base64>","event":"ready","port":7443}
```
## 5. Launch the observer scene (OpenXR client)
```sh
"$GODOT" --path "$ABYSSAL" --scene scenes/observer.tscn > /tmp/observer.log 2>&1 &
```
## 6. Verify pass condition
After ~8 s:
```sh
grep -E "(OpenXR initialised|connecting|FabricPlayerXR)" /tmp/observer.log
grep "recv" /tmp/zone_server.log | wc -l # should be > 0
```From V-Sekai-fire/contract-multiplayer-fabric-skills, MIT.
More from V-Sekai-fire/contract-multiplayer-fabric-skills
- 0.414score
verbalized-sampling
V-Sekai-fire
Increase LLM output diversity without retraining by asking the model to generate N responses with probabilities, then sampling from that distribution.
SkillDFreshness: DClaude Code +9 - 0.414score
local-build-check
V-Sekai-fire
Build multiplayer-fabric-godot locally to reproduce CI failures when GitHub Actions is clogged.
SkillDFreshness: DClaude Code +9 - 0.414score
simplify-then-add-lightness-audit
V-Sekai-fire
Run a verbalized-sampling audit of the multiplayer-fabric monorepo against the Simplify-Then-Add-Lightness ADR.
SkillDFreshness: DClaude Code +9 - 0.411score
ci-check
V-Sekai-fire
Verify gitassembly branch references are consistent and no branch in multiplayer-fabric-godot has failing GitHub Actions runs.
SkillDFreshness: DClaude Code +9 - 0.409score
extract-to-submodule
V-Sekai-fire
Pull a vendored directory out of an existing repo, publish it as a standalone GitHub repo under V-Sekai-fire, and wire it back in as a git submodule.
SkillDFreshness: DClaude Code +9 - 0.409score
cloudflare-networking
V-Sekai-fire
Set up Cloudflare DNS, SSL, and direct port-443 serving for multiplayer-fabric.
SkillDFreshness: DClaude Code +9 - 0.409score
assembly-conflict
V-Sekai-fire
Fix merge conflicts that stop the multiplayer-fabric-merge assembler.
SkillDFreshness: DClaude Code +9 - 0.409score
branch-versioning
V-Sekai-fire
Create versioned branches (feat/foo-001, feat/foo-002) instead of force-pushing.
SkillDFreshness: DClaude Code +9 - 0.407score
platform-header-check
V-Sekai-fire
Verify a C/C++ header in multiplayer-fabric-godot parses cleanly on macOS (clang), Windows (mingw), and Web (emscripten) without a full Godot build.
SkillDFreshness: DClaude Code +9 - 0.406score
dependency-audit
V-Sekai-fire
Review a plan or TODO for hidden risks using known knowns, known unknowns, and unknown unknowns categories.
SkillDFreshness: DClaude Code +9 - 0.406score
sync-check
V-Sekai-fire
Verify all submodules and the root multiplayer-fabric repo are fully pushed to origin with no unpushed commits.
SkillDFreshness: DClaude Code +9 - 0.406score
sync-submodule-pointers
V-Sekai-fire
Advance the multiplayer-fabric monorepo's submodule pointers to match the current HEAD of each submodule and push.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Apr 26, 2026 (6 months ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from V-Sekai-fire
- 0.414score
verbalized-sampling
V-Sekai-fire
Increase LLM output diversity without retraining by asking the model to generate N responses with probabilities, then sampling from that distribution.
SkillDFreshness: DClaude Code +9 - 0.414score
simplify-then-add-lightness-audit
V-Sekai-fire
Run a verbalized-sampling audit of the multiplayer-fabric monorepo against the Simplify-Then-Add-Lightness ADR.
SkillDFreshness: DClaude Code +9 - 0.414score
local-build-check
V-Sekai-fire
Build multiplayer-fabric-godot locally to reproduce CI failures when GitHub Actions is clogged.
SkillDFreshness: DClaude Code +9 - 0.411score
ci-check
V-Sekai-fire
Verify gitassembly branch references are consistent and no branch in multiplayer-fabric-godot has failing GitHub Actions runs.
SkillDFreshness: DClaude Code +9 - 0.409score
extract-to-submodule
V-Sekai-fire
Pull a vendored directory out of an existing repo, publish it as a standalone GitHub repo under V-Sekai-fire, and wire it back in as a git submodule.
SkillDFreshness: DClaude Code +9 - 0.409score
branch-versioning
V-Sekai-fire
Create versioned branches (feat/foo-001, feat/foo-002) instead of force-pushing.
SkillDFreshness: DClaude Code +9
Cite this page
local-sim-stack skill. Agent Mart. https://agentmart.dev/skills/v-sekai-fire-local-sim-stack (last updated 2026-10-24)