= How to Build Building is how the world grows: you **dig** new rooms, **describe** them, and **open** them to players. These commands need a builder role: **worldbuilder** or **implementor** (build anywhere), or **zonebuilder** (build only in zones you've been assigned). Ask an admin to grant one. In-game, the authoritative lists are always **help room** and **help zone** (and **help topics** shows which topics you can see). This page mirrors them. == Closed and open rooms A newly dug room is born **closed** — under construction. A closed room can't be entered by players through its exits, and its //look// carries a **[closed]** note. Builders who can edit a room may simply **walk into** it (and reach it with **goto**) to keep working. When it's ready, **room open** (alias **room commit**) opens it to players; **room close** (alias **room draft**) closes it again for maintenance. == Digging rooms * **dig //dir//** — dig a new, unnamed room to the //north/south/east/west// and step in. * **dig //dir// //name//** — open a passage to an existing room called //name//, or dig a **new** one with that name and step in. * **dig //dir// //id//** — open a passage to the existing room with that //id//. * **dig new //name//** — a room with **no** exits (also: **dig -** / **dig .** / **dig noexit**). Digging a **new** room makes a **two-way** passage (the way back is dug for you) and steps you through; the room inherits the **zone** you dug from. Linking to an **existing** room leaves you put and only adds the exit (the return exit too, if that room's facing slot is free). == Editing the current room * **room name //name//** — name the room * **room desc //text//** — set the description (what players read on //look//) * **room keywords //words//** — alternate names for the room, so **goto //word//** reaches it * **room info** — its id, zone, exits (with target ids), and open/closed state * **room open** / **room close** — open to players, or close for maintenance * **room delete //id//** — delete a **closed** room (asks you to confirm; it goes to trash and inbound exits are stripped) == Editing exits directly **dig** always makes a //two-way// passage. To set or clear a //single// (one-way) exit, edit it directly — like every **room** command, on the room you stand in: * **room exit //dir// //id|name//** — point this room's //dir// exit at a room * **room noexit //dir//** — remove this room's //dir// exit These are one-way, so the far room is untouched. To fix the matching exit, **goto** that room and edit it there. An exit can also be **unlisted**: a **secret** exit you can still walk if you know to, or a **hidden** exit sealed until a lever opens it. Both are set with room-data flags -- see **[[Advanced Building]]** (//Hidden exits// and //Secret exits//). == Getting around **goto** teleports you straight to a room — handy for editing the far end of a one-way exit, or any room you can build in. * **goto //id//** — by number * **goto //name//** — by name (or a room **keyword**), preferring your current zone * **goto //name// //zone//** — prefer a given zone (by name or id) You can only **goto** (and walk into closed) rooms in zones you're allowed to build in. == Zones Zones group rooms into areas — a town, a forest, a dungeon. Every room belongs to exactly one zone. A zone has an **internal name** (used in commands) and optional **display** info shown to players. * **zone create //name//** — create a new zone (internal name; tells you its id) * **zone list** (or the **zones** command) — list all zones * **rooms //[zone]//** — list rooms in the current zone, or a named/numbered one * **room zone //id|name//** — move the current room into a zone * **zone name //display//** — set the zone's display name (shown as //internal - Display//) * **zone desc //text//** — set the zone's description * **zone suggested //lo// //hi//** — set the zone's suggested level range The **zones** list reads: //#id internal - Display name - Description (lo-hi)// — each part shown only once you've set it. == Items and creatures Builders also stock the world with **items** (a sword, a lamp, a sign) and **mobiles** (creatures and NPCs). Those have their own guides: * **[[All about Items]]** — create, describe, keyword, equip, and blueprint items (the item factory) * **[[All about Mobiles]]** — create creatures, give them data, and simple reactions * **[[Shops]]** — turn a mobile into a shopkeeper that buys and sells Zones also **reset** about once an hour, repopulating any registered spawns; the //zone setspawn// (mobiles) and //zone setitem// (items) commands live in those two guides. == A worked example {{{ dig north room name Kitchen room desc A cramped kitchen. A fan turns slowly on the ceiling and the linoleum squeaks underfoot. room keywords kitchen cook room info room open }}} You dug a room north, named, described and keyworded it, checked it over, and opened it to players. Walk **south** to come back — that return exit was made for you. == Builder help topics * **help room** — dig / room / exit / goto * **help zone** — the zone commands * **help item** // and // **help mob** — items and creatures * **help worldbuilder** // and // **help implementor** — your role's overview