PLAYER ONLY [P]
100
100
HEAT: 0.0
CONNECTION ISSUES — RECONNECTING…
▌
▌
▌
3rd RAIL
▌
▌
▌
◆ DMG AMP ◆
◉ X-RAY ◉
∞
+
HEADSHOT
JUMP PAD
—
—
PRESS FIRE TO READY UP
GAP: —
—
—
—
DM
PLAYER
KILLS
/
DEATHS
ACCURACY
PING
SPECTATORS
[Q] Swap Weapon · [H] Weapon Side · [+/-] Add/Remove Bot · [L] +10 Armor · [N] Noclip · [O] Debug · [P] Freeze · [ESC] Pause
SPECTATING
[LMB] Next · [RMB] Prev · [R] Free Cam · [ESC] Menu
PLAY AGAIN
MAIN MENU
FIRE
JUMP
THIRD RAIL
A Three.js Arena Shooter
v0.3.38.094 — 2026-05-09
SlopCode Seal of Approval
Default Map: Areowalk is copyright 2007, Ben Edney
Game under constant development. Things may be broken or not work
SETUP GAME
×
MATCH
BOTS
RULES
DEBUG
Match
Game Type
Deathmatch
Team DM
Map
Import Map
Download Maps
Remove
Map Pack
Not installed
Progress
0%
Rotate Maps
Bots
Bot Skill
50
Rules
Frags to Win
Time Limit (min)
Game Speed
1.00×
Respawn Timer
2.0s
Force Respawn
Starting Health
100
Starting Armor
25
Instagib
Debug
God Mode
Debug Visuals [O]
Disable Bots [P]
Start as Spectator
SERVER BROWSER
×
Online
LAN
Favorites
+ Add Server
NAME
MAP
PLAYERS
TIME
PING
THIRD RAIL — ONLINE
WAITING
…
|
|
READY
DISCONNECT
PLAYERS
Send
SETTINGS
×
PLAYER
HUD
VIDEO
AUDIO
INPUT
Player
Name
Auto Weapon Switch
Weapon Side
Right
Center
Left
Hidden
Double-Tap Dodge
Double-Tap Window (ms)
Weapon Bob
Beam Color
Darken Bodies
Simple Death Cam
Auto Respawn
Field of View
<
>
Scope Mode
Hold to zoom
Press to toggle
Scope Factor
3.0×
Crosshair
Type
Cross
Dot
Circle
T
Size
<
>
Thickness
2
Gap
3
Outline
Outline Thickness
2
Crosshair Color
Outline Color
Crosshair Alpha
0.85
Outline Alpha
1.00
Dot
Center Dot
Dot Size
2.5
Use Crosshair Style
Dot Color
Dot Outline
Dot Outline Color
Health / Armor Bars
Gap
+0
Scale
1.00×
Target Name
Enabled
Position
Below Crosshair
Above Crosshair
Size
15px
Color
Y Offset
0
Video
Render Scale
100%
Audio
Enable Sounds
Master Volume
80%
Test Sound
Sound Pack
Status
—
Download Sound Pack
Remove
Progress
0%
Input
Sensitivity X
<
>
🔗 Linked
Sensitivity Y
<
>
Raw Input
Zoom Sens Scaling
None (1:1)
Linear (FOV ratio)
Focal Length
Zoom Sens Multiplier
<
>
‹
›
‹
›
‹
›
‹
›
Bot_0
DEBUG
×
BODIES
BOT
WORLD
COMBAT
DEV
GRAPHS
Bodies
Player Capsule
Capsules
Hitboxes
Bot Eye Markers
Skeleton Bones
Remote Player Labels
Bot AI
Nav Graph
Bot Path Trails
Bot Vision Lines
Bot Weapon Scores
World
Block Volumes
Portal Frames
Portal Occlusion Probes
Portal HUD Text
Combat
AoE LOS Lines
AoE Blast Spheres
Rocket Capsules
Spike Capsules
Dev
Ragdoll Contact Wires
Spawn Debug Skeleton
(needs Skeleton Bones on)
Graphs
(uncheck to hide a row from the [Z] overlay)
PERF
NET
SCENE
TIME
FPS
Frames per second (1000 / frameDt)
snapDt
ms between server snapshot arrivals
frameDt
total RAF frame dt
tickAge
ms since last 60 Hz input tick (high = stalled)
calls
WebGL draw calls per frame
tris
triangles rendered per frame
lines
line segments rendered per frame
geos
total geometries allocated (climbs on leaks)
texs
total textures allocated
progs
shader programs compiled
snapDt
ms between snap arrivals
recΔXZ
horizontal mispredict per snap (units)
recΔY
vertical mispredict per snap — jump axis
recVΔ
velocity mispredict per snap (u/s)
bufLen
unacked input buffer length
posΔ/RAF
per-frame pState.pos motion magnitude
camΔ/RAF
per-frame camera.position motion magnitude
camY-lag
|camera.y − (pState.y + EYE_OFFSET)|
yawΔ/RAF
per-frame view-angle change (mrad)
tickAge
ms since last input tick
FPS
Frames per second
frameDt
total RAF dt
scene.children
top-level meshes / groups in scene
actors[]
local actors array length
botActors[]
local bots array length
particles[]
legacy ring (rocket trails, pad sparks)
pvol live
Particles subsystem alive count (sum of liveCount)
ragdolls[]
active ragdoll bodies
draw calls
WebGL draw calls per frame
geos
total geometries allocated
FPS
Frames per second
frameDt
total RAF dt
render.ms
renderer.render() submit time
pvolTick.ms
Particles.tickAll() time
snap.ms
applySnapshots() reconcile + replay time
tickAge
ms since last input tick
longTask
last >50 ms browser task (single-task hitch)
frameDrops
pulse train (1 = dropped frame, 0 = clean)
snapDt
ms between snap arrivals
bufLen
unacked input buffer length
IMPORT MAP
Name
From File...
Paste map JSON or legacy MAP START/END text below.
Cancel
Import
ADD SERVER
IP Address
.
.
.
Port
or full URL
Cancel
Add
DISCONNECTED
Lost connection to server.
Reconnect
Okay
RECONNECTING…
Attempting reconnect (1/3)…
Cancel
CONNECTING…
Connecting:
server
[attempt 1 of 1]
Cancel