Server Rack
A 19-inch server rack cabinet at real size (60 cm wide, 80 cm deep, 2 m tall at 42U; 12U to 42U): chamfered frame with ribbed side panels, a roof with fan grilles and levelling feet, filled from a seed with 1U and 2U servers with drive bays, a storage array, a UPS, a network switch with patch cables, a patch panel, a cable manager and blanking panels. The front door (rigged part door, rotate y) swings open on its left hinges; status LEDs in three groups (led_0..led_2, slide z) blink through userData.tick and a Loop clip, and glow at night. No logos or text.
- Size
- 0.61 × 2.0 × 0.83 m
- Triangles
- 1,920
Tune it
5 knobs: Colourway, Height (U), Door, LEDs, Seed.
Specs
- Size
- 0.61 × 2.0 × 0.83 m width × height × depth
- Triangles
- 1,920 of 6,000
- Draw calls
- 1 one vertex-colour material
- Loop clip
- 1 m of travel per cycle
- Moving parts
- 4 door · rotate, led_0 · slide, led_1 · slide, led_2 · slide
- Knobs
- 5 3 presets
- Night lights
- 1 led
Passed the validator: real scale, rests on y = 0, front faces +Z, deterministic.
Use it
Code for the specimen as it is set up above; it follows your knobs.
import { createAsset } from 'https://gaitkit.com/cdn/server-rack.mjs';
const serverRack = createAsset();
scene.add(serverRack); // rests on y = 0, front faces +Z
// 'door' pivots on its hinge: -110° to 0° around y
serverRack.getObjectByName('door').rotation.y = THREE.MathUtils.degToRad(-110);import { useMemo } from 'react';
import { createAsset } from 'https://gaitkit.com/cdn/server-rack.mjs';
export function ServerRack() {
const model = useMemo(() => createAsset(), []);
return <primitive object={model} />;
}# Import server-rack.glb (download below). Moving parts are separate nodes, pivoted on their hinge.
$ServerRack/door.rotation_degrees.y = -110// Import server-rack.glb with glTFast (com.unity.cloud.gltfast).
transform.Find("door").localEulerAngles = new Vector3(/* y: */ -110, 0, 0);Use the gaitkit MCP server: get_variant({ "id": "server-rack", "want": "default look" })
then place the result.
# MCP endpoint
https://gaitkit.com/mcpKnobs
| Knob | Type | Values | Default | What it does |
|---|---|---|---|---|
colorway | choice | black office beige scifi | black | black (black cabinet, dark servers with silver handles), office (light grey cabinet, mixed grey gear), beige (1990s retro beige gear), scifi (gunmetal cabinet, white server fronts and a cyan light bar that glows at night). |
units | range | 12 to 42, step 3 | 42 | Rack height in rack units (1U = 44.45 mm): 12 is a 0.7 m half rack, 24 about 1.25 m, 42 a full 2 m data-centre rack. More units fit more gear. |
door | choice | mesh glass none | mesh | mesh (perforated steel door, slatted so the LEDs show through), glass (a framed clear door: only the frame and a glint), none (open front, no door). |
leds | choice | green blue amber mixed | mixed | Colour of the blinking status LEDs: green, blue, amber, or mixed (mostly green with amber and blue). |
seed | range | 1 to 20, step 1 | 1 | A different mix and order of servers, storage and blanking panels in the rack. |
Presets: data centre {"colorway":"black","units":42,"leds":"blue","door":"glass"} · office comms closet {"colorway":"office","units":24,"door":"mesh","leds":"green"} · mainframe core {"colorway":"scifi","units":42,"door":"none","leds":"mixed","seed":7}
Files
| File | What |
|---|---|
| server-rack.glb Pro | GLB, default look · 516 KB |
| server-rack.mjs Pro | ES module, every knob live |
| server-rack.obj Pro | OBJ, static; colours in the .mtl |
| server-rack.mtl | OBJ colours; keep it next to the .obj |
| server-rack-params.json | knob schema, presets, night zones |
Licence
Use it in games, apps, renders and client work, commercially and without credit. Do not resell it as an asset or train a 3D generator on it. The full licence.