• You've discovered RedGuides 📕 an EverQuest multi-boxing community 🛡️🧙🗡️. We want you to play several EQ characters at once, come join us and say hello! 👋
  • IS THIS SITE UGLY? Click "RG3" at the very bottom-left of this page to change it. To dismiss this notice, click the X --->
IonBC (TrueBox)

Utility IonBC (TrueBox)

Download now:  Join us with Level 2 access or earn your way in with  RedCents.
Other Authors
Software Requirements
Pilot PC must be played in Windowed Mode.
Server Type
  1. Live
  2. Emu
  3. TLP
  4. Test Server


Most Recent Update Vid


IonBC is currently free during it's beta period! Try it out, let me know what you think and if you have any problems or suggestions, feel free to contact me!


IonBC is a TCP broadcaster that uses sockets over an established network to broadcast any user-generated command to other PCs within that network. It was designed for TrueBox servers (but can be used with any) for an inclusive, non-cumbersome, non-injectable and easy to understand alternative to programs like AHK, HKN and log readers. It allows for multi-client broadcasting, full user-generated GUIs, easy multi-machine control, full command keybinding, easy to share profiles and more! Anything you would be able to do in similar programs, you can also do using IonBC plus more! IonBC was designed with the end-user in mind, everything has been made as simple as conceivably possible with anything outside of generating controls being done internally for you. Both advanced and beginner users will find ease of use within IonBCs systems and, should you struggle with anything, please feel free to use the resources laid out here as a guide or reach out to me!

NOTE: IonBC directly accesses user information through RedGuides API and is dependent on RedGuides servers for validation. By purchasing IonBC you agree to allowing the program to access the specified data on a READ ONLY level. To reiterate, IonBC accesses RedGuides user information and resources, it DOES NOT reference or access EverQuest or any other applications user information.
Check section 7 of the license for more information.

Share your profiles in the IonBC Config Library :)

Setup | Controls | Commands & Keycodes | Special Thanks


1. Install
2. Extract to any directory
3. Open on every PC
4. On pilot PC click Host, on all other PCs click Client
(NOTE: Pilot PCs EQ Client must be in windowed mode)
5. Fill out Client Handle, Port & IP fields appropriately
6. Click Start on Host then Connect on all Clients
(If using Parsec/VMs) 6.5. Enable Hide GUI on Window Change & set it to your EQ process using the Processes button.
7. Click New Hotbar on the Host, click the
button to open the tool bar then the
button to start creating your controls
8. Make button, press button, do thing, enjoy!

Note: Make sure AlwaysOnTop in your eqclient.ini is set to 0, if it exists.

Host | Client | Triggers | Add Trigger | Processes | Hotbar/Toolbar | Create Button | Load Button | Color Wheel | Exporter | Keymapping | Process Controller | New Process



The hosts main control panel, from here you can open new hotbars, existing hotbars, GUIs, start the server, open the exporter, return to the main window and designate a target process for hiding the GUI on window change. This is what runs our server primarily and handles sending information to our clients.

a. Return
Click to return to the main window.

b. IP Field
Enter designated networks IP here.

c. Port Field
Enter designated Port here.

e. Debug
Relays messages that are received or sent.

f. Start
Click to start the server on the appropriate IP/Port.

Click this to open the GUI associated with what's selected in the dropdown box.

j. OHB
Click this to open the Hotbar associated with what's selected in the dropdown box.

k. NHB
Click this to open a brand spanking new Hotbar.

l. Tabs
Different navigation tabs for differen functionality! All main server logic is tied to the main tab, while settings are tied to the options tab.

m. Export
Click to open the export window.

n. Keymapping
Opens the keymapping window for binding keys to server/hotbar/toolbar functionality.

o. PC
Opens the process controller for setting up processes for manipulation.

p. LP
Launches all processes that are set to launch via the process controller.

q. Toggles
All togglable settings
Drag Collision on Buttons: Toggles whether or not buttons dodge collision when manually dragged over each other.
Toggle GUI On Window Change: Toggles whether or not you want the GUI to hide when tabbed out of the main window.
Event Triggers: Used to toggle dynamic button trigger events.
Autosave: Used to toggle autosaving all GUI objects every X minute(s).



Our client window, from here we can connect/disconnect to our server once it's running. The client-side handles all macro processing and execution. Make sure the you don't use duplicate handles as the server will only accept unique handles from every client.

a. Return
Click to return to the main window.

b. Client Handle
Enter this clients unique handle, same names are not allowed.

c. IP Field
Enter networks designated IP here.

d. Port Field
Enter designated Port here.

e. Debug
Relays messages.

f. Connect
Click this to connect to the designated network.

g. ET
Clicking this toggles whether or not we look for event triggering.

h. Path
The path to the log file of the current character, sought to the end and iterated on for one line to compare against events in the case of a trigger executing.

i. Events
Opens the Triggers window for adding/editing/removing client-side triggers.


The triggers window is where we access client-side trigger information (host-side is attached to the associated button).
Here we can create, edit and remove triggers for event handling while Event Triggers is enabled and we're connected.

a. Search
Type whatever to search for the trigger containing specified characters.

b. Triggers
A list of our existing triggers (you can find these saved to the [Triggers].txt file in your Profiles directory).

c. New
Click this to open up the Add Trigger dialog for creating a new trigger.

d. Edit
Click this while a trigger is selected to edit the selected trigger.

e. Delete
Click this while a trigger is selected to delete the selected trigger.

Add Trigger:

The Add Trigger window is where we handle creating our client-side events.
Here we can designate a trigger, an action to execute upon triggering, how long to wait before executing
and whether or not we want this action to interrupt any command that's already being processed from our server.

a. Name
Name of our trigger, can't be blank or duplicate.

b. Trigger
The event that triggers our action, you can add multiple triggers to one event, just separate them with the | character.

c. Action
What is executed upon trigger proc, supports multi-line.

d. Wait
How long we want to wait before executing the action (in milliseconds).

e. Interrupt
Whether or not we want to interrupt processing commands when the trigger procs.

f. Save
Saves the trigger to our triggers.

g. Interval
Change this to change the speed individual keypresses are handled when executing the associated action

h. IS
Toggle this to change whether or not we ignore social channels for triggering (say, shout, guild, tell, etc.)


The processes window is accessed by clicking the processes button from the Host window when Toggle GUI on Window Change is enabled. From here we can see all of our currently running processes that have window titles for easy access to any usable application. You can also manually type out the window title in the Win Title text field located on the Host window.

a. Search
Type whatever to search for the process window title containing specified characters.

b. Processes
List of currently running processes with existing window titles, select one as a target.

c. OK
OK button, confirms and translates window title to textbox, who would've guessed? :)

(Note: Background can be transparent, background shown here is my desktop background through the hotbar due to transparency.)

The bread and butter of IonBC, this is a hotbar overlay which can be opened via the New/Open Hotbar/GUI button(s) on the Host window.
From here we can create UI elements, save our profiles, delete our profiles, load our profiles, toggle live key broadcasting and stylize our hotbars. This is also where we execute our user-generated commands which are passed to the target client(s). Fully customizable, feel free to style it to your own preferences.

a. Add
Click this to open the Create Button window for creating user-generated UI elements.

b. GUI Drop
Used for selecting which GUI to target with controls.

c. Hotbar Drop
Used for selecting which Hotbar to target with controls.

d. Save GUI
Used to save target GUI.

e. Save HB
Used to save target Hotbar.

f. Save New GUI
Used to save a new GUI.

g. Save New HB
Used to save a new Hotbar.

h. Load GUI
Used to load a GUI.
(Note: This does not save currently loaded GUIs/Hotbars, make sure you save all/any changes before loading.)

i. Load HB
Used to load a Hotbar.
(Note: This does not save currently loaded GUIs/Hotbars, make sure you save all/any changes before loading.)

j. Delete GUI
Used to delete target GUI.
(Note: This PERMANENTLY DELETES the GUI in the dropbox, make sure you want it gone before doing this.)

k. Delete HB
Used to delete target Hotbar.
(Note: This PERMANENTLY DELETES the Hotbar in the dropbox, make sure you want it gone before doing this.)

l. Color Wheel
Opens the color wheel for stylizing the Hotbar.

m. Reset
Click this to completely reset all Hotbar stylization & positioning to default.

n. Close All Hotbars
Closes all open Hotbars.

o. Close Hotbar
Closes associated hotbar.

p. Lock/Unlock Hotbar
Locks or Unlocks the associated hotbar for manipulation.

q. Live BC Toggle
Toggles live key boardcasting across all connected clients.

r. Open/Close Toolbar
Click this to open or close the toolbar.

s. Dragmove
Click and drag on this button to move the hotbar around your screen.

Create Button:

Our Create Button window is where we make our user-generated elements for passing our commands to our clients.
You can open this via the
button on the toolbar but it can also be accessed by right clicking any existing button to edit them.
From here we can create our macro, set however many client(s) we want it to go to, set whether it should repeat or not, determine the speed at which our macro's keys should be processed client-side and attach a host-side trigger to the button. We can also access the Load Button window for easy button importing.

a. Btn Name
Enter the name of your button here.

b. Btn Txt Color Wheel
Opens the color wheel window for controlling your buttons text stylization.

c. Btn BG Color Wheel
Opens the color wheel window for controlling your buttons background stylization.

d. Client
The handle(s) you want to target, for multiple separate with a comma (ex. CoolTank,CoolHealer,CoolDPS), for all just type all.

e. Macro
Type out your macro, uses multi-line functionality so each individual command needs to be separated by a semi-colon.

f. Mouse Control
Pick a client from the drop down, position their mouse where you'd want it, then press the M1 or M2 button. This translates the units of the target clients screen and they'll press Mouse 1 or Mouse 2 at the designated co-ordinates when that part of the macro is triggered.

g. KB
Press keys within the field to set a keybind for the button, press backspace to clear.

h. Repeat
Check this box and set a time interval to repeat the macro every X seconds.
(Note: Buttons cannot be a repeater and have a cooldown simultaneously)

i. KI
More advanced setting for changing the speed at which the individual character processing of the command is executed, in milliseconds. Good for zones with a lot of network latency or zone load. Leave this alone unless you know what you're doing or feel like fiddling with it.

j. KB Text Color Wheel
Opens the color wheel window for controlling your keybind text stylization.

k. Preview
Live preview of your buttons stylization.

l. Load
Opens the load screen for importing buttons from your profiles folder.

m. Save
Saves the button to the appropriate hotbar.

n. TOE
Clicking this toggles whether or not we want trigger event handling on this button.

o. Trigger
The event that will trigger the button's execution, you can add multiple triggers just use the | character to separate them.

p. Wait
How long we wait before executing the button after trigger procs.

q. CD
Whether or not you want the button to have it's own dedicated & visualized cooldown.
(Note: Buttons cannot be a repeater and have a cooldown simultaneously)

r. IS
Toggle this to change whether or not we ignore social channels for triggering (say, shout, guild, tell, etc.)

Load Button:


The Load Button window is where we can easily import/clone buttons while we're creating them.
Here we can load or clone any button that we have saved in our profiles directory and instantly import it in to our hotbar via the Create Button window.

a. Search
Type whatever to search for buttons containing the specified characters.

b. Buttons
List of buttons.

c. Data Preview
Full preview of the selected button and it's contents.

d. Load
Imports the button directly in to the Create Button window for quick saving individual buttons.

Color Wheel:


The Color Wheel is used for stylizing our hotbars and button elements.
We can set colors, transparency, stylization and other various elements via this window.

a. Color Wheel
Use the wheel and picker objects to modify your Hotbar/Buttons color.

b. Sliders
Use these sliders to modify transparency and other stylization.

c. Unit Controls
Change what type of unit your using or use a hex code.


In our exporter we can designate specific profiles, GUIs and buttons to be exported to our Exported directory within our Profiles folder.
Here you can export any button, profile or GUI that you'd like to share on the designated forum and automatically append any sensitive information those elements may contain.
It is automatically packaged and zipped for you, so just add to the list, export and upload away!
(NOTE: The S&R functionality is case sensitive, make sure you always check your file(s) and make sure the sensitive information has been removed. Simple mistakes like misspellings could be the difference between a safe upload and everyone knowing your character(s) name(s).)

a. Search
Type whatever to search for buttons containing the specified characters.

b. Buttons
List of buttons that could be exported.

c. Preview
Preview of the selected buttons data, if profile or GUI selected remains blank.

d. Add
Adds selected button to export targets upon clicking.

e. Remove
Removes selected export target upon clicking.

f. Export Targets
List of added elements to be exported.

g. S&R
When checked, replace the designated text with new text. This is for removing sensitive information like character names and then appending a replacement. Each phrase needs to be separated by a comma, each replacement phrase will lineup with it's associated target phrase and, if there is no target, the last replacement in the list will be chosen instead. If replacement text is white space or empty, it will simply just remove the target text from the element.

h. Export
After adding the elements you'd like to export, click this button then navigate to your Profiles -> Exported folder in the IonBC directory. There you'll find your export all zipped and ready to be shared on the forums!


The keymapping window allows you to map any non-user generated server-side functionality to any keybind of choice!

a. Tabs
Tab groups for keybinds relating to server, hotbar and toolbar functionality.

b. Keybinds
User generated keybinds for the specified functionality.

c. Save
Click this to save any/all changes to keymaps.

Process Controller:

The process controller is used to set up multiple processes for manipulation within IonBC. Generally good for things like Parsec and other RDC programs, you can easily control window hierarchy by setting up the process controller!

a. Search
Type in this field to search through the list of designated controlled processes.

b. Processes
List of designated controlled processes & their associated data.

c. New
Click this to create a new controlled process.

d. Edit
Click this to edit the selected controlled process.

f. Delete
Click this to delete the selected controlled process.

New Process:

The new process window opens when you click the "New" button in the Process Controller. The fields provided are what you would use to designate processes and assign controls for the target windows!

a. Search
Type in this field to search through the list of designated controlled processes

b. Processes
List of currently ran processes that have a valid window title.

c. PBP
Togglable for setting processes by path in-case they cannot be found in the running processes.
Processes manipulated this way MUST be launchable.

d. Add
Click this to add the selected process to the selected processes.

e. Remove
Click this to remove a process from the selected processes.

f. Slct Processes
List of currently selected processes for manipulation.

g. Details
Used to modify the keybinds, launch parameters and launchable status of the manipulated processes.
Launch Params: The launch parameters for the selected processes (ex. patchme)
Tab To Keybind: The keybind used to tab to the processes main window(s).
Add Win Kb: The keybind used to dynamically add windows/processes to the macro.
Remove Win Kb: The keybind used to dynamically remove the last or foreground window from the macro.
Launchable?: Whether or not the process will launch when the Launch Processes button in the server window is pressed.

h. Save
Click this to save the new/edited processes.

Commands & Keycodes


/keypress lshift+a
/keypress works the same way it would within MQ. It presses the designated key(s) on the target client when that part of the macro is processed. You can combine multiple keypresses by adding the + modifier between keycodes. For a list of keycodes, click here.

/pause 10
/pause works exactly as it would if you were making a macro within EverQuest. Just type /pause and then how long you want to pause afterwards. It works like the EverQuest system, so 10 is 1 seconds, 20 is 2 seconds, so on and so fourth. I chose to use pause as opposed to delay strictly so I could make the macroing language as close to EverQuest's as possible to avoid any confusion on functionality.

/cancel all
/cancel last
/cancel allows you to cancel the current macro being processed. Say you accidentally slip in a pause that's way too long, or you really need to interrupt what they're doing so you can pass a different command, /cancel will let you do that.
/cancel by itself will cancel the command to the target client.
/cancel all will cancel ALL commands currently being processed from any client.
/cancel last will cancel the command last sent to however many targets.

/tar Tank ; /pause 10 ; /ibt Druid /cast ReptileSpellGemHere ; /ibt Shaman /cast ChampionSpellGemHere
/IBT (or /ibt) allows you to dynamically target client within commands. Instead of having to make separate buttons for say buffs, rotations, etc. you can just use /ibt and target any client within OR outside of the current target handles. So long as the client is connected and the handle is spelled correctly, /ibt will be sent to the designated client regardless of whether or not they're a target handle.

/invite Coolguy ; /invite Radguy ; /invite Dopeguy ; /pause 10 ; /keypress lshift+x ; /pause 10 ; /ibt Radguy /g Group formed, buffing... ; /pause 10 ; /click 568753 (or /click "Buff Rot")
/click allows you to press buttons within the command of a macro based on the buttons respective ID or name! This allows for more dynamic interaction between the buttons and opens up the possibility to chain buttons together for long-winded combos that you'd otherwise not manually click!

0-9, a-z, all symbols and F1-F12 are their respective characters
Left Shift = lshift
Right Shift = rshift
Left Control = lctrl or lwin
Right Control = rctrl or rwin
Left Alt = lalt
Right Alt = ralt
Backspace = back
Enter = return
Caps Lock = capital
Tab = tab
Escape = escape
Spacebar = space
Insert = insert
End = end
Home = home
Page Up = pgup
Page Down = pgdn
Delete = delete
Scroll Lock = scroll
Tab = tab

Special Thanks

For all the help and sticking it out with me until I got this finished. I greatly appreciate the numerous meetings we had and granting me specific access to the OAuth and API so I could properly instantiate the license validation logic. You were an incredible help and I am extremely grateful for everything you helped me with over the course of this project. Thanks again man, I do truly appreciate everything you do.

I based my validation logic off of the your logic from the RedGuides launcher. I reworked it quite a bit, but without your logic as a baseline I would have had to start without reference on something that I had never done before (pass through a XFAPI). This helped me a great deal and saved me a great deal of headaches.
Thanks again, keep up the great work on the launcher man!

Just a quick shoutout to bobthebuilder here, he's stuck with me from when this project was just an idea and supported me along the way regardless of the amount of delays and issues I ran in to. Really appreciate your continued support on the project man and I hope it's as useful to you as you were hoping it'd be! Let me know if you run in to any issues.

And thanks to everyone else who supported me over the course of this project, there were quite a few of you and I don't have time to mention everyone here but I hope this is as useful to you as you had hoped it would be. I wouldn't be nearly as confident with this release as I am without all of the support backing me from the early stages of this project. I hope to continue support on this and instantiate everything that everyone could want within IonBC.

As with any of my resources, if you have any concerns, comments, questions (see F.A.Q) or recommendations please contact me via PM or leave a response in the discussion.
I am always open to adding any features to any of my projects and I look forward to seeing what folks do with IonBC.

Thanks again for all the support over the past few months!​
License Name
IonBC License
First release
Last update
5.00 star(s) 4 ratings

More resources from Ionis

Latest updates

  1. Resize Buttons bugfix

    **Note: You should only have to update your host-side. Unless you have yet to update to 0.28.6...
  2. 0.28.7: Corrupt Profile Checking & Bugfixes

    **Note: You should only have to update your host-side. Unless you have yet to update to 0.28.6...
  3. 0.28.6: Y interpolation, hotbar focus changes, bugfixes & more!

    **Note: This is a FULL update, you'll need to replace both client AND host-side versions...

Latest reviews

Ionis does amazing work! He is a great guy and helped me resolve some issues I was having on my end. This program is fantastic, and if you box I highly recommend using it! I currently 7 box with 2 PC's and 5 Laptops. This makes things a breeze from healing my toons on my cleric, buffing with my shaman and assisting my tank on my monks and bard. The overlay is perfect and super easy to customize.
Triggers. Took me 5 minutes to set up a druid port bot that will send anyone to where they want based on the tell they send.
Just spent 30 mins with it, replicated my hotkeynet setup and didn't even notice the event trigger part, gonna be fun looking into that :)
IonBC is an incredible program that really puts the fun back into boxing. It's incredibly versatile, very simple to set up and maintain. Can't give enough compliments to Ionis for all the work he's done to get this thing finished, and for the work he continues to do improving it!