{"service":"platphorm-quake","version":"1.0.0","baseUrl":"https://quake.ja1.io","purpose":"QuakeCraft voxel browser FPS with Wyrmhold Wilds as the featured arena, synchronized destructible cover, multiplayer rooms, bot practice, match stats, and game MCP/API surfaces.","featuredArena":"wyrmhold","endpoints":{"public":["/api/health","/api/multiplayer/status","/api/v1/servers","/api/v1/matches","/api/v1/matches/active","/api/v1/matches/active/{id}","/api/v1/leaderboard","/api/v1/stats","/api/v1/maps","/api/v1/modes","/api/v1/weapons","/api/v1/game/manifest","/api/v1/game/config","/api/v1/player/local-schema","/api/v1/performance/status","/api/v1/xr/status","/api/v1/lan/status","/api/v1/model/status","/api/v1/bots","/api/v1/bots/strategy","/api/v1/ai/coach","/api/events","/api/docs","/api/mcp"],"protected":["/api/v1/servers","/api/v1/servers/{id}","/api/v1/servers/{id}/heartbeat","/api/v1/matches","/api/v1/matches/{id}/record","POST /api/v1/ai/coach"],"discovery":["/llms.txt","/llms-full.txt","/llms-index.json","/openapi.yaml","/openapi.json","/rss.xml","/feed.xml","/sitemap.xml","/sitemap-main.xml","/sitemap-index.xml","/.well-known/mcp.json","/.well-known/agents.json","/.well-known/trust.json"]},"authPolicy":{"env":"PLATPHORM_API_KEY","enforcementDefault":true,"acceptedHeaders":["Authorization: Bearer $PLATPHORM_API_KEY","X-PlatPhorm-API-Key: $PLATPHORM_API_KEY"],"rejectedPlatformAuthNames":["site-specific platform keys","service-specific trace or MCP keys"]},"publicAccess":{"homepage":true,"play":true,"botPractice":true,"botVsBotCombat":true,"botCombatPolicy":"human_backed_rooms_hunt_humans_only; bot_duels_only_in_true_bot_only_rooms","adaptiveBotLearning":"bounded_browser_local","botHitResolution":"physics_matched_vertical_capsule_nearest_physical_hit","combatantBroadphase":"bots_and_remote_humans_indexed_once_per_shot_with_exact_grid_ray_candidates","botMaxHealth":60,"botDamageFeedback":"billboard_health_bar_hit_marker_floating_damage","mapLighting":"theme_specific_ambient_hemisphere_key_aces_exposure","generatedArenaSigils":102,"sharedArenaExperienceContract":true,"distanceAwareCombatAudio":true,"multiplayerJoinRetry":"bounded_exponential_backoff","multiplayerClientContext":"stable_gameplay_actions_isolated_from_poll_latency_status","multiplayerTransport":"authenticated_hibernatable_websocket_with_http_recovery","multiplayerAuthority":"room_durable_object_orders_presence_match_round_score_timing_pickups_destruction_and_matter","arenaSwitching":"host_authoritative_identity_preserving_new_round","crouchAndSlide":true,"mobileHeldDualStickInput":true,"playerSimulation":"fixed_60hz_pre_physics_with_render_only_camera_and_network_presentation","magazineReload":"desktop_R_and_touch_control","grenadePhysics":"bounded_bounce_fuse_radial_damage","breakableSurfaceBlocks":2646,"headBreakFromBelow":true,"pickupPresentation":"generated_ascii_voxel_glyph_batch_with_authoritative_room_respawn_state","deathPresentation":"persistent_compiled_champion_pose_without_lethal_frame_remount","hostAuthority":"room_creator_controls_map_mode_and_bot_fill; map_or_mode_change_starts_a_synchronized_new_round","destructibleWorld":"room_durable_object_snapshot_with_bounded_rapier_debris","durableObjectRoomAdmission":"atomic_per_room","serverBrowser":true,"readOnlyMcpIntrospection":true,"protectedWritesRequirePlatphormApiKeyWhenEnabled":true},"playableStatus":{"publicPlay":"active","localBotMatches":"active","multiplayer":"active on Cloudflare Durable Objects with one strongly consistent SQLite-backed room coordinator per match; local memory is test/development-only","lanTransport":"local launcher and WebRTC primitives are available; browser UI still uses HTTP sessions unless a LAN room advertises a compatible join URL","durablePersistence":"active when Cloudflare D1 is enabled for official match records, leaderboard aggregates, and server registrations","webgl":"detected in the browser at runtime","webgl2":"used when available for enhanced map materials and effects","webxr":"client-runtime-detected for immersive-ar and immersive-vr; server discovery never claims headset support for a visitor","noWebgl":"honest fallback required by the play shell"},"xr":{"status":"client-runtime-detected","targetPlatforms":["Meta Quest Browser","WebXR-compatible AR/VR browsers"],"browserRequirements":{"secureContext":"required","api":"navigator.xr","runtimeDetection":"Clients call navigator.xr.isSessionSupported('immersive-ar') and navigator.xr.isSessionSupported('immersive-vr') before showing start buttons."},"sessionModes":{"immersiveAr":{"status":"runtime-detected","requestMode":"immersive-ar","purpose":"Quest passthrough or other browser AR presentation when the user device exposes it.","optionalFeatures":["local-floor","bounded-floor","hand-tracking","layers","anchors","plane-detection","hit-test"]},"immersiveVr":{"status":"runtime-detected","requestMode":"immersive-vr","purpose":"Headset arena presentation when the user device exposes immersive VR.","optionalFeatures":["local-floor","bounded-floor","hand-tracking","layers"]}},"comfortProfile":{"defaultEnabled":true,"screenShake":"disabled while an XR session is active","renderBudget":"reduced framebuffer scale, limited shadows, limited particles, and adaptive frame-pressure downshift","transparentPassthrough":"immersive-ar hides the skybox/fog and clears transparent where the browser supports passthrough","turning":"right-controller thumbstick uses 45-degree snap turns for comfort"},"inputMapping":{"leftThumbstick":"move and strafe","rightThumbstick":"snap turn","trigger":"fire current weapon","gripOrStickClick":"jump","faceButtons":"primary buttons cycle weapons and secondary buttons reload when exposed through the WebXR gamepad profile"},"questLaunch":{"vrUrl":"/play?map=wyrmhold&mode=ffa&xr=vr","arUrl":"/play?map=wyrmhold&mode=ffa&xr=ar","manifestShortcuts":"public manifest exposes Quest VR and Quest AR launch shortcuts","userGestureRequired":"WebXR sessions require the preflight launch gesture before navigator.xr.requestSession can start; the game Canvas mounts afterward."},"nativeWrapperHandoff":{"status":"bubblewrap-config-ready-no-apk","packageId":"com.platphormnews.quake","launchUrl":"https://quake.ja1.io/play?map=wyrmhold&mode=ffa&xr=vr","arLaunchUrl":"https://quake.ja1.io/play?map=wyrmhold&mode=ffa&xr=ar","artifact":"native/meta-quest/quest-native-wrapper.json","twaManifest":"native/meta-quest/twa-manifest.json","localReadinessCommand":"pnpm quest:check","apkStatus":"not-built-in-this-web-repo","evidenceRequired":["signed Android/Quest package build","Quest headset launch capture","controller gameplay capture","AR passthrough capture"]},"gameplayTruth":{"flatScreen":"active","mobileTouch":"active","xrSessionStart":"active when browser runtime supports WebXR and the user launches VR or AR from preflight before game load","xrControllerGameplay":"active for WebXR gamepad trigger fire, thumbstick locomotion, grip or stick-click jump, weapon cycle, reload, and comfort snap-turn","headsetInstall":"not required for browser WebXR; native Quest APK/store packaging is represented by the native wrapper handoff artifact but no signed APK is built in this web repo"},"publicSafe":true,"protectedActionRequired":false,"noFakeAvailability":"Server routes do not claim a visitor has AR or VR hardware. Capability support is measured only in the browser runtime."},"gameFeel":{"status":"active","adrenalineSurge":"Kill streaks, low-health clutch state, and Quad Damage drive deterministic movement and jump surge tuning with HUD and scene feedback.","realMatchStats":["shotsFired","shotsHit","damageDealt","damageTaken","bestKillStreak"],"fragMomentum":"Player frags grant deterministic local health, armor, and current-weapon ammo rewards to keep combat flow moving.","adaptiveBots":"Bot movement, accuracy, and reaction pressure adapt within bounded limits to player kill streak, critical-health comeback state, and earned living-arena heat.","arenaEvents":["RIFT RUSH: Faster strafes. Faster trouble.","MOON JUMP: Coyote-time launch routes open up.","QUAD SPARK: Every hit lands a little louder."],"melee":"Gauntlet, Khopesh Blade, and Sun Staff use explicit short-range arc profiles instead of fake long-range hitscan.","arenaStream":"Playable maps compile into deterministic arena object streams with platform, wall, pickup, waypoint, spawn, teleporter, jump-pad, and scenic records for fast client processing.","topologyBots":"Bots use arena topology for recovery pickups, melee rush pressure, kiting, high-value control points, and deterministic roam routes across all playable maps.","predictiveBots":"Bots retain viable targets, score threat and health pressure, acquire by weapon range, pursue remembered opponents, require a clear static/destructible sight ray before firing, lead rockets/plasma from bounded recent target motion, resolve hits through spatial aim rays, expose visible near misses, and counter-strafe briefly after recent damage.","clientLatency":"Remote players use packet-cadence-aware, frame-rate-independent interpolation with teleport snap; movement publishes are serialized, coalesced, sequence-tagged, and atomically reject stale Durable Object room updates while adaptive polling holds a start-to-start LAN/web/background cadence with bounded clock correction.","matchReliability":"Active matches keep a bounded redacted local reliability journal; generic runtime and multiplayer transport failures never trigger release recovery navigation, and repeated failures compact into one incident signature.","rematch":"Connected results use server-normalized same-room finish/readiness/countdown state; a timeout cannot reset shared world state until every active fighter has finished, while degraded/local play retains an immediate local restart.","optionalAssets":"All 25 typed Blocklands 512px WebP materials are distributed across deterministic six-slot FFA, Duel, TDM, CTF, BR, and BRCTF loadouts with the same draw topology. A bounded versioned same-origin PK3 streams 25 materials, 16 skin textures, 16 prop textures, metadata, one GLB landmark, and eight visual-only scenic landmarks only after input readiness; optional voxel textures and original ASCII markers never suspend the match-critical scene.","compressedAssets":"GLTFLoader is wired to version-matched, self-hosted Three r185 Draco and Basis WebAssembly decoders on Cloudflare Workers Assets. PK3 paths, types, entry counts, compressed/uncompressed size, manifest identity, and SHA-256 integrity are validated before scene use.","audio":"Adaptive procedural Web Audio uses separate SFX/UI/music buses, compression, melee swishes, weapon transients, and pickup cues without a continuous synthesized arena bed.","feedback":"Shot pulse, hit/headshot marker, bounded confirmed-hit organic impact particles, near-miss pressure, floating damage, combo meter, streak medals, kill feed, and real post-match grade are shown in the HUD.","hitRealism":"Player shots use deterministic camera-plane weapon spread and nearest physical head/torso/leg capsule intersections; organic impact particles are emitted only for confirmed humanoid hits.","livingArena":"Named spatial districts, 45-second traversal/frag contracts, world beacons, real bounded rewards, and combat heat add changing match routes without replacing each map's layout or identity; human fun evidence remains open.","spawnSafety":"Authored spawns are normalized against static collision for players and bots; deterministic respawns plus a movement-requested eight-second trap window recover only genuinely stuck entrants.","practiceDifficulty":"Practice bots use 60 HP, a wider shoulder-readable target capsule, and gentler bounded local learning; tactical behavior remains active without inflated durability.","quickPlayPracticeTtk":[{"weapon":"gauntlet","zone":"torso","targetHealth":60,"damagePerHit":50,"hitsToEliminate":2,"optimalTimeMs":400},{"weapon":"gauntlet","zone":"head","targetHealth":60,"damagePerHit":75,"hitsToEliminate":1,"optimalTimeMs":0},{"weapon":"machinegun","zone":"torso","targetHealth":60,"damagePerHit":9,"hitsToEliminate":7,"optimalTimeMs":600},{"weapon":"machinegun","zone":"head","targetHealth":60,"damagePerHit":14,"hitsToEliminate":5,"optimalTimeMs":400},{"weapon":"grenadelauncher","zone":"torso","targetHealth":60,"damagePerHit":92,"hitsToEliminate":1,"optimalTimeMs":0},{"weapon":"grenadelauncher","zone":"head","targetHealth":60,"damagePerHit":92,"hitsToEliminate":1,"optimalTimeMs":0}],"arenaGuidance":"Optional district, contract, and heat overlays are off by default and can be enabled in Settings. CTF flag/base markers and objective directions remain visible during flag play.","combatMatter":"All restored arenas support a shared break-to-build combat economy with destructible bricks plus cover, low cover, step, ramp, and bridge placement, preview, cancellation, protected spawns, cost, durability, weapon counterplay, 45-second battlefield persistence, an eight-matter inventory, a six-piece player cap, compact touch controls, ordered room events, and bounded Durable Object room snapshots for late join and reconnect. Blocklands retains authored lanes while other maps derive cached lanes from supported platform geometry; sustained multi-instance chaos and human-play convergence remain open."},"maps":{"count":12,"playable":12,"data":[{"id":"wyrmhold","name":"Wyrmhold Wilds","displayName":"Wyrmhold Wilds","description":"Explore a dragon keep with a pillared atrium, covered cloisters, twin reliquary halls, walkable tower and battlement circuits, river crossings, and hidden flanking gates. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":16,"pickups":23,"botWaypoints":247,"jumpPads":2,"teleporters":2,"previewImage":"/maps/wyrmhold-poster.svg","playUrl":"/play?map=wyrmhold","degradedReason":null,"metadata":{"accentColor":"#ff9d45","killFloorY":-22,"boundaries":"kill floor at y=-22; 454 collision platforms","visualTheme":"wyrmhold","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":54,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/waterfall-valley.webp","/assets/quakecraft/scenes/forest-canyon.webp"],"scenicProps":["/assets/quakecraft/props/luminous-willow.webp","/assets/quakecraft/props/coastal-water-fountain.webp"],"symbols":["/assets/quakecraft/svg/actions/break.svg","/assets/quakecraft/svg/navigation/cave.svg","/assets/quakecraft/svg/world/waterfall.svg","/assets/quakecraft/svg/combat/rocket.svg"]},"breakableBlocks":193,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":16,"navigationPointCount":247,"pickupCount":23,"mobilityRouteCount":4,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/wyrmhold/stream","objectCount":997,"navigationTiles":258,"movementRoutes":1664,"specialRoutes":6,"pickupObjectives":23,"chunkCount":20,"objectHash":"a4c00b4d","bounds":{"width":120,"depth":103,"height":20.1}}}},{"id":"nomarch","name":"Nomarch Labyrinth","displayName":"NOMARCH / Labyrinth Pyramid","description":"A winding Egyptian-inspired maze wrapped around a towering pyramid, built for ambushes, melee chases, and chaotic center control. Explore a breachable buried sanctum: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":15,"pickups":24,"botWaypoints":102,"jumpPads":6,"teleporters":5,"previewImage":"/maps/nomarch-poster.svg","playUrl":"/play?map=nomarch","degradedReason":null,"metadata":{"accentColor":"#f5b45f","killFloorY":-16,"boundaries":"kill floor at y=-16; 209 collision platforms","visualTheme":"nomarch","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":50,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/desert-mesas.webp","/assets/quakecraft/scenes/ancient-grove.webp"],"scenicProps":["/assets/quakecraft/props/movable-rune-boulder.webp","/assets/quakecraft/props/luminous-willow.webp"],"symbols":["/assets/quakecraft/svg/actions/climb.svg","/assets/quakecraft/svg/navigation/cave.svg","/assets/quakecraft/svg/world/boulder.svg","/assets/quakecraft/svg/combat/power-core.svg"]},"breakableBlocks":139,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":15,"navigationPointCount":102,"pickupCount":24,"mobilityRouteCount":11,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/nomarch/stream","objectCount":562,"navigationTiles":129,"movementRoutes":651,"specialRoutes":17,"pickupObjectives":24,"chunkCount":11,"objectHash":"a71e58f5","bounds":{"width":88,"depth":123.6,"height":19.55}}}},{"id":"q3dm17","name":"The Longest Yard","displayName":"Q3DM17 / The Longest Yard","description":"Classic floating space arena with multi-tiered platforms Explore a breachable void citadel: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":11,"pickups":24,"botWaypoints":94,"jumpPads":6,"teleporters":4,"previewImage":"/maps/voidyard-poster.svg","playUrl":"/play?map=q3dm17","degradedReason":null,"metadata":{"accentColor":"#ff6600","killFloorY":-25,"boundaries":"kill floor at y=-25; 165 collision platforms","visualTheme":"voidyard","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":59,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/void-rift-horizon.webp","/assets/quakecraft/scenes/aerial-drone-lanes.webp"],"scenicProps":["/assets/quakecraft/props/floating-city-patrol-drone.webp","/assets/quakecraft/props/rift-teleporter-frame.webp"],"symbols":["/assets/quakecraft/svg/actions/jump.svg","/assets/quakecraft/svg/navigation/high-ground.svg","/assets/quakecraft/svg/world/portal.svg","/assets/quakecraft/svg/combat/precision.svg"]},"breakableBlocks":80,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":11,"navigationPointCount":94,"pickupCount":24,"mobilityRouteCount":10,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/q3dm17/stream","objectCount":451,"navigationTiles":115,"movementRoutes":552,"specialRoutes":16,"pickupObjectives":24,"chunkCount":9,"objectHash":"9a0ef335","bounds":{"width":70.8,"depth":89.6,"height":25.5}}}},{"id":"forge","name":"The Forge","displayName":"The Forge","description":"Industrial arena with catwalks over molten depths Explore a breachable smelter works: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":11,"pickups":24,"botWaypoints":98,"jumpPads":6,"teleporters":3,"previewImage":"/maps/forge-poster.svg","playUrl":"/play?map=forge","degradedReason":null,"metadata":{"accentColor":"#ff3300","killFloorY":-20,"boundaries":"kill floor at y=-20; 165 collision platforms","visualTheme":"forge","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":63,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/volcanic-basin.webp","/assets/quakecraft/scenes/floating-city-storm.webp"],"scenicProps":["/assets/quakecraft/props/destructible-supply-crate.webp","/assets/quakecraft/props/movable-basalt-boulder.webp"],"symbols":["/assets/quakecraft/svg/actions/break.svg","/assets/quakecraft/svg/navigation/spawn.svg","/assets/quakecraft/svg/world/storm.svg","/assets/quakecraft/svg/combat/rocket.svg"]},"breakableBlocks":116,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":11,"navigationPointCount":98,"pickupCount":24,"mobilityRouteCount":9,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/forge/stream","objectCount":498,"navigationTiles":112,"movementRoutes":547,"specialRoutes":15,"pickupObjectives":24,"chunkCount":10,"objectHash":"858edcfc","bounds":{"width":101.25,"depth":76.936,"height":26.35}}}},{"id":"iceworld","name":"Frozen Crossing","displayName":"ICEWORLD / Frozen Crossing","description":"A fortified frozen arena with ice bridges, a frozen river crossing, sniper nests, tunnels, and mirrored CTF strongholds. Explore a breachable glacier fort: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":12,"pickups":26,"botWaypoints":107,"jumpPads":6,"teleporters":6,"previewImage":"/maps/iceworld-poster.svg","playUrl":"/play?map=iceworld","degradedReason":null,"metadata":{"accentColor":"#88ccff","killFloorY":-10,"boundaries":"kill floor at y=-10; 180 collision platforms","visualTheme":"frozen-crossing","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":53,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/glacial-citadel.webp","/assets/quakecraft/scenes/moonlit-coast.webp"],"scenicProps":["/assets/quakecraft/props/frost-crystal-tree.webp","/assets/quakecraft/props/fortress-water-gate.webp"],"symbols":["/assets/quakecraft/svg/actions/slide.svg","/assets/quakecraft/svg/navigation/respawn.svg","/assets/quakecraft/svg/world/waterfall.svg","/assets/quakecraft/svg/combat/shield.svg"]},"breakableBlocks":109,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":12,"navigationPointCount":107,"pickupCount":26,"mobilityRouteCount":12,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/iceworld/stream","objectCount":515,"navigationTiles":127,"movementRoutes":680,"specialRoutes":18,"pickupObjectives":26,"chunkCount":11,"objectHash":"86d29801","bounds":{"width":70.6,"depth":75.4,"height":27.1}}}},{"id":"riftworks","name":"Riftworks Carnival","displayName":"Riftworks Carnival","description":"A neon trick-jump arena with rift rings, bounce lanes, snack-sized platforms, and constant route decisions. Explore a breachable rift cathedral: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":11,"pickups":24,"botWaypoints":100,"jumpPads":8,"teleporters":5,"previewImage":"/maps/riftworks-poster.svg","playUrl":"/play?map=riftworks","degradedReason":null,"metadata":{"accentColor":"#00ffc8","killFloorY":-22,"boundaries":"kill floor at y=-22; 165 collision platforms","visualTheme":"riftworks","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":49,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/living-arena-distant.webp","/assets/quakecraft/scenes/neon-city-skyline.webp"],"scenicProps":["/assets/quakecraft/props/arena-jump-pad.webp","/assets/quakecraft/props/movable-fortress-slab.webp"],"symbols":["/assets/quakecraft/svg/actions/interact.svg","/assets/quakecraft/svg/navigation/extraction.svg","/assets/quakecraft/svg/world/floating-city.svg","/assets/quakecraft/svg/combat/scatter.svg"]},"breakableBlocks":100,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":11,"navigationPointCount":100,"pickupCount":24,"mobilityRouteCount":13,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/riftworks/stream","objectCount":476,"navigationTiles":118,"movementRoutes":583,"specialRoutes":21,"pickupObjectives":24,"chunkCount":10,"objectHash":"856b7191","bounds":{"width":97.1,"depth":76.42,"height":26.6}}}},{"id":"blocklands","name":"Blocklands Citadel","displayName":"Blocklands Citadel","description":"QuakeCraft's massive voxel battlefield: four biomes, a layered central keep, cave lanes, battlements, and 24-player room capacity. Explore a breachable voxel keep: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":24,"pickups":33,"botWaypoints":194,"jumpPads":12,"teleporters":5,"previewImage":"/maps/blocklands/blocklands-poster.webp","playUrl":"/play?map=blocklands","degradedReason":null,"metadata":{"accentColor":"#20e6c3","killFloorY":-18,"boundaries":"kill floor at y=-18; 234 collision platforms","visualTheme":"blocklands","optimizedAssetManifest":"/maps/blocklands/assets/runtime/v2/manifest.json","scenicInstances":156,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/forest-canyon.webp","/assets/quakecraft/scenes/waterfall-valley.webp"],"scenicProps":["/assets/quakecraft/props/coastal-pine.webp","/assets/quakecraft/props/coastal-water-fountain.webp"],"symbols":["/assets/quakecraft/svg/actions/build.svg","/assets/quakecraft/svg/navigation/capture-point.svg","/assets/quakecraft/svg/world/tree.svg","/assets/quakecraft/svg/combat/health.svg"]},"breakableBlocks":1227,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":24,"navigationPointCount":194,"pickupCount":33,"mobilityRouteCount":17,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/blocklands/stream","objectCount":1894,"navigationTiles":217,"movementRoutes":1139,"specialRoutes":29,"pickupObjectives":33,"chunkCount":33,"objectHash":"0215b94c","bounds":{"width":160,"depth":195.6,"height":28.2}}}},{"id":"sunset","name":"Sunset Mile","displayName":"Sunset Mile","description":"A bright coastal city arena with a neon boulevard, rooftop hotels, market blocks, skybridges, docks, and fast district contracts. Explore a breachable harbor foundry: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":14,"pickups":27,"botWaypoints":114,"jumpPads":14,"teleporters":4,"previewImage":"/maps/sunset-mile-poster.svg","playUrl":"/play?map=sunset","degradedReason":null,"metadata":{"accentColor":"#ff5c8a","killFloorY":-18,"boundaries":"kill floor at y=-18; 167 collision platforms","visualTheme":"neon-harbor","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":65,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/coastal-fortress-sunset.webp","/assets/quakecraft/scenes/skyline-dawn.webp"],"scenicProps":["/assets/quakecraft/props/ember-maple.webp","/assets/quakecraft/props/cyan-capture-standard.webp"],"symbols":["/assets/quakecraft/svg/actions/swim.svg","/assets/quakecraft/svg/navigation/water-route.svg","/assets/quakecraft/svg/world/coastline.svg","/assets/quakecraft/svg/combat/armor.svg"]},"breakableBlocks":159,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":14,"navigationPointCount":114,"pickupCount":27,"mobilityRouteCount":18,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/sunset/stream","objectCount":574,"navigationTiles":138,"movementRoutes":668,"specialRoutes":32,"pickupObjectives":27,"chunkCount":12,"objectHash":"fac715a4","bounds":{"width":127.6,"depth":100,"height":21.6}}}},{"id":"q3dm6","name":"The Camping Grounds","displayName":"Q3DM6 / The Camping Grounds","description":"Restored multi-level stronghold with open courtyards, breakable cover, lift routes, and a contested high bridge. Explore a breachable camping bunker: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":12,"pickups":25,"botWaypoints":101,"jumpPads":4,"teleporters":2,"previewImage":"/assets/quakecraft/scenes/ocean-archipelago.webp","playUrl":"/play?map=q3dm6","degradedReason":null,"metadata":{"accentColor":"#e6b95b","killFloorY":-20,"boundaries":"kill floor at y=-20; 160 collision platforms","visualTheme":"arena","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":46,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/ocean-archipelago.webp","/assets/quakecraft/scenes/floating-city-dawn.webp"],"scenicProps":["/assets/quakecraft/props/movable-ore-rock.webp","/assets/quakecraft/props/red-capture-standard.webp"],"symbols":["/assets/quakecraft/svg/actions/move-stone.svg","/assets/quakecraft/svg/navigation/city-route.svg","/assets/quakecraft/svg/world/skyline.svg","/assets/quakecraft/svg/combat/ammo.svg"]},"breakableBlocks":126,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":12,"navigationPointCount":101,"pickupCount":25,"mobilityRouteCount":6,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/q3dm6/stream","objectCount":483,"navigationTiles":111,"movementRoutes":588,"specialRoutes":10,"pickupObjectives":25,"chunkCount":10,"objectHash":"96592d2d","bounds":{"width":70.76,"depth":114.6,"height":19.6}}}},{"id":"q3tourney2","name":"The Proving Grounds","displayName":"Q3TOURNEY2 / The Proving Grounds","description":"Restored symmetrical duel arena with readable sightlines, destructible cover, split high ground, and fast rematch routes. Explore a breachable duel sanctum: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":10,"pickups":25,"botWaypoints":111,"jumpPads":6,"teleporters":2,"previewImage":"/assets/quakecraft/scenes/neon-city-skyline.webp","playUrl":"/play?map=q3tourney2","degradedReason":null,"metadata":{"accentColor":"#56d8ff","killFloorY":-18,"boundaries":"kill floor at y=-18; 165 collision platforms","visualTheme":"arena","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":44,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/neon-city-skyline.webp","/assets/quakecraft/scenes/void-rift-horizon.webp"],"scenicProps":["/assets/quakecraft/props/arena-jump-pad.webp","/assets/quakecraft/props/coastal-pine.webp"],"symbols":["/assets/quakecraft/svg/actions/interact.svg","/assets/quakecraft/svg/navigation/high-ground.svg","/assets/quakecraft/svg/world/portal.svg","/assets/quakecraft/svg/combat/precision.svg"]},"breakableBlocks":76,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":10,"navigationPointCount":111,"pickupCount":25,"mobilityRouteCount":8,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/q3tourney2/stream","objectCount":446,"navigationTiles":124,"movementRoutes":726,"specialRoutes":14,"pickupObjectives":25,"chunkCount":9,"objectHash":"8a33a851","bounds":{"width":88.4,"depth":70.698,"height":19.6}}}},{"id":"overworld","name":"Overworld Wasteland","displayName":"OVERWORLD / Overworld Wasteland","description":"A massive open overworld arena featuring mountain borders, four towering regional highlands, a layered central sky citadel, and rapid traversal jump routes. Explore a breachable frontier bastion: linked chambers, a covered approach, a side-gallery flank, and switchback stairs to rooftop control. An open stairwell descends into candlelit galleries, a looping crypt, and a breakable treasure vault.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":24,"pickups":23,"botWaypoints":148,"jumpPads":5,"teleporters":2,"previewImage":"/assets/quakecraft/scenes/ancient-grove.webp","playUrl":"/play?map=overworld","degradedReason":null,"metadata":{"accentColor":"#ffd45e","killFloorY":-20,"boundaries":"kill floor at y=-20; 234 collision platforms","visualTheme":"overworld","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":65,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/forest-canyon.webp","/assets/quakecraft/scenes/ancient-grove.webp"],"scenicProps":["/assets/quakecraft/props/coastal-pine.webp","/assets/quakecraft/props/luminous-willow.webp"],"symbols":["/assets/quakecraft/svg/actions/build.svg","/assets/quakecraft/svg/navigation/high-ground.svg","/assets/quakecraft/svg/world/tree.svg","/assets/quakecraft/svg/combat/precision.svg"]},"breakableBlocks":143,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":24,"navigationPointCount":148,"pickupCount":23,"mobilityRouteCount":7,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/overworld/stream","objectCount":652,"navigationTiles":170,"movementRoutes":854,"specialRoutes":12,"pickupObjectives":23,"chunkCount":13,"objectHash":"6bb18a83","bounds":{"width":255.6,"depth":220,"height":27.2}}}},{"id":"mansion","name":"Blackglass Manor","displayName":"Blackglass Manor","description":"A fully furnished QuakeCraft estate with breakable windows, demolition floors, climbable stairs, balcony crossfire, splash ponds, secret walls, and two room-scale basement levels.","status":"active","playable":true,"source":"engine","compatibleModes":["ffa","duel","tdm","ctf","br","brctf"],"spawnPoints":12,"pickups":21,"botWaypoints":87,"jumpPads":4,"teleporters":2,"previewImage":"/assets/quakecraft/scenes/coastal-fortress-sunset.webp","playUrl":"/play?map=mansion","degradedReason":null,"metadata":{"accentColor":"#f0bf68","killFloorY":-20,"boundaries":"kill floor at y=-20; 168 collision platforms","visualTheme":"mansion","optimizedAssetManifest":"/assets/quakecraft/manifest.json","scenicInstances":39,"presentationAssets":{"distantScenes":["/assets/quakecraft/scenes/coastal-fortress-sunset.webp","/assets/quakecraft/scenes/ancient-grove.webp"],"scenicProps":["/assets/quakecraft/props/luminous-willow.webp","/assets/quakecraft/props/coastal-water-fountain.webp"],"symbols":["/assets/quakecraft/svg/actions/break.svg","/assets/quakecraft/svg/navigation/high-ground.svg","/assets/quakecraft/svg/world/waterfall.svg","/assets/quakecraft/svg/combat/rocket.svg"]},"breakableBlocks":178,"experience":{"contractVersion":"2026-09-06","evidenceScope":"structural","structuralStatus":"structural-pass","experientialCertification":"not_assessed","consistent":true,"failures":[],"spawnCount":12,"navigationPointCount":87,"pickupCount":21,"mobilityRouteCount":6,"hasRecovery":true,"hasArmor":true,"hasWeaponChoice":true,"hasPowerup":true,"hasVisualIdentity":true},"dataDriven":{"streamSchema":"quake.arena_stream.v1","streamUrl":"/api/v1/maps/mansion/stream","objectCount":517,"navigationTiles":99,"movementRoutes":438,"specialRoutes":10,"pickupObjectives":21,"chunkCount":10,"objectHash":"e857d692","bounds":{"width":98.6,"depth":72.975,"height":27.5}}}}]},"modes":{"count":6,"playable":5,"data":[{"id":"ffa","name":"Free For All","status":"active","playable":true,"playerModel":"session","description":"Public browser sessions and local bot matches use FFA scoring.","degradedReason":null},{"id":"duel","name":"Duel","status":"local","playable":true,"playerModel":"session","description":"Duel uses the same local/session arena loop with a smaller player cap.","degradedReason":"Server-authoritative duel ranking is not enabled until protected match recording is backed by durable persistence."},{"id":"tdm","name":"Team Deathmatch","status":"degraded","playable":false,"playerModel":"future-server-authoritative","description":"Team Deathmatch metadata is exposed for server discovery and future rooms.","degradedReason":"Team spawn, team score, and server-authoritative team validation are not complete in Phase 2."},{"id":"ctf","name":"Capture The Flag","status":"active","playable":true,"playerModel":"session","description":"Capture The Flag uses host-authoritative, revisioned Durable Object room state for teams, flag carriers, returns, captures, scoring, and late-join recovery.","degradedReason":"Competitive ranked outcomes remain degraded until movement, damage, and elimination are fully server-authoritative."},{"id":"br","name":"Battle Royale","status":"active","playable":true,"playerModel":"session","description":"Battle Royale gives every fighter three respawns, bounded temporary alliances, and spectator state after elimination.","degradedReason":"Competitive ranking remains degraded until movement, damage, and elimination are server-authoritative."},{"id":"brctf","name":"Battle Royale CTF","status":"active","playable":true,"playerModel":"session","description":"Battle Royale CTF awards a respawn for each flag capture and converts to a final deathmatch after three total captures.","degradedReason":"Objective and alliance event sync is active, while durable ranked outcomes still require server authority."}]},"weapons":{"count":14,"data":[{"id":"gauntlet","slug":"gauntlet","name":"Gauntlet","ammoType":"none","damage":50,"fireRate":400,"range":2,"behavior":"melee","status":"active","tooltip":"Gauntlet is an active melee weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":"unlimited","ammoMax":"unlimited","projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":"unlimited","reloadMs":0,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"khopesh","slug":"khopesh","name":"Khopesh Blade","ammoType":"none","damage":62,"fireRate":520,"range":2.7,"behavior":"melee","status":"active","tooltip":"Khopesh Blade is an active melee weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":"unlimited","ammoMax":"unlimited","projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":"unlimited","reloadMs":0,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"sunstaff","slug":"sunstaff","name":"Sun Staff","ammoType":"none","damage":44,"fireRate":360,"range":3.4,"behavior":"melee","status":"active","tooltip":"Sun Staff is an active melee weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":"unlimited","ammoMax":"unlimited","projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":"unlimited","reloadMs":0,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"machinegun","slug":"machinegun","name":"Machine Gun","ammoType":"bullets","damage":9,"fireRate":100,"range":150,"behavior":"hitscan","status":"active","tooltip":"Machine Gun is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":100,"ammoMax":200,"projectileSpeed":null,"splashRadius":null,"spread":0.02,"trigger":"automatic","pelletCount":1,"magazineSize":30,"reloadMs":1350,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"shotgun","slug":"shotgun","name":"Shotgun","ammoType":"shells","damage":10,"fireRate":1000,"range":90,"behavior":"hitscan","status":"active","tooltip":"Shotgun is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":10,"ammoMax":50,"projectileSpeed":null,"splashRadius":null,"spread":0.08,"trigger":"semi","pelletCount":11,"magazineSize":8,"reloadMs":1700,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"rocketlauncher","slug":"rocketlauncher","name":"Rocket Launcher","ammoType":"rockets","damage":100,"fireRate":800,"range":null,"behavior":"projectile","status":"active","tooltip":"Rocket Launcher is an active projectile weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":5,"ammoMax":30,"projectileSpeed":25,"splashRadius":4,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":1,"reloadMs":1650,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"railgun","slug":"railgun","name":"Railgun","ammoType":"slugs","damage":80,"fireRate":1500,"range":300,"behavior":"hitscan","status":"active","tooltip":"Railgun is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":10,"ammoMax":20,"projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":5,"reloadMs":1900,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"sniperrifle","slug":"sniperrifle","name":"Citadel Sniper","ammoType":"slugs","damage":105,"fireRate":1250,"range":320,"behavior":"hitscan","status":"active","tooltip":"Citadel Sniper is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":8,"ammoMax":30,"projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":5,"reloadMs":2050,"canAim":true,"telemetryEvent":"weapon.fired"}},{"id":"grenadelauncher","slug":"grenadelauncher","name":"Arc Grenade","ammoType":"grenades","damage":92,"fireRate":850,"range":null,"behavior":"projectile","status":"active","tooltip":"Arc Grenade is an active projectile weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":6,"ammoMax":24,"projectileSpeed":15,"splashRadius":4.8,"spread":null,"trigger":"semi","pelletCount":1,"magazineSize":1,"reloadMs":1450,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"lightning","slug":"lightning","name":"Lightning Gun","ammoType":"cells","damage":8,"fireRate":50,"range":12,"behavior":"beam","status":"active","tooltip":"Lightning Gun is an active beam weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":100,"ammoMax":200,"projectileSpeed":null,"splashRadius":null,"spread":null,"trigger":"automatic","pelletCount":1,"magazineSize":60,"reloadMs":1600,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"plasmagun","slug":"plasmagun","name":"Plasma Gun","ammoType":"plasma","damage":20,"fireRate":100,"range":null,"behavior":"projectile","status":"active","tooltip":"Plasma Gun is an active projectile weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":50,"ammoMax":100,"projectileSpeed":30,"splashRadius":1.5,"spread":null,"trigger":"automatic","pelletCount":1,"magazineSize":40,"reloadMs":1550,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"pulsecarbine","slug":"pulsecarbine","name":"Pulse Carbine","ammoType":"cells","damage":14,"fireRate":140,"range":175,"behavior":"hitscan","status":"active","tooltip":"Pulse Carbine is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":72,"ammoMax":180,"projectileSpeed":null,"splashRadius":null,"spread":0.012,"trigger":"automatic","pelletCount":1,"magazineSize":24,"reloadMs":1420,"canAim":true,"telemetryEvent":"weapon.fired"}},{"id":"handcannon","slug":"handcannon","name":"Hand Cannon","ammoType":"slugs","damage":46,"fireRate":460,"range":150,"behavior":"hitscan","status":"active","tooltip":"Hand Cannon is an active hitscan weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":18,"ammoMax":48,"projectileSpeed":null,"splashRadius":null,"spread":0.009,"trigger":"semi","pelletCount":1,"magazineSize":6,"reloadMs":1580,"canAim":false,"telemetryEvent":"weapon.fired"}},{"id":"flamethrower","slug":"flamethrower","name":"Inferno Projector","ammoType":"fuel","damage":6,"fireRate":60,"range":11,"behavior":"beam","status":"active","tooltip":"Inferno Projector is an active beam weapon. Firing emits a public-safe local telemetry event.","metadata":{"ammoStart":90,"ammoMax":180,"projectileSpeed":null,"splashRadius":null,"spread":0.045,"trigger":"automatic","pelletCount":1,"magazineSize":90,"reloadMs":1800,"canAim":false,"telemetryEvent":"weapon.fired"}}]},"botCapabilities":{"count":10,"runtime":"browser-simulated","strategy":"round-locked-cloudflare-agent-or-deterministic-fallback","workersAiTiming":"between-matches-only","publicPractice":true},"serverBrowser":{"count":3,"source":"active sessions, D1-stewarded zero-human waiting rooms, and protected registered servers","data":[{"id":"always-br-mansion","name":"Blackglass Open Battle Royale","region":"global","map":"mansion","mode":"br","status":"waiting","players":0,"maxPlayers":16,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-br-mansion&mode=br&map=mansion&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"},{"id":"always-ffa-blocklands","name":"Blocklands Open FFA","region":"global","map":"blocklands","mode":"ffa","status":"waiting","players":0,"maxPlayers":24,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-ffa-blocklands&mode=ffa&map=blocklands&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"},{"id":"always-ctf-forge","name":"Forge Open CTF","region":"global","map":"forge","mode":"ctf","status":"waiting","players":0,"maxPlayers":16,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-ctf-forge&mode=ctf&map=forge&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"}]},"servers":{"count":3,"data":[{"id":"always-br-mansion","name":"Blackglass Open Battle Royale","region":"global","map":"mansion","mode":"br","status":"waiting","players":0,"maxPlayers":16,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-br-mansion&mode=br&map=mansion&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"},{"id":"always-ffa-blocklands","name":"Blocklands Open FFA","region":"global","map":"blocklands","mode":"ffa","status":"waiting","players":0,"maxPlayers":24,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-ffa-blocklands&mode=ffa&map=blocklands&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"},{"id":"always-ctf-forge","name":"Forge Open CTF","region":"global","map":"forge","mode":"ctf","status":"waiting","players":0,"maxPlayers":16,"pingMs":null,"pingSource":"unavailable","endpoint":"https://quake.ja1.io/play?session=always-ctf-forge&mode=ctf&map=forge&bots=7","lastHeartbeatAt":"2026-10-14T07:45:14.156Z","source":"standby","traceId":null,"metadata":{"alwaysAvailable":true,"configuredBotCount":7,"botRuntime":"BotSquad DO per match owns roster/intent; QuakeRoom owns gameplay authority","password":false,"version":"1.0.0","stewardship":"cloudflare-cron-queue-d1","stewardedAt":"2026-10-14T07:45:14.156Z","aiTrain":"yes","aiTrainingScope":"public-content-permission-only"},"ping":null,"password":false,"version":"1.0.0"}]},"matches":{"active":0,"recorded":0,"source":"official","liveData":[]},"leaderboard":{"source":"official","syntheticEntries":false},"stats":{"global":{"totalPlayers":0,"totalMatches":0,"activeMatches":0,"totalServers":3,"onlineServers":3,"totalFrags":0},"gamemodes":[{"mode":"ffa","matches":0,"players":0},{"mode":"tdm","matches":0,"players":0},{"mode":"duel","matches":0,"players":0},{"mode":"ctf","matches":0,"players":0},{"mode":"br","matches":0,"players":0},{"mode":"brctf","matches":0,"players":0},{"mode":"bot","matches":0,"players":0},{"mode":"practice","matches":0,"players":0}],"weapons":[],"source":"official","persistence":"durable","note":"No official match records exist yet. Stats are derived from active sessions and protected match records only."},"bots":{"count":10,"source":"browser-runtime","strategyEndpoint":"/api/v1/bots/strategy"},"localStatsPolicy":"Non-sensitive settings, local profile, local stats, and local practice history may use browser storage. PLATPHORM_API_KEY is never stored client-side.","events":{"source":"real event outbox only"},"eventCapabilities":{"publicRead":true,"protectedWrite":true,"fakeEvents":false},"webhookCapabilities":{"publicStatus":true,"signedReceive":true,"platformAuth":"PLATPHORM_API_KEY for future protected operations"},"modelScaffolding":{"status":"available","serverOnly":true,"provider":"cloudflare-workers-ai","gameplayAuthority":false,"note":"The protected post-match coach runs in an isolated Worker through a service binding and is absent from simulation, rendering, combat, and multiplayer timing."},"cloudflarePerformance":{"webAnalyticsRum":"unknown","speedBrain":"disabled","earlyHints":"disabled","staticAssets":"workers-assets-shell-plus-dedicated-r2-game-asset-worker","runtimeAssetRelease":{"descriptor":"/game-runtime/release.json","objectStore":"cloudflare-r2","releaseIndex":"workers-kv-eventual-pointer-never-game-authority","cache":"workers-cache-full-object-fill-with-edge-range-slicing","scopes":["game-runtime","shared-map-assets","maps","skins"]},"realtimeMedia":{"status":"disabled","provider":"cloudflare-serverless-sfu-and-turn","gameplayAuthority":false},"dynamicGameplay":"no-store","persistentMatchStewardship":{"status":"cron-queue-d1-dlq","cadence":"every-5-minutes","rooms":3,"fabricatedPlayers":false,"realtimeHotPath":false},"contentSignal":{"aiTrain":"yes","scope":"public-content-permission-only","privatePlayerTrainingClaimed":false}},"performance":{"status":"client-measured","webglDetection":"browser-runtime","webgl2Detection":"browser-runtime","fpsSource":"HUD measures the local browser frame loop when enabled","fpsClaim":"No global FPS value is advertised as live; users see their measured local FPS in-game.","frameTelemetry":"development HUD exposes median, p95, p99, one-percent-low FPS, long frames, renderer/resources, simulation, network, audio, visible/detail/coarse chunks, and actual platform plus repeated-scenic submissions","adaptiveQuality":"tail-latency governor maps normal/constrained/critical/recovering states into real render-pressure profiles","staticWorld":"GPU-instanced platform and destructible batches use compound fixed collision while individually removable brick colliders preserve gameplay","simulation":"Rapier runs at an explicit 60 Hz; player grounding, acceleration, friction, crouch/slide, jump buffering, head impacts, and automatic fire run in the fixed pre-physics callback while camera/network presentation remains render-time; bot locomotion uses a bounded 30 Hz clock with two catch-up steps and a 2.5 ms frame ceiling; shared spatial perception drives near/mid/far tactical intervals of 90/160/360 ms; hitscan uses a persistent bot/human spatial broadphase with exact grid-ray traversal","multiplayerClient":"stable gameplay actions use a separate React context from poll latency, room counts, retries, and connection-status telemetry","loading":"playable-core state machine gates input-ready on collision plus the first rendered player frame; optimized builds enforce Brotli landing/engine/startup ceilings and an uncompressed per-map core ceiling before optional service probes or selected-map cache work","reducedEffects":"available through graphics and particle settings plus map visual optimization metadata","lowEndMode":"available through performance quality, lower render scale, reduced particle density, disabled advanced effects, disabled screen shake, and per-map visual budgets","frozenCrossingRenderer":"procedural PBR-style materials, instanced scenic props, dynamic snow particles, and WebGL 1 compatible material fallback","nomarchLabyrinthRenderer":"procedural maze collision batches, central pyramid tiers, instanced glyph/obelisk/stone-limb props, and WebGL 1 compatible material fallback","xrRenderer":"WebXR session bridge uses the existing Three.js arena scene with AR passthrough sky/fog suppression, headset comfort render limits, and Touch-controller gamepad input","webgpu":"not enabled; WebGPU remains unsupported until a separate renderer backend exists","pointerLock":"browser-runtime","surgeLighting":"Adrenaline state drives additive arena pulse lighting and HUD effects without reducing the selected graphics quality.","mobile":"touch controller is available; desktop keyboard-control overlay is closeable on mobile","standardGamepad":"browser Gamepad API adapter is implemented with configurable curved deadzone, look sensitivity, optional bounded vibration, combat/build controls, and honest pending physical-device certification"},"lanNetworking":{"websocketCompatibility":"Browser play uses the authenticated same-origin Cloudflare WebSocket transport with HTTP recovery; external QuakeJS WebSocket servers remain a compatibility target, not a claimed active bridge.","httpSessionTransport":"available","webRtcDataChannels":"unavailable","mdnsDiscovery":"degraded","browserMdns":"unsupported-by-browser","security":{"platformKeyRequiredForMutations":true,"storesSecretsInCache":false,"lanDiscoveryScope":"local-network-only"},"limitations":["WebRTC DataChannel primitives are available for LAN experiments but are not yet the authoritative public match transport.","mDNS/Bonjour advertising is provided by scripts/lan-server.mjs because browsers cannot publish arbitrary mDNS services.","Server-authoritative anti-cheat and deterministic lockstep validation remain future protected multiplayer work."]},"tools":["list_servers","get_server","register_server","update_server","deregister_server","list_matches","list_active_matches","get_active_match","get_match","create_match","join_match","record_match","get_leaderboard","get_global_stats","list_maps","get_map","list_modes","list_weapons","get_game_manifest","get_performance_status","get_lan_status","validate_game_routes","validate_playable_arena","get_health","get_info","list_bots","start_bot_practice","record_practice_result","list_game_events","receive_game_webhook","get_route_compliance","get_discovery_compliance","create_docs_report","create_sheet_report","create_deck_summary"],"resources":["quake://servers","quake://server/{id}","quake://matches","quake://active-matches","quake://match/{id}","quake://leaderboard","quake://stats","quake://maps","quake://map/{id}","quake://modes","quake://weapons","quake://game-manifest","quake://performance","quake://lan-status","quake://faq","quake://bots","quake://events","quake://settings","quake://openapi","quake://llms","quake://trust-policy"],"prompts":["recommend_quake_server","explain_quake_mode","explain_quake_weapon","summarize_match","generate_bot_tuning_notes","create_game_testing_plan","create_quake_report","human_machine_quake_handoff"],"trustedDomains":["quake.ja1.io","platphormnews.com","*.platphormnews.com"],"routeStandard":{"implemented":true,"unsupportedRoutesReportDegraded":true},"integrations":["trace","mcp","claws","docs","evals","browserops","webhooklab","sandbox","agentui","atlas","monitor","sheets","decks","games"],"trustPolicy":"https://quake.ja1.io/.well-known/trust.json","persistence":{"database":"configured","redis":"not-applicable","redisBackend":"not-applicable","multiplayerSessionStore":"cloudflare-durable-objects","multiplayerBackend":"cloudflare-durable-object","multiplayerCrossInstanceSync":"available","canonicalPersistence":"available","localState":"official match history, leaderboard aggregates, and server registrations use Cloudflare D1"},"updatedAt":"2026-10-14T07:46:17.470Z"}