• You've discovered RedGuides, an EverQuest multi-boxing and scripting community 🧙‍♀️⚙️. We want you to play several EQ characters at once, come join us and say hello! 👋

  • A TLP without truebox has thawed (Very Vanilla ready)
    Frostreaver
IonBC Legacy READ OVERVIEW

💾Software IonBC Legacy READ OVERVIEW (1 Viewer) 0.29.5

No permission to download
Joined
Nov 11, 2012
RedCents
1,387¢
Ionis submitted a new resource:

IonBC (TrueBox, Live, Test, Emu) - A user-generated GUI that broadcasts commands over multiple PCs, intended for TrueBox.

IBBanner.png

Showcase


About
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...​


Read more about this resource...
 
Ionis gave me access to source (other RG staff are invited to the repo), I can confirm it's clean. In my opinion this is a big upgrade over hotkeynet / AHK.
 
Last edited:
Ionis updated IonBC (Live, TLP, Test, Emu) with a new update entry:

IonBC Ver. 1.1: Event Triggering!

What's New:
-Client & Host now have event triggering! You can toggle this on and off in their associated windows. Event triggering allows you to set up pre-determined triggers to look for which are pulled directly from your log file via a reverse seek to end so it's instantaneous and your log size is irrelevant! Clients can now automatically do X action when X thing happens in-game and Host side can automatically have a button trigger in the exact same...

Read the rest of this update entry...
 
If you'd like to demo out IonBC just shoot me a PM!

I'm down to give out trial licenses to all/any who want to give it a try! :)

Thanks guys!
 
Last edited:
Ionis updated IonBC (Live, TLP, Test, Emu) with a new update entry:

Loading Unsaved Buttons & Misc. Bugfixes

What's New:
-You can now load buttons that are not yet saved using the Load Button menu! This makes duplicating buttons that you haven't yet saved to a hotbar or GUI much, much easier.

Bug Fixes:
-Fixed a bug where opening hotbars from the Server Window wasn't working due to an improper value for the 'Wait' varaible.
-Fixed a bug where loading hotbars from a hotbar wasn't working due to an improper value for the 'Wait' variable...

Read the rest of this update entry...
 
Ionis updated IonBC (Live, TLP, Test, Emu) with a new update entry:

Ignore Socials for Triggers, Profile System Deprecation & Bug Fixes

What's New:
-You can now set triggers to ignore social channels, to do this you need to check the "Ignore Socials?" checkbox when creating a host or client-side trigger. This allows the trigger to be more dynamic and avoids griefing folks from triggering your toons actions via a tell or say.
-The reading system for the profiles is now improved, the old system has been deprecated but this should not affect any existing profiles.
-You can now export buttons...

Read the rest of this update entry...
 
Can this be used on multiple accounts locally?
Well yes... But also no :)

Unfortunately, we haven't worked out a solution to the way DirectInput/EQ blanket ignores virtual keycodes, so sending to a window handle via a p/invoke like Send or PostMessage just won't work.

On the other hand, if you run the clients through VMWare, yes this will work on one local machine. Though that's not entirely ideal.

For now, it is intended for servers with the TrueBox ruleset. I am currently trying to figure out a work-around with some of the other MQ2 developers to see if we could possibly bypass this by imitating a hardware input non-virtually, but this is a work in progress.

I will keep everyone updated as I continue to work on a standalone version that can work entirely locally, but without injecting (like MQ2 and ISBoxer do) it may take some time to work out a work-around.

I would like to keep this ENTIRELY uninjectable, so injecting or otherwise manipulating memory data is what is currently holding a local version back. Yet, I will keep poking away at it and we'll see where we end up. :)
 
Hihi!

I am aware of an issue where, if you're not tabbed in to EQ, the client is the foreground window and you send a message to that client, it will cause a misread on the client-side and connect/disconnect rapidly due to how we handle inputs.

This is due to the foreground window being hit for input always. Just make sure your clients are tabbed in to EQ before sending them any messages (clicking cool buttons).

If this happens to you and you find yourself stuck with the dreaded "duplicate handle" error, save any hotbar(s) you have open and restart your host-side.

Next update will implement a fix for this.


[CODE title="Nitty-Gritty of why this is happening"]IonBC doesn't inject, so it actually doesn't recognize it needs to send the input to EQ specifically.



We could circumvent this by using a p/invoke in C# called SendMessage/PostMessage.
The issue is these send virtual keystrokes.
Virtual keystrokes are picked up by the DirectInput wrapper and immediately rejected without even considering it as an actual key, so it's impossible to pass a message to the EQ client this way without injecting.
The p/invoke we DO use circumvents this as it goes at a lower level than Send/PostMessage and totally avoids the wrapper DirectInput/EQ holds over native process for handling inputs.


If we were to inject, that would break Daybreak's EULA and the whole point of IonBC was to create a program that eased boxing without injecting, like MQ or ISBoxer.


The cool thing about this, though, is it means this program isn't limited to just EQ. You can use it in any game or application you'd run over multiple PCs.[/CODE]

Next update will also come with some new features including individual event button toggles, in-line command targeting (think /bct) and some other jank!

If you have any questions, problems or concerns please shoot me a PM. Thanks fellas!
 
Last edited:
Ionis updated IonBC (Live, TLP, Test, Emu) with a new update entry:

Hotfix for client window receiving messages & NRE on Client-side event toggling

-If the Client window is foreground, it will now reject received commands and relay a message asking to tab in to the associated application. This will not effect commands sent to windows outside of the client window, if it does contact me immediately.
-Fixed a bug where toggling the client-side triggers on and off without changing the path from it's default would cause an NRE to be hit when checking whether or not events can be raised.

Read the rest of this update entry...
 
Hihi!

I am aware of an issue where, if you're not tabbed in to EQ, the client is the foreground window and you send a message to that client, it will cause a misread on the client-side and connect/disconnect rapidly due to how we handle inputs.

This is due to the foreground window being hit for input always. Just make sure your clients are tabbed in to EQ before sending them any messages (clicking cool buttons).

If this happens to you and you find yourself stuck with the dreaded "duplicate handle" error, save any hotbar(s) you have open and restart your host-side.

Next update will implement a fix for this.


[CODE title="Nitty-Gritty of why this is happening"]IonBC doesn't inject, so it actually doesn't recognize it needs to send the input to EQ specifically.



We could circumvent this by using a p/invoke in C# called SendMessage/PostMessage.
The issue is these send virtual keystrokes.
Virtual keystrokes are picked up by the DirectInput wrapper and immediately rejected without even considering it as an actual key, so it's impossible to pass a message to the EQ client this way without injecting.
The p/invoke we DO use circumvents this as it goes at a lower level than Send/PostMessage and totally avoids the wrapper DirectInput/EQ holds over native process for handling inputs.


If we were to inject, that would break Daybreak's EULA and the whole point of IonBC was to create a program that eased boxing without injecting, like MQ or ISBoxer.


The cool thing about this, though, is it means this program isn't limited to just EQ. You can use it in any game or application you'd run over multiple PCs.[/CODE]

Next update will also come with some new features including individual event button toggles, in-line command targeting (think /bct) and some other jank!

If you have any questions, problems or concerns please shoot me a PM. Thanks fellas!
^ This has been fixed in the most recent update.

Sorry for the x2 hotfixes, the first one I pushed was just suuuper urgent as it directly impacted how the application impacts gameplay when used in tandem with other software and I felt it needed to be released ASAP.

Next update will include some actual content assuming nothing catastrophic happens that needs to be urgently addressed. :)
 
Last edited:
Just as a look ahead, here are the current upcoming planned features due to community requests:

  • In-line command targeting (think /bct)
  • Togglable event triggers on individual buttons instead of just blanketed over all buttons (host-side).
  • Fully mappable non-user generated controls (seperate window to map ALL controls, not just generated buttons)
  • Full bounds detection. Buttons dragged or left out of bounds will be automatically interpolated to a spot relevant within the bounds, new buttons will detect whether or not they're over a currently existing button and attempt to find a free spot given their dimensions
  • Togglable autosaving for hotbars & GUIs
I have not forgotten about you non-TrueBox folks who wish to use this locally on a single PC. I am still experimenting with work-arounds for circumventing the input wrapper without injecting. If you have any questions, concerns, suggestions or problems please feel free to contact me!
 
Last edited:
1.2 Roadmap can now be found on the resource overview if you'd like to see what's coming up in the newest version!
All feature additions and changes were suggested by the community!

If you have any suggestions, concerns or questions contact me.
 
Last edited:
I am aware of an issue involving keybinds where detection is not entirely strict in some cases and where alt-tabbing on specifically Win11 can cause the key hit data structure to artifact old keys.

A fix for this will be pushed with 1.2!

If you run in to any problems, concerns or have any questions please message me.
 
I am aware of an issue where the server window will hang for some time upon loading if there are an egregious amount of buttons.

This is due to the validation process of button IDs and has been fixed.

The fix will be included in 1.2.
 
1.2 has been finished!

Adding a few small things that y'all asked for (interval variation and manual button collision) and then the new version will be released!

Expect a stable version available either later today or tomorrow barring nothing requires me to slam my head on the desk repeatedly.
 
Ionis updated IonBC (Live, TLP, Test, Emu) with a new update entry:

IonBC Ver 1.2: Community Feedback Update!

What's New:
-You can now use the /ibt command to target specific clients within a command. Any command not prefaced with /ibt will be sent to every client targeted, commands prefaced with /ibt will ONLY be sent to that specific client.
Example: /tar Ionis ; /pause 10 ; /ibt Druid /cast ReptileSpellGemHere ; /ibt Shaman /cast ChampionSpellGemHere
This is useful for when you only need one specific client within a command line to do something, this way...

Read the rest of this update entry...
 
1.2 is up and ready for use!

I've been programming pretty much every day, all day, so I'm going to take a break for the rest of the night but I will have documentation and a update video covering everything by the end of tomorrow!

I could've waited, but I know a lot of folks have been waiting for this so I really wanted to get it out. If you have any questions, concerns, problems or suggestions feel free to PM me!

Moving forward from here, I plan to focus on the overall health of the program so I'll be doing regular maintenance and bug fixes primarily, over new additions but I'll keep everyones suggestions for the next big update!

I plan to start poking at a local version as well here, so I'll keep everyone posted on that.

Enjoy guys!
 
Last edited:
Ionis updated IonBC (TLP, TrueBox) with a new update entry:

IonBC 1.21: Keymapping tweaks and bugfixes

**NOTE: This is NOT a FULL update, you should only have to replace the exe on your HOST-SIDE.

Bug Fixes:
-Fixed a bug where keymaps were detecting an empty data structure as a key pressed.
-Fixed a bug where some deprecated keybind logic was preventing keybinds from firing.
-Fixed a bug where assigning a keybind to the broadcasting function would cause the...

Read the rest of this update entry...
 
Very minor tweaks made to splash screen stuff, going to wait until there's something more major to do a version update though.

Update video is finished, editing and we'll have documentation up!
 
Documentation is up folks, feel free to give it a look over!

A few things:

Next Stage of IonBC:
So I want to focus primarily on the health of the program, I feel like we've got a solid handful of features here that really helps boxing become considerably easier without requiring injectables. From here, I am going to primarily be tackling bugfixes and code maintenance to really get this as clean as possible. This doesn't mean that I'm done adding to IonBC, I am always open to suggestions for additions. Anything you'd want it to do, I will do everything within my ability to make it happen. All suggestions will be added to a wishlist which I will go over once I think enough time has passed for all of the kinks to iron themselves out.

While I do this, I will be working on a local version that doesn't require multiple PCs or Virtual Machines to use for folks over on Live that have requested it. I haven't forgotten about this, I will do my best to get this optimized for one PC, I just would like to avoid having to mess with anything native if I can help it but we'll see as development on the project progresses.

That being said, I appreciate all of the feedback and support I've gotten since the release of IonBC! If you have ANY issues, concerns, questions or suggestions don't hesitate to contact me.

Thanks again guys, be safe!
 
Last edited:
Doing a rewrite on our live-key broadcasting, going to write out some heuristics and really iron out how I want it to break down. This way we can avoid the occasional key loss that sometimes happens.

Expect that sometime in the next week!

In the mean-time, if you run in to any issues or have any questions don't hesitate to contact me!
 
I am aware of the triggering issues and they're being handled. There's an experimental fix but it is being tested by users, once it is finalized it will be pushed alongside some other minor bug fixes.
 
Ionis updated IonBC (TrueBox) with a new update entry:

IonBC 1.22: Trigger rewrite & bug fixes

Changes:
-Triggering system has been entirely rewritten. Before we used FileSystemWatcher, but it was way too slow and wasn't seeking updates properly. We now have a custom method that seeks the last 25 lines every 5 milliseconds, seeing 5k lines a second. This should substantially reduce the amount of whiffs on triggers, if not eliminate them entirely.
-You can now modify the keypress speed of triggers via the interval textbox client-side. This...

Read the rest of this update entry...
 
Bugfixes & changes regarding triggers and other misc. stuff has been pushed.

Documentation for Add Trigger has been updated with information regarding the new variables.

As always, let me know if you run in to any issues!

Thanks guys!
 
This was the first software item i downloaded from Redguides and I jacked the permissions; now the tool wont load. Is there any way to correct this?
 
This was the first software item i downloaded from Redguides and I jacked the permissions; now the tool wont load. Is there any way to correct this?
Yep!

I threw a response to your PM. :) Sorry, my notifications weren't updating for whatever reason so I was a bit delayed.
 
A bug regarding keys getting stuck when using a keymap to toggle broadcasting on/off has been fixed.

This will be included in the 1.23 update but if it's something you'd like now just let me know and I can provide an experimental version.
 
is there a command to send to the host box?
At this time, there is no command for sending actions to host, there is a work-a-round for this though. You can launch a client on the host PC and throw commands to that client and the commands will be thrown to the host PC as if it was a client. :)
 
Update coming in the next week here to address live-key broadcasting whiffs and code maintenance.

Thanks for the feedback! As always, if you run in to any issues, don't hesitate to contact me.
 
💾Software IonBC Legacy READ OVERVIEW

Users who are viewing this thread

Back
Top
Cart