Skip to content

Commands ​

The main command is /edg; you can also use the aliases /dungeon and /edungeon. Player-side commands are open by default (emakidungeon.play defaults to true), while admin and editor commands require their own permissions

Player commands ​

CommandDescriptionPermission
/edg helpShow command help (same as running /edg with no arguments)emakidungeon.play
/edg listList the currently available dungeonsemakidungeon.play
/edg enter <dungeonId>Start a challenge and enter the dungeon; in a party only the leader may startemakidungeon.play + emakidungeon.dungeon.<dungeonId>
/edg leaveLeave the current dungeon; asks for a second confirmation first - type confirm in chat to leave, cancel to stayemakidungeon.play
/edg cancelCancel an ongoing entry wait or challenge (any member can cancel during the ready window)emakidungeon.play
/edg readyConfirm readiness during the ready window (the confirmation button works too)emakidungeon.play
/edg rewardsOpen your personal reward box and claim payoutsemakidungeon.play
/edg stats [player] [dungeonId]Show entry counts (day/week/month and cooldown) plus best resultsemakidungeon.play
/edg rank <dungeonId>Show the dungeon's top 10 leaderboard (score, duration, difficulty, party)emakidungeon.play
/edg globalchat <on|off>Toggle global chat listening; on bridges chat in and out of the instance, off keeps dungeon chat inside the instanceemakidungeon.play
/edg editor <dungeonId>Open the map editor and enter the dungeon's dedicated edit worldemakidungeon.editor

Party subcommands ​

/edg party <sub> manages your party:

SubcommandDescriptionRestrictions
createCreate a new party (you become the leader)Cannot create while already in a party
invite <player>In a party: invite that player (leader only); not in a party: ask to join, handled by the invite modeLeader-only when you already have a party
acceptThe invitee accepts an invitation; the receiver of an application (the leader) approves itDepends on whether you received an invite or an application
denyRefuse a received invite (invitee) or reject an incoming application (leader)Depends on whether you received an invite or an application
kick <player>Remove a memberLeader only
leaveLeave the party (the leader hands over to another member first)—
disbandDisband the whole partyLeader only
chatToggle the party channel: once on, your messages are visible to party members only—

The invite mode comes from the global party.invite-mode and decides what happens when a player without a party asks to join another: public joins directly, apply files an application waiting for the leader's approval, invite only lets invited players in (any other value behaves like invite). The party size cap is party.max-size

Editor session commands ​

Run /edg editor <dungeonId> with the emakidungeon.editor permission to open an editing session:

SubcommandDescription
/edg editor pos1 / pos2Record the first / second corner of a region (stand on each diagonal corner of the target area)
/edg editor mark <type> [id]Place a marker on the block you are looking at (16 blocks reach); markers are staged in the session and written to flow.yml on save
/edg editor marksList the markers staged in this session
/edg editor fill <block>Fill the area circled by pos1 + pos2 (written in frames, with a size cap)
/edg editor testTest start: runs the normal entry flow, counts nothing and never ranks; refused while unsaved changes exist
/edg editor exitLeave the session; refused while unsaved changes exist, so save or discard first

Marker types come in two groups:

TypeHowPurpose
spawn / option / chestSingle point, aim at a blockSpawn location / option node / reward point
room / gate / triggerRegion, needs pos1 + pos2Room / gate door area / trigger zone

The main editor panels (metadata, spawn points and waves, gates, branch options) are edited through GUIs. Markers and panel edits are only staged; nothing reaches the template files until you click "Save and write back", and exiting without saving discards everything. Only one editing session per dungeon template is allowed at a time

Admin commands ​

/edg admin <sub> requires emakidungeon.admin (default OP):

SubcommandDescription
instancesList running instances (id, dungeon, state, party, write-queue backlog)
stop <instanceId>Force-stop a specific instance
statusOverview: instance count, live virtual threads, template count, per-pool usage, and write queues
reloadReload the main configuration and all dungeon configs; running instances are untouched, only newly created instances pick up changes
validateValidate every dungeon template and report missing flow.yml or invalid configurations
poolreset <dungeonId>Force-reset the pool spare world of a dungeon
clearslotsClear leftover pool slot reservations

NOTE

reload must be run in game by a player with the permission; running it from the console answers with "this command can only be run by a player". When a bot or script needs to reload, grant that player emakidungeon.admin first

Permission nodes ​

NodeDefaultPurpose
emakidungeon.playAll playersEntering, party, stats, and global listening player commands
emakidungeon.dungeon.*All playersEntry to all dungeons (actually checked per emakidungeon.dungeon.<dungeonId>)
emakidungeon.bypass.limitOPBypass entry counts and cooldowns
emakidungeon.bypass.escapeOPEscape-protection exemption (debugging and maintenance)
emakidungeon.scriptOPDungeon script loading and trigger registration
emakidungeon.editorOPMap editor sessions
emakidungeon.adminOPInstance management, force stop, reload, pool maintenance
emakidungeon.*OPWildcard covering everything above

emakidungeon.dungeon.<dungeonId> is dynamically registered on startup and reload for every dungeon folder under world/, and defaults to open for all players; deleting the dungeon removes the node. For a members-only dungeon, turn the default off in your permission plugin and grant the node to the right groups

Command rules inside a dungeon ​

Commands run by players inside an instance pass two gates:

  1. Escape blacklist (escape.blacklist, supports * wildcards): a hit is refused immediately with "command restricted in this dungeon (escape blacklist)", and no allow-rule can override this layer
  2. Command guard (commands.mode, blacklist or whitelist): evaluated against the global commands.rules and the dungeon-level commands.allow, refusing with "command restricted in this dungeon (command guard)"

Configuration details are on the Configuration page