MacroQuest
EZServer is a boxing server. People on this server play 6 or more characters. In order to do this efficiently, and without completely losing your mind, you have to use a character management system.
Enter MacroQuest.
MacroQuest allows you to control all of your other characters from the convenience of your main screen. It also allows you to do a few tricks that would not be possible without it.
Beginning December 2025 EZ Server's rules on MacroQuest have changed! Read the Rules! You will notice that many of the old restrictions have been removed, allowing players much greater convenience in managing their characters.
Installing MacroQuest
1. Download Macroquest. Be sure to "scroll down" a bit until you find the MacroQuest (emu server) release. Click on "Assets" and download the MacroQuest.zip folder (not the "source code")
2. Extract the files to a new folder. It is important that this folder is NOT the same folder that has your eqgame.exe client. For example, if you have D:\EverQuest RoF2\EZ Server, you should have D:\MacroQuest.
3. Run "MacroQuest.exe"
4. MQ2AutoLogin is enabled by default. The easiest and fastest way to set this up, is to manually log in each of your characters and then /camp desktop. DO NOT /quit or /exit. This allows MQ2AutoLogin to capture the character name and server information.
5. Right click on the MQ icon in your system tray (down by your clock!). Select: "Open Config" beneath "Auto Login' which will open a new window. From here, you can set up your log in "profiles" or "groups".
Tips and Tricks for Auto Login
"Group" name can be whatever you want. "EZ Toons" or "EZ Tank" or "IPlayEZ!" These are merely to help you identify what Characters will be launched in that group. Once you name your group, you "Add Profile." This is somehwat confusing, and it's better to think of this as: "Add Characters" to the group. If you manually logged in and /camp desktop as directed in #4, then you should be able to select the empty box where it says "Character" and choose your character name.
EQ Path will be the folder that contains your eqgame.exe. You can edit this PER CHARACTER. More on that below!
Characters will log in from top to bottom when you "launch group," so keep that in mind if you have a preference on how they appear on your taskbar!
Plugins
Plugins are used to control many elements of your interaction with MacroQuest and EverQuest. MacroQuest comes with a number of useful plugins, but how you play dictates which plugins are useful to you!
By default, most plugins are "unloaded" when you first run MacroQuest. If you would like to use a plugin, you can load it by "/plugin Name" and using "/plugin Name unload". Not generally recommended, but if you're comfortable with a text editor, you can also edit the .ini directly.
Some users report the following Plugins to be useful for their gameplay:
MQ2ItemDisplay Cleans up the item information window. MQ2Map Allows you to hide, show and/or highlist items on the map. MQ2MoveUtils Provides the /stick command and /moveto id. MQ2Targets Allows you to setup notification on spawns. Much needed starting with Tier 5 (Abyss). Note While this plugin exists and is useful, take note that other solutions exist that may be better for your computer's performance. MQ2AutoGroup Automatically accept group/raid invites.
Uses for MacroQuest
MacroQuest was originally designed and programmed with the Macro language in mind. However, through the years it has been updated to use a normalized language, Lua, for better control and clarity. In recognition of the history of EZ Server, the following is left for historical purposes. Each of these references are to the Macro language, which all have lua counterparts. More Information on Macro to Lua. You can skip past it if you'd like to just get up and running.
MacroQuest creates items called TLO (Top level objects), these are variables, or just information about things.
These are accessed with ${ }. A great use of them is to check on something really quick.
/echo ${Me.Level} - Will print your level in the macroquest window.
These are useful to see what is going on with your characters at a glance. Some useful ones are
${Target.CleanName} shows your targets clean name.
${Zone.Name} shows what zone you are in.
${Me.Combat} shows if attack is on.
All items that you can interact with in everquest has a ID number. You can access this from macroquest with the ID part of most TLOs.
${Me.ID} will get you your ID
${Target.ID} will give your target's ID
${Me.Pet.ID} will give your pet's ID
CFG files are files which contain commands to be run at certain times. The file must contain commands the same as you would use them normally.
Each command will be executed in order, however there are NO macro blocks, events, etc, in a CFG file.
Click Here for more info
Dynamic Map
MacroQuest populates your map with the location of all NPCs in real time. - you can right click the NPC on the map to target it
Map Commands
- "/mapshow NPC" - shows ALL NPC's on map
- "/maphide skele" - hides all NPC's on map with "skele" in their name
- "/highlight NPC" - highlights the color of all NPC's in zone
- "/highlight color # # #" - changes the color MQ2 uses to highlight mobs. the 3 numbers will create a color based off of RGB color codes. Some examples are "/highlight color 255 255 255" for white, "/highlight color 0 0 0" for black
Target
"/target NPC" - Targets any NPC in zone
Example: "/target skeleton" - targets the nearest NPC with "skeleton" in its name
"/target ${ME.pet}" - Targets the players pet
"/tar id 123" or "/tar id ${Target.ID}" useful for when you have 12 orcs, this allows you to specify which orc.
"/bca //tar id ${Target.ID}" will send a command to all other characters you have logged in, telling them to target your specific target.
"/rsay the corpse is id: ${Target.ID}" is useful so that you can go to another character and type "/tar id #" and then "/loot" and you will target the correct corpse in the pile and loot it.
Radius
Checking the radius is always a good idea. This will prevent you from telling a character that is too far away to do an action.
Lets say you wish your group to attack the target.
/noparse /bca //if (${SpawnCount[pc radius 100 warriorsname]}>0) /attack on
This would tell everyone BUT the one issuing the command to turn attack on IF warriorname is within 100 units of them.
Stick
- This is a MUCH better version of /follow from EQLive.
- add "uw" after stick to make characters look down when sticking, this helps with water following or levitation (e.g. "/stick uw")
- add a number after stick to specify the distance to follow (e.g. "/stick 1" -or- "/stick 20")
- add "behind" to stay behind an NPC (useful for rogues, or to avoid rampage damage) (e.g. "/stick behind")
- add "moveback" to stay at the set range from an NPC (useful to avoid being so close you can't attack) (e.g. "/stick 20 moveback")
- Any of the above commands can be combined (e.g. "/stick 15 behind uw")
Moveto
If your target is not going to be moving, another command to use is
- /moveto id
You can target another character of yours and /moveto id and you will run up to them and stop. You can target a corpse in a pile with /tar id #, then use /moveto id and you will run up to the corpse. The default distance is set to 20, but you can change this with
- /moveto 5
and that will move you to within 5 of the target.
Sending Commands - EQBC
- /bcaa //command - Sends a command to all of your characters, INCLUDING the one you are currently on
- Example: "/bcaa //stick 10" - make ALL of your characters stick to what they are targetting at a distance of 10
- Example: "/bcaa //stick 10" - make ALL of your characters stick to what they are targetting at a distance of 10
- /bca //command - Sends a command to all of your characters, EXCEPT the one you are currently on
- Example: "/bca //stick 10" - make all of your OTHER characters stick to what they are targetting at a distance of 10
- Example: "/bca //stick 10" - make all of your OTHER characters stick to what they are targetting at a distance of 10
- /bct name //command - Sends a command to a specified character
- Example: "/bct Darpey //stick 10" - makes Darpey stick to what he is targetting, at a distance of 10
- Example: "/bct Darpey //stick 10" - makes Darpey stick to what he is targetting, at a distance of 10
Channels in EQBC
- All people with pets should have pet channel
- All people with whom you wish to punch with should be in a DPS channel
- All tanks should be in a tank channel
- All casters in caster channel
- All healers in a heal channel
Examples
/bccmd channels tank
/bccmd channels dps pet
/bccmd channels caster pet dps
/bccmd channels tank heal
So, a Beastlord would be in all 3 channels since he both casts, has a pet, and does dps
Clerics Paladins and Shaman are in /bccmd channels tank heal because I want them to attack from the beginning and for the occasional heal.
If you log out your boxes using camp, they will retain the channels you put them in.

Nuke:
Now casters are in their own group because I have "/bct casters //keypress 7"
Heal:
"/bct heal //keypress 5"
Cleric could be be '/cast "Word of Vivication"'
For everyone else they all have a heal spell MQ2 Macros Forum Post
Item Notify:
- Clicks a specified item
- Example: "/itemnotify slotname rightmouseup" - right clicks the item in the specified slot
- Example: "/itemnotify "Noobie Item v1" rightmouseup" - right clicks the named item (must be exact)
Use Item:
- Clicks a specified item
- Example: "/useitem slotname (bagslot#(0-9) RoF2 only)" - right clicks the specified item
Door/Portal:
- "/doortarget" - Targets nearest door/portal
- "/click left door" - left click door/portal if within range 20
Twist
- Allows your bard to continuously sing multiple songs
- Example: "/bct Bardname //twist 1, 2, 4" - Makes bard sing songs 1, 2 and 4 on his spell gems.
- Use "/twist off" to stop singing
- Also can twisting their epic clicky.
- 1. If using the Newever version of MacroQuest
- Edit server_char.ini your MQ2 folder "EZ (Linux) x4 Exp_[bardname].ini" and set with following.
- [MQ2Twist]
- Delay=33
- Quiet=0
- Adjust=1
- Recast=0
- 21_CastTime=-1
- 21_ReCastTime=33
- 21_Name=DISABLED
- 21_Slot=mainhand
- [MQ2Twist]
- Then on main toon you can have hotkey: "/bct Bardsname //twist 1 2 3 21"
- Number 21 is for the [21] section you just did in the server_char.ini.
- The Delay and ReCastTime may need to be adjusted depending on the epic.
- Then on main toon you can have hotkey: "/bct Bardsname //twist 1 2 3 21"
- 2. If using the older version of MacroQuest.
- Edit mq2twist_bardname in your MQ2 folder and replace [Click_13] with following.
- [Click_13]
- Cast Time=20
- ReCast Time=600
- Name=Disabled
- Slot=mainhand
- [Click_13]
- 2. If using the older version of MacroQuest.
- Then on main toon you can have hotkey: "/bct Bardsname //twist 1 2 3 13"
- Number 13 is for the [Click_13] you just did in the mq2twist file.
- Then on main toon you can have hotkey: "/bct Bardsname //twist 1 2 3 13"
Multiline
- Allows you to fit more than one command in one hotbutton line (as long as it doesn't extend beyond the frame)
- Example: "/multiline ; /bca //stick 10 behind ; /stick 10" - Makes all OTHER characters stick behind, and your main character stick in front.
Filtering
- Allows you to filter what shows in your chat box. You can add an asterisk before the text to act as a wild card, otherwise it will only filter lines which begin with what you type. Wild cards will be filtered if they pop up anywhere in a certain line.
- Example: "/filter name add *begins to glow" - Filters out all messages about glowing items from focus effects. The * is only needed before the filter, and is assumed after it
- Example: "/filter name add You strike through" - Filters out all messages about striking through your opponents defenses. It doesn't need a wild card because it is the start of the text.
- Some popular wild card filters for EZ: *begins to glow (charm focus effect), *has died (NPC death), *beams a smile (lifetap emote), *is struck by a cyclone (every warrior epic), *glows blue (more charm spam), *has been slain by (NPC death), *contorts with rage (Warrior Anger proc), *your wounds close (Druid Skin proc)
- Some popular standard filters for EZ: You have slain (NPC death), You strike through (in-game filter doesn't work for this), You resist the (Resist messages), Your faction standing with (faction messages)
Self Buffing Your Own Group (This will allow you to have your boxes Target their pets (if they have them) and buff themselves.)
- Line One: "/bca //useitem slotname (bagslot#(0-9) RoF2 only)"
- Line Two: "/noparse /bca //target ID ${Me.Pet.ID}" - /noparse is a must at the beginning because if it's not there, your boxes will try to target your Main Box's Pet.
- Line Three: "/bca //say buffs" - This will buff each of your boxed characters with their clicky pets from your main box (Caster's Guild Quest Flag required).
Hide Corpse (not MacroQuest, but still useful)
- /hidecorpse looted (hides corpse after it has been inspected)
- /hidecorpse all (hides all corpses in zone other than your own)
- /hidecorpse off (makes all corpses in zone visible)
Hotbutton Examples
Assist
/bca //target id ${Target.ID}
/bca //stick 15 uw behind
/stick 10
/bcaa //attack on
/bcaa //pet attack
Follow
/bca //target id ${ME.ID}
/bca //stick 10
Gate to Nexus
/bcaa //itemnotify 19 rightmouseup
Loot Corpse
/target corpse
/stick 1
/loot
Make Alt Loot Corpse (Alt targets corpse that you are currently on, waits 2 seconds for you to get off corpse, then loots all of corpse's contents)
/bct Brotedo //target id ${Target.ID}
/bct Brotedo //stick 1
/pause 20
/bct Brotedo //lootall
Alt Nuke Target
/bct Wizardname //target id ${Target.ID}
/bct Wizardname //cast 2 -maxtries|4
Alt Cast Spell on Target
/bct Toonname //target id ${Target.ID}
/bct Toonname //casting (spell ID number)
( e.g. /bct Aamadex //casting 125262 )
Force Boxes to Only Render UI (Reduces Lag)
/bca //viewport 1 1 1 1
Render Reset (see above)
/bca //viewport reset
Optimizing Everquest
While macroquest is a great tool for playing multiple characters on one computer at the same time, there are some things to know and keep in mind to make your game play as enjoyable as possible. Some things can be accomplished locally to your computer without having to send a command to the server and get a response back. An example of this is during combat.
Lets say you just pulled 4 orcs, and you have got them back to camp and the army is going to pounce. You could make a hotbar social that reads: /bca //assist maintank /pause 5 /bca //stick 10 behind uw /bca //attack on While this works and works rather well, what happens is, you send a command from maintank to the eqbc, which in turn sends that command to all other characters you have logged in. Now each character on it's own does a /assist maintank. This /assist maintank has your eq client send a command to the server and asks it, "who is maintank targeting?" then it waits for a response. Once it gets the answer from the server, the client then targets the maintanks target and turns attack on.
To remove the request from the server and the wait for the answer, with macrquest you can do the following. /bca //tar id ${Target.ID} /pause 2 /bca //stick 10 behind uw /bca //attack on In this example, maintank issues a command to eqbc, which in turn sends that command to all other characters you have logged in. Now each character on it's own does a /tar id #. Instantly everyone is targeting the right npc. No request of ezserver, no wait.
New MacroQuest
Without going into too much detail, MacroQuest is now just that: MacroQuest (or MQ). "Old" MacroQuest2 was referred to as MQ2 or MacroQuest 2, with the "new" version being developed as MQNext. Eventually, "Next" was dropped, and it is now just "MacroQuest"/"MQ". There are many places to obtain MQ, each with their own variety of benefits.
Character Management Programs
The choice of Character Management programs falls on you, the user to decide which best suits your needs. You can even write your own program to manage your characters.
- E3Next
A very comprehensive guide is found here.
- RGMercs Lua!
A very comprehensive guide is found here.
- KissAssist
A very comprehensive guide is found here.