Slash Commands¶
clockwork intercepts typed slash commands before they reach the game. A registered clockwork command is handled and swallowed; every native EverQuest II command and every normal chat line falls through unmodified.
Commands come from two places, and the distinction matters: core commands are always available once the core is injected, while script commands exist only while the script that registered them is running.
Core¶
Always available.
/console
/cwconsole
- Toggle the clockwork overlay window.
/consoleand/cwconsoleare the same command, and both do exactly what the End key does.
/cwspout
/cwspout on
/cwspout off
/cwspout toggle
- Toggle a Spout2 video sender that publishes the game frame without the
clockwork overlay drawn into it, so OBS can capture a clean feed while the
overlay still shows on your own screen. Bare
/cwspouttoggles;on/offset it explicitly. Off by default.
/dex <name> <command>
/dga <command>
/dge <command>
/dgga <command>
/dgge <command>
/dgra <command>
/dgre <command>
/dgza <command>
/dgze <command>
/lua run <name> [args]
/lua stop <name|all>
/lua restart [name|all]
/lua list
- Start, stop, restart, and list Lua scripts. This is the entry point for everything in clockwork's scripting layer.
/quest_accept
- Accept this client's own currently-captured quest offer. Primarily a broadcast target so a whole group can accept the quest each of them was individually offered.
/upsell [on|block|off|allow]
Script-provided¶
Registered by a bundled Lua script, and available only while that script is
running. Start each one with /lua run <script> — the note at the top of each
page says which.
/aaexp <0-100>
/alertmaster status | on | off
/alertmaster radius <n> | zradius <n> | remind <n> | guild
/alertmaster ignore <name> | unignore <name>
/alertmaster cmd add <text> | cmd remove <n> | cmd list
/alertmaster clear | reset
- Warns you when a player character outside your group or raid comes within an alert radius, and can optionally run a command or script when one does. A clockwork port of MacroQuest's AlertMaster.
/autocraft <recipe name> [count] [finish|quality|balanced]
/autocraft stop
/autocraft status
/autocraft mode <finish|quality|balanced>
/autocraft dump
- Persistent auto-craft daemon: give it a recipe name (read live from the open Recipe Book) and a count, and it clicks Begin, fires reaction arts every round, and reports the result — repeating for as many combines as you asked for, without you touching the crafting window again.
/autodestroy [status] | on | off | log on|off
- Auto-confirms the item "Destroy" popup so item-destroy prompts don't stall a loot or inventory-cleanup loop. It fires only on a genuine destroy confirmation.
/autoloot <subcommand>
/lua run automend
- Auto-repair gear at a mender NPC. Polls for the Merchant window, switches to the Repair tab, presses Repair All, and closes.
/autoparty
/autoparty on | off
/autoparty form
/autoparty invite <name>
/autoparty arm
/autoparty allow | unallow | member | unmember <name>
/autoparty allowpeers | memberpeers
/autoparty list | reload
- Form and join groups across a box farm hands-free. The leader invites every character on its invite list; each follower auto-accepts group invites from names on its allow list. Built for multiboxing — one command forms the whole group.
/autorez [on | off]
- Automatically accept an incoming resurrection while you are dead. Provided by
the bundled
autorezscript — run/lua run autorezfirst.
/autotinker start | stop | status
/autotinker filter <substr> | streak <n>
- A Tinkering skill-up daemon: crafts random recipes at the current tier, watches the skill-up chat signal, and scribes the next Apprentice Blueprints book from your bags once combines stop granting skill — then repeats.
/autotrade
- Automatically accept incoming trade windows from peers and transfer items.
/brokerprice scan
/brokerprice set <platinum>
/brokerprice catalog [minPlat]
/brokerprice tag [minPlat] [bank]
- Resident broker toolkit.
scansearches the market for each of your unlocked consignments and undercuts the lowest competitor;setstamps a flat platinum price onto every unlisted consignment (both need the broker window open).catalogcrawls every page of the broker into a local price cache, andtagreports which of your carried items are worth selling against that cache.
/buttonmaster [toggle] | show | hide | reset | status
/buttonmaster exec <set> <index>
- A configurable ImGui button grid — one window per character, with drag-reorderable tabs ("sets"), each a grid of buttons that run commands when clicked. A clockwork/EQ2 port of MacroQuest's ButtonMaster.
/buymerch <item name> [qty]
/buymerch list | help
/buymerch id <id> <slot> [qty]
- Buy from an open NPC merchant by item name, verifying that the item actually
arrives in your bags before reporting success. A thin CLI over
lib.merchant.
/chattime
- Toggle timestamp injection into EverQuest II's own chat window.
/craft start|stop|status|abilities|class|reload
- One-shot tradeskill crafting automation for a single recipe: fires reaction
arts each round until the requested count is combined. Launched with
watchinstead of a recipe, it becomes a recipe-ID capture tool with no crafting logic at all.
/cwcmd <command>
/cwcollect
/cwcollect stop
/cwcollect status
- Scan your bags for collectibles, examine each one, and press the Journal's
Add button for every item that can be added to a collection. Loading the
script only registers the command — it does not scan until you run
/cwcollect.
/dialogauto
- Auto-advance NPC conversation pages that have only a single reply option.
/dialogreply <option text>
/dialogreply status
/dialogreply clear
- Relay receiver that selects
a conversation or dialog reply option on this client, matched by
display text rather than index. The leader-side
relayclicks.luaobserves a human picking a reply and relays the text; each peer selects the option with the same text on its own window.
/discord status|test|on|off
- Report or control the outbound Discord webhook that announces loot, incoming tells, and matching auction lines to a channel. No relay bot is needed for this direction — just a webhook URL.
/discordinbox status|on|off|clear
- Report or control the inbound command relay: an external bot process writes
authorized Discord commands to
config/discord/inbox.jsonl, and this tails that file and runs each one througheq2.cmd.
/lua run dooropen [action prompt | probe]
- Auto-open nearby zone doors. Scans for door-like actors within range and interacts to open them, with auto-learn for new door types.
/dps reset | status | pause on|off
/dps metric done|taken
/dps report
/dps npc | roster | dump
/dps pet owner|separate
/dps keep <n>
- A live combat damage meter. It parses the combat chat into per-source, per-ability
and per-encounter totals and draws a Details-style sorted bar list in an ImGui
window.
/lua run damagemeteropens the window;/dpstunes it.
/enterhouse
- Presses the Enter House button on this box's own already-open
/housewindow. Takes no arguments and enters whichever house is selected in this character's own housing list — there is no cross-client house id to pass.
/exptime
/exptime print
/exptime reset
/exptime status
/exptime show
/exptime hide
- ImGui overlay showing XP-per-hour rates and time-to-next-level for Adventure, Crafting (tradeskill), and AA — all three tracks in one window.
/fam detect
/fam suggest [type]
/fam type [name|clear]
/fam nav [n]
/fam catch [count]
/fam go [n]
/fam hail
/fam set <key> <val>
/fam cfg | save | reload
/fam stop | status
- A resident automator for the Familiars Wild quest. It reads the active quest to work out which creature classification you need, navmesh-walks you to a known catch spot, and runs a catch loop that engages a creature without killing it and uses your quest cage on it.
/fightto <destination>
/fightto status | clear
- Walks to a zone line, NPC, or shop in the current zone fighting any mobs
encountered along the way. Same destination resolution as
/walkto, but routed through jidou's fight-to mode.
/gather <subcommand>
- Automated gathering — navigates to the nearest harvestable node, interacts with it until it despawns, then moves on to the next one. Supports all harvesting types: Gather, Mine, Chop, Fish, Trap, and Collect.
/gbank deposit <qty|all> <item name>
/gbank depositat <qty|all> <tab> <slot> <item name>
/gbank list
/gbank pace [ms]
- Deposit items from your bags into the guild bank.
depositauto-targets the first empty slot(s), tab 0 first;depositatnames an explicit 0-based tab/slot for when auto-target can't read the bank.
/grouphud status|far <n>|self [on|off]|cures [on|off]|casting [on|off]|sort [on|off]|peers|reset|save
- Tune the ImGui group-status overlay: name, level, HP%, power%, distance, cures, and casting for every group member, with an optional self row.
/gyonin pause|movepause|mode|melee|meleedir|follow|followclose|followturn|beacon|radius|assisthp|mainassist|chatecho|debug
- Control gyonin, the bundled combat-rotation automation: pause it, pick a
role, set the assist target and engagement radius. Run
/lua run gyoninfirst.
/im space | gear | bags | potions
/im find|count <name>
/im use|scribe|read|examine|place <name>
/im verb <native_verb> <name>
/im equip|unequip|swap <name>
/im destroy <name> [count]
/im adorn "<adornment>" <slot>
- Inventory management from a slash command — read your bags and worn gear, report
free space, and fire an item's right-click verbs by name. Complements
/invwith a space/count report, weapon swapping, adornments, and a raw-verb escape hatch. Names are matched case-insensitively and partially.
/inv list|equipped|find|actions|examine|scribe|use|read|equip|unequip|move|help
- Read your bags and worn gear, and fire item actions by name. Provided by the
bundled
inv_helperscript — run/lua run inv_helperfirst.
/jidou pause|mode|assist|target|camphere|campon|chaseon|fightto|followclose|...
/jidou set <setting> <value> | get <setting> | list | toggle <setting>
- jidou is clockwork's RGMercs-style combat automation — a class-configurable rotation and assist engine with a settings UI, per-character class profiles, a puller/camp system, and peer relay built in. A port of RGMercs adapted to EverQuest II.
/lem show | hide | list | status
/lem event <name> [on|off]
/lem cond <name> [on|off]
/lem test <text>
/lem reload
- Lua Event Manager — a port of MacroQuest's LEM. It watches your chat for text
patterns and evaluates condition checks, running a bit of Lua whenever one fires.
Events are managed in an ImGui window and through
/lem, and both the event definitions and which are enabled persist per character.
/mapradar [toggle] | on | off | show | hide | prime
- Draws live spawns radar-style onto EverQuest II's own minimap and full map,
colored by type — the same classification as
/navmap: PCs green, mobs red, named orange, pets cyan, NPCs grey.
/maptravel <DestName>
/maptravel list
/maptravel status
- Commit a fast-travel map destination by its display name. Provided by the
bundled
maptravelscript — run/lua run maptravelfirst.
/memtrim
/merc resume [slot]
/merc suspend [slot]
/merc train [slot]
/merc chain [slot]
/merc hire [name|id]
/merc stop
/merc
- Mercenary control from a slash command — resume (un-suspend), suspend, and train
your mercenary, or run the whole
resume → train → suspendchain in one shot. Replays the native mercenary-window verbs through the command queue, so it drives the game exactly as the UI does.
/nav route|mark|list|clear|go|loop|save|load|moveto|follow|followclose|flank|fwd|turn|beacon|tune|stop|status
- Record, save, and walk waypoint routes; follow a spawn; hold a flanking
position. Provided by the bundled
navscript — run/lua run navfirst.
/lua run navmap
- 2D navigation map overlay showing navmesh edges, actors, routes, and points of interest, filtered by floor height. Click to navigate.
# navpathfollow.lua
/navpath follow <Leader> [dist]
/navpath stop
/navpath status
# navpathtarget.lua
/navpath
/navpath target
/navpath stop
/navpath status
- Navmesh-driven pathing over
lib.navpath/ the Detour navmesh, registered by either of two standalone scripts under one command name:navpathfollow.luawalks toward a named leader actor,navpathtarget.luawalks to your currentTarget. Both fall back to a direct (non-mesh) move-to when no navmesh is loaded for the zone or pathing fails.
/nbg need <item>
/nbg greed <item>
/nbg decline <item>
/nbg clear <item>
/nbg upgrade [on|off|check]
/nbg rules
/nbg leader
/nbg dryrun
/nbg status
- Watches for Need-Before-Greed loot windows and automatically clicks Need,
Greed, or Decline per item based on configurable rules. Runs alongside
/autoloot, which only handles Free-for-All windows — this script leaves those alone and only acts on NBG-mode ones.
/overseer
/overseer plan
/overseer complete
/overseer start
/overseer hh
/overseer auto on|off
/overseer dryrun on|off
/overseer ui on|off
/overseer open | close
/overseer set <key> <value>
/overseer pin|skip <name>
/overseer exclude <name>
/overseer reload | save
- Automates Overseer quests on autopilot — completes finished quests, keeps the Heritage Hunt quest alive, and starts new quests within the daily budget.
/qj <subcommand> [args]
/questaccept
- Automatically accept incoming quest offers.
/resettimer <zone_id>
/resetalltimers
- Relay receiver that resets a
zone instance's reuse-lockout timer — or every eligible zone's, via
/resetalltimers— through the client's internal command queue, then answers the resulting confirmation popup automatically.
/sellall [subcommand]
/settarget <id>|<name>
- Relay receiver that sets
this client's own
Targetto match a leader's, by GameWorld entity id with a name-based fallback. Fills a gap left byrelayclicks.lua's native click-replay, which opens a peer's Merchant/Journal/dialog window but does not set itsTarget— a script readingActor.Target()locally (e.g. a mender check) sees nothing selected even with the window open.
/trade <name> [count] ['<item name>'] [coin...] [accept]
- Start a player trade and drop items and/or coin into it from one slash command.
This is the outgoing counterpart to
/autotrade, which presses Accept on the receiving side./tradeopens the trade, adds what you named, and (only if you ask) presses Accept.
/transmute <name> <qty>
/transmute go <name> <qty>
/transmute stop | status
/transmute debug on|off
/transmute arg1 [id|auto|clear]
- Transmute stacks of items from your bags by name.
/transmute <name> <qty>is a dry run — it prints the exact commands it would send without touching anything;/transmute go <name> <qty>actually runs them. Built for the transmuting daily and for clearing junk gear into transmuting materials.
/travelto <destination text>
/travelto status
/travelto clear
- Relay receiver that commits a fast-travel map destination on this client by display label, against this client's own observed destination list. Nothing but the label text crosses the wire.
/lua run uiclick list
/lua run uiclick all
/lua run uiclick tree <Window> [depth]
/lua run uiclick text <path>
/lua run uiclick press <path>
/lua run uiclick <path>
- Inspect and press controls in live on-screen windows — lists top-level windows, dumps a window's control tree, reads a control's text, or presses a control.
/volume <0-100>
/volume mute
/volume
- Read or set EverQuest II's live master volume from a slash command, without
opening the options window.
/volume 50sets it to 50%,/volume mutesets it to 0, and bare/volumeprints the current value.
/walkto <destination>
/walkto status | clear
- Walks to a zone line, NPC, or shop in the current zone, navmesh-routed. The destination is matched against the local EQ2Map points-of-interest for the zone you're standing in.
/lua run wallhacks
/wallhacks find <name substring>
/wallhacks [clear|on|off|self|vlock|dist|dump]
/wallhacks set <key> <value>
- World-space marker overlay: type a name substring and every matching in-world actor gets a bright, pulsing "sparkle" drawn over the real object in the 3D view (through walls), so you can see where it is.
/writ go [x N]
/writ items | stop | status | cfg
- Automates tradeskill work orders (writs) end to end: walk to the writ NPC, accept the writ, read its objectives, craft every item on the list, and turn it in — then loop for the next one.
Adding your own¶
Any Lua script can register a command:
eq2.register_command("greet", function(args)
eq2.print("hello, " .. (args ~= "" and args or "world"))
end)
while true do eq2.delay(1000) end -- keep the script (and the command) alive
eq2.register_command returns false if the name is already taken. The command
is unregistered automatically when the script stops. See
Events and Binds.
Native EverQuest II commands¶
clockwork does not shadow or replace the game's own commands. Anything it
doesn't recognise is passed straight to the client, which is what makes
/dga /follow and eq2.cmd("/say hi") work.