Essentials: spawn, homes, nicknames and the everyday commands
/spawn, /warp, /home, /rtp, /tpa, /back, /nick, /hat, /trash and /near for players; /heal, /feed, /god, /invsee and /vanish for staff.
This page is older than Keystone 0.2.8, released 18 October 2026. Something may have changed since.
On this page 9 parts
The essentials module, essentials.toml. The small things a server wants straight away: a spawn, warps, homes, invisible staff and the everyday commands. Each part can be switched off on its own (spawn.enabled, warps.enabled, homes.enabled, vanish.enabled, and one per command below).
Spawn and warps
#/spawnand/warp <name>are for everybody (keystone.spawn,keystone.warp; thedefaultgroup gets them at start). Tab offers the names;/warpon its own, or/warps, lists them./setwarp <name>makes or moves a warp where you stand (keystone.warp.set),/delwarp <name>removes one (keystone.warp.delete). The editor has a Warps screen that lists them and deletes them.- A warp into a world that is not loaded is listed as broken and refused with the reason.
- Where another mod already has
/warpor/spawn, theirs stays; Keystone's are then under/keystone.
Homes
#From Keystone 0.2.1. Every player's own named places.
/sethome [name]makes a home where you stand (or moves one that exists),/home [name]takes you back,/delhome <name>removes one and/homeslists them as buttons to click. Without a name it is the home calledhome(or your only one). Tab offers your own names only. All of it is one permission,keystone.home, which thedefaultgroup gets at start.- How many is per group:
homes.limits, onegroup=counteach (defaultdefault=2; for examplevip=4,vip-plus=6,legend=10). The highest of the groups somebody is in counts, and so doeskeystone.home.limit.<n>from any group (up to 100; operators andkeystone.*get 100). Nothing adds up. When a rank ends, homes over the limit keep working — only a new one is refused. - A safe teleport: a countdown,
homes.warmup(3 s), to stand still through — a step aside or a hit cancels it; after arriving, a cooldown,homes.cooldown(30 s). The landing is checked at the end: solid ground, room for feet and head, no lava or fire. If somebody built into the home, Keystone lookshomes.safe-searchblocks up, then down, and refuses rather than teleport you into a wall./sethomewhere nobody can stand is refused. - Between dimensions, unless
homes.across-worldsis off. - Not into somebody else's land: with FTB Chunks (
homes.respect-claims),/sethomeis refused in a chunk a team you are not in or allied with holds, and so is/hometo a home that land was claimed over later. - Staff:
keystone.home.others— no group has it by default, operators do — allows/home player:name,/delhome player:nameand/homes player(offline players too), with no countdown and no land check. Anybody without it gets the same refusal whether that player or home exists.keystone.home.instantskips the countdown and the cooldown for anybody who holds it. - The editor has a Homes screen: every home with a search, the limit per group, and delete. Over the API,
GET /v1/homesneedshomes.readandPOST /v1/homes/deleteneedshomes.write— only the owner's keys carry these, because a list of homes is a list of everybody's bases. - Nothing of this runs every tick: a countdown looks at its player four times a second, only while it runs.
Vanish
#/vanish (keystone.vanish) takes staff out of every other player's world and tab list, out of the server list's count and names, the query port, /list, the join and leave lines, the Discord bridge's join line and topic, and the counts the local API gives out. Mobs ignore them and, unless vanish.pick-up-items, items stay on the ground. Whoever holds keystone.vanish.see still sees them. It survives a reconnect and a restart.
Random teleport
#From Keystone 0.2.2. /rtp puts a player somewhere random and safe. Permission keystone.rtp, which the default group gets at start; rtp.enabled = false turns it off.
- Where: in the ring between
rtp.min-distanceandrtp.max-distanceblocks (defaults 500 and 5000) from the world's spawn, or from another point (rtp.centre = "spawn"or"x, z"). On solid ground — never water, lava, leaves or the Nether's roof (in a world with a ceiling it lands under it) — and, with FTB Chunks, never on a claim of a team the player is not in or allied with (rtp.respect-claims, checked again when the countdown ends). Keepmax-distanceinside the world border; places outside it are skipped. - Which dimensions:
rtp.worlds, one per line, each with its own distances if you like —minecraft:overworld, orminecraft:the_nether 100-1000(a Nether block is eight of the Overworld's)./rtpalone goes in the dimension the player stands in when it is listed, else to the first line;/rtp <dimension>picks one. - Built not to cost the server: the chunk is loaded — usually generated — off the server thread, one try at a time, at most
rtp.attempts(6) of them, and two players search at once. Places outside the border or on a stranger's claim are skipped before anything is loaded and do not count. Every/rtpmay generate new chunks, so the farther the distance, the bigger the world grows. - Countdown and cooldown:
rtp.warmup(3 s) to stand still through — walking away or being hurt cancels it — andrtp.cooldown(300 s), counted from arriving or from a search that found nothing, because that one generated chunks too. keystone.rtp.instantskips the countdown and the cooldown for anybody who holds it.- Where another mod already has
/rtp, Keystone's is/keystone rtp.
Teleport requests
#From Keystone 0.2.2. /tpa <player> asks to go to somebody, /tpahere <player> asks them to come, /tpaccept and /tpdeny answer (the buttons in the question do too), /tpacancel takes your request back. keystone.tpa is all five and the default group gets it at start; tpa.enabled = false turns them off.
- A request lapses after
tpa.timeout(60 s) and both are told. Whoever moves stands still fortpa.warmup(3 s) and lands next to the other one where they are then, on safe ground; walking away or being hurt cancels it. After arriving,tpa.cooldown(30 s) before the same player may be moved by a request again. - Between dimensions unless
tpa.across-worldsis off. Not into somebody else's land (tpa.respect-claims, FTB Chunks): whoever said yes may be standing in a base that is neither theirs nor the mover's. - Staff:
keystone.tpa.othersgoes and brings at once, without asking, with no countdown and no land check.keystone.tpa.instantskips the countdown and the cooldown. A vanished player cannot be asked. - Where another mod already has
/tpa, Keystone's are under/keystone.
Back
#From Keystone 0.2.2. /back returns a player to where they stood before Keystone last moved them — /spawn, /warp, /home, /rtp, a teleport request or /back itself — or to where they died (back.on-death). Permission keystone.back, and keystone.back.death for the place of a death; both are in the default group from the first start. keystone.back.instant skips the countdown and the cooldown.
- A death comes first (0.2.4,
back.prefer-death, on): after dying,/backgoes to where they died even when they have taken/spawnor/homesince, until it has taken them there once; the next/backthen goes to the teleport before. Off: whichever happened last. Somebody withoutkeystone.back.deathgoes back to their last teleport instead. - A vanilla
/tpor another mod's teleport is not seen, and a restart forgets every place. back.warmup(3 s) andback.cooldown(30 s) as above. A landing is checked: solid ground, room to stand. When the spot itself is not safe,back.safe-search(8) blocks up and down are tried — and for a death (lava, a wall, water) as many to the side as well, at most 16. Nothing safe within reach, or a fall into the void, is refused with the reason.back.respect-claimsrefuses a place a stranger's team has claimed since.back.enabled = falseturns it off.
Everyday commands
#From Keystone 0.2.4. Each has its own <command>.enabled (a restart applies it), and every permission is asked again when the command runs.
| Command | Permission | What it does |
|---|---|---|
/heal [player] |
keystone.heal (.others for somebody else) |
Full health, out of the fire |
/feed [player] |
keystone.feed (.others) |
A full food bar |
/god [player] |
keystone.god (.others) |
Only the void and /kill can hurt them, until typed again or they leave |
/invsee <player> |
keystone.invsee |
Their inventory — online or offline |
/invsee <player> ender |
keystone.invsee.ender |
Their ender chest |
/hat |
keystone.hat (default) |
Wear one of what you hold; the old hat goes back to your inventory |
/trash |
keystone.trash (default) |
A chest that empties itself when it closes |
/near |
keystone.near (default) |
Who is within near.radius (200) blocks, with the distance rounded to ten — never a direction or coordinates |
- Never above your rank:
/heal,/feed,/godand/nickon somebody else, and changing their inventory, are refused for a player who outranks you (heavier group, or an operator when you are not). /invsee: changing what is inside needskeystone.invsee.modify, and only works while the player is online — it is their live inventory, and the window closes the moment they leave. An offline player's inventory is only ever shown: it is read from their saved data into a copy that is never written back, because writing it while they may be joining could duplicate or lose items. Nothing in a view you may not change can be taken, shift-clicked, swapped with a number key, dragged or thrown.- God mode lasts the session: it ends when they leave, and god mode a player gave themselves ends as soon as they lose
keystone.god(a rank that ran out, a group taken away). /hatkeeps Curse of Binding: a cursed helmet stays on./trashreally deletes.- Cooldowns:
heal.cooldown,feed.cooldown,god.cooldown(0),near.cooldown(10 s), in seconds;keystone.<command>.instantskips one. /hat,/trashand/nearare in thedefaultgroup from the first start (with/kit); the rest stay with operators and the groups you give them to.
Nicknames
#From Keystone 0.2.4. /nick <name> — a player goes by another name in chat, in the tab list and wherever the game prints names (death messages, /msg). Hovering over it shows the account: in chat formats the line chat.hover.nick ({account}), on the game's own name its usual hover. /nick shows yours, /nick off drops it.
- Who may choose their own:
keystone.nick, ornick.from-group— a group's id, and everybody in it or in a heavier group may ("vip-plus"lets VIP+ and every rank above it). Blank: only who holds the permission. - What a nick may be: letters, digits and
_only — no colour, no spaces —nick.min-length(3) tonick.max-length(16) characters, none ofnick.blocked-words(admin,owner,staff, … — also spelt with digits for letters or split by underscores), and never another player's nick or the name of any account the server has seen.keystone.nick.bypasssteps over the word list, never over the rest. - Staff:
/nick <player> <name>or/nick <player> off(keystone.nick.others), never above their rank. A nick staff gave stays; one a player chose themselves goes when they lose the right to one. nick.cooldown(300 s) between changes of one's own;keystone.nick.instantskips it.
Renaming or switching off a command
#From Keystone 0.2.4, in keystone.toml: commands.off = ["nick", "hat"] drops Keystone's commands of those names, commands.rename = ["kit: kits"] gives one another name (its permission stays). For a pack where another mod should keep the name. /keystone <command> always stays, and /keystone itself can be neither. A restart applies it.
Did this page help?
Opens the feedback panel with this page attached. It lands in the same queue as everything else.