• 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

(02-28-07) EQIRCBM Bot monitoring system with **GMCheck**

EQManiac

Member
Joined
Jan 29, 2006
RedCents
31¢
EQIRCBM Usage guide
--------------------------

EQIRCBM is a combination of a MQ2 IRC plugin and a C# client designed to interact with this plugin. The combined functionality allows the user to monitor thier EQ1 Bots using MQ2 and IRC from any location with internet access that has the .Net 2.0 framework installed. The client interface allows a crude form of commands such as MQ2Slave etc...

Note: This plugin is a hack from MQ2NetBots (Sorcier) and MQ2Irc (merkzu). Remember to give credit where credit is due :)

Requirements:
Current working version of MQ2
MQ2EQIRCBM.dll (plugin)
EQIRC Bot Monitor (C# Client)
IRC server with private messaging enabled (*Suggested: http://ircd.bircd.org/)
*Make sure private messages are enabled "RestrictPrivate=0"

Plugin:
The MQ2EQIRCBM.dll plugin has two methods of operation. Method one will replace the MQ2Irc.dll plugin and has all the normal functionality plus the abilities of the EQIRCBM plugin. Option two is to run the MQ2EQIRCBM.dll plugin along side the MQ2Irc.dll plugin in which case the commands are slightly different (renamed).

Which method is used, is defined in the ini file MQ2EQIRCBotMon.ini, 1 = replace, 2 = alongside.
ReplaceIRC=1
ReplaceIRC=0

MQ2Irc replacement:
/i <command>
/istatus
/iconnect
/gmcheck

Alongside MQ2IRC:
/eqirc <command>
/eqircstat
/eqirccon

Applicable in both:
/ialerts
/chanserv
/nickserv
/mode
/gmcheck

Both methods have identical <command>s (examples will use standard MQ2Irc command syntax):

BOTMON <target>
/i BOTMON EQIRCBotMon
This command sets the nick for the C# client that is used in IRC. The value is stored in the plugin's ini file.
UpdateTarget=EQIRCBotMon

BOTCNT <name>
/i BOTCNT <whoever>
This command identifies who the bot controller is. This value is not required for operation, it is informational only. If used it should be issued in the operating script at a point where you can identify who the controller is.

CHATF <say|group|guild|tell|auct|ooc|yell|raid|chat|all> <on|off>
/i CHATF group on
This command instructs the client to forward the associated chat channel(s) to the BOTMON target. The EQIRCBotMon client will normally control this function and the user should not need to issue it manually.

UPDATES <on|off>
/i updates on
/i updates off
This tells the plugin to send updates to the client. This value is not static between sessions and must be set each time the plugin is loaded/started. Once turned on for the session, it will monitor if the client is online or not and update appropriately (only need to turn it on once per session).

RESET
/i reset
This command resets the "kill" counter. Useful for shrouding when you know you get ?% per kill etc..

NICK JOIN PART WHOIS MSG SAY RAW QUIT NAMES X HELP
As per regular MQ2Irc plugin

CONNECTING:
/iconnect or /eqirccon
Identical operation to MQ2Irc

STATUS:
/istatus or /eqircstat
Identical operation to MQ2Irc

ALERTS:
/ialert <proximity|death|ld|loot|generic> <msg>
This sends a private message to the BOTMON target. The EQIRCBotMon client will use this message to generate a popup alert window with associated audio notification. This command will typically be used within scripts that will check for these events and forward the information to the client.

CHANSERV, NICKSERV, MODE:
/chanserv <typical argument format>
/nickserv <typical argument format>
/mode <typical argument format>
These commands are shortcuts to implement these commands using normal IRC argument formats.

GMCheck:
/gmcheck (reset|force)
When a gm is destected the value is set until it is manually reset. This enables the scripter to know if the gm was only in the zone for a short time (before turning gm invis on). The "reset" option clears the gm detected flag. The "force" option forces a complete check of the zone for any entity marked as a GM, if one is detected the GMCheck value will be set to true just like as if the automatic detection idnetifies a gm zoning in.
NOTE: No GM detection method is certain to always identify a GM, this is an aid, not a solution.

EQIRCBotMon TLO (normal IRC TLO still exists)
--------------------------
Server (string) Name/IP of server connected to
Port (string) Port connected to
Channel (string) Channel you are speaking in
Nick (string) Nick you are signed in with
BotMon (string) Name of nick updates will be sent to
Updates (bool) are updates on?
GMCheck (bool) was gm detected?

--------------------------

Walk thru (MQ2Irc replacement)
--------------------------

PLUGIN:
Start MQ2 normally

Load an EQ instance normally

Once character is logged in remove the MQ2Irc plugin
/plugin mq2irc unload

Install the MQ2EQIRCBM plugin
/plugin mq2eqircbm

Connect to your IRC server
/iconnect <whateverIP> 6667 #<whateverChannel> ${Me.CleanName}

Turn on updates
/i updates on

CLIENT:
Unzip the published zip file and run setup.

If you want the sounds to function, copy the ".wav" files included in the zip to "C:\Windows\Media\". It is fine to exchange the files with your preferred sound files, just make sure they are PCM wav format.

Go to your start menu and start the EQIRC Bot Monitor client

In the bottom left corner are 4 text entry fields
<IRC server IP> <port> <Channel> <Controller Name>
The default values will work if the IRC server is running on the same computer as the client, Otherwise just enter the IP value for the IRC server you will use. I connect the EQIRCBotMon user to seperate channel from the bots to reduce chatter, apples and oranges, whatever makes you happy.
NEW: The ability to define the controller's name when connecting. Make sure the Bots are setting the BOTMON value to whatever name you specify.

Click the "Connect" button.

Now be patient a minute as the bots recognize the client has come online and begin to send updates (can be ~30 seconds for client check to activate).

Update pulses happen every few seconds for each bot monitored, a complete refresh is done every 70 seconds.


Client Usage
-------------------
The client is simple and straight forward (and not complete, in development).

As bots connect and send updates it will create a bar for each bot that contains its information.

The bar will show the toons name and relevant information.

The client has the ability to issue commands to each bot, this is accomplished by right clicking the bots information bar and selecting the command to issue.

The current list of quick commands is very limited, but the user can send custom commands by selecting the "Custom Command" option in the same context menu. This option will send the command the user has typed in "Custom Command" field on the bottom right of the client. All commands must be in the exact same format as you would enter it in EQ (/macro <whatever> etc).

NEW: The client halso giveseach bot its own chat window and command entry field. Simply select "Advanced" and you will see the command entry field. Type normal "/" commands (/guildsay <whatever>, /macro <whatever>, etc..) and hit enter and the command will be sent to the EQIRCBM plugin.

Each bot is defined by a bot display panel that shows the relevant information. Each panel contains two graphical Icons, one for bot status (Icon:standing, sitting, mounted/Color: Red-active, blue-cooldown, green-resting) and an update frequency icon (green-recent, yellow-15+ seconds, red-over 70 seconds).

HP, Mana and endurance or shown in the normal graphical format for the EQ client.

The bot panel itself is a color coded indicator. Grey is the normal status, teal defines the bot is invisible, red shows the bot is in the dead state and Yellow shows the bot has detected a gm in the zone.

The bot's name color shows if they are a group leader (green), a member of a group (yellow) or ungrouped (blue).

Alert window and chat notification toggles are controlled by the little green boxes. Dark green is inactive, light green is active. G for GM alerts, L for link ld/ping time out alerts, C for chat beeps, and D for deaths. This toggles only work for automatic type notifications and will not affect any notification sent via /ialert

The second to the bottom line on the client is the entry fields for email notifications. Anytime an Alert window would popup an email notification is sent to the specified reciever (if email forwarding is "checked" and the alert is not supressed by the little green button toggles. The default values in the boxes are bogus, you need to replace them with valid values. SMTP mail server to be used to send the email through, the email address of the intended recipient, and the email address of who it is from (replies, validation, etc..).

Alternate Controllers
-------------------------------
The plugin allows the user to list alternate controllers in the ini file. The name will be listed and a value of 1 or 0 will be assigned. Values of 1 allow that IRC user to issue commands, values of 0 deny that IRC user permission. Anyone who attempts to issue a command like this will be given a default entry in the ini file with a value of 0 (can be used to see if someone tries to issue a command without your knowledge).

To issue a command, the Alternate controller must be logged into IRC with the Bot (any IRC client will work) and issue the command via a private msg to the bot using the EQIRCBM plugin.
For example, using EQIRCBM in overlay mode the following command will work (assuming user is assigned permissions).
/i msg Gromtooth BCMD /target NPC skeleton

Gromtooth is the target bots IRC name, and you are making them target the nearest NPC with skeleton in the name.
/i msg <target bot> BCMD <slash command>


Final Note:
-------------------------------
This utility is not complete and not "idiot proofed". If you try to break it, you most likely will.

Enjoy my fellow EQ junkies

MstrGareth (AKA EQManiac)



CHANGE LOG
-----------------------------
02/28/07
-Added toggles for Alerts and audio beeps for Chat forwarding (nifty little green boxes)
-Added Alert messaging via email (email, blackberry, cell txt msg). Now you can see exactly when your vxed afk bard gets his lute handed to him :)
-Modified Alerts window to work for GM alerts also.
-Added a few more quick commands to context menu.
-Adjusted the layout slightly to be easier on the eye.

02/08/07
-Added "/gmcheck" command (reset|force)
-Added GMCheck (bool) vlaue added to EQIRCBotMon TLO.
-Added GM detection color coding to bot panels. (client)
-Fixed grouping code to handle when a bot changes groups. (client)
-Added group status color coding. (client)

01/31/07
-Added audio and visual notifications (chat notification, bot death and /ialerts)
-Added "send All" ability to issue a command to all connected bots
-Added timestamp for chat messages
-Added "all" argument to CHATF command
-Display is now sorted by group, with additional spacing between groups.
-Bots time out and are removed from display after 3 minutes of inactivity.
-Added additinal exception handling to help remove odd crashes.
-Added /chanserv /nickserv and /mode commands to plugin(suggested by Alatyami@RG).
-Increased font size in chat window.


01/16/07
-Added Chat forwarding (suggested by FunWithUs@RG).
-Added chat viewing in client.
-Enhanced Bot command capabilities.
-Added ability to have alternate controllers.
-Added the ability for the user to define the clients login nick.
 
Last edited:
Re: My New Year's offering, EQIRCBM Bot monitoring system

I know this tool is for more serious botters only which limits the number of users, but not a single reply?

Someone has to have an opinion one way or the other? :)
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

Sorry man... I totally respect your work and all, but MQ2EQBC>ALL in my opinion. It doesn't leave me wanting to experiment or try something new. Can the tool you listed above be adapted to work with that? If so, let's talk about that? (Sorry, I don't mean to hijack, I'm just answering your call for an opinion).
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

I have never worked with EQBC since it requires a direct IP connection (DHCP makes this a pain). I always wanted the ability to connect to a static location so I chose a IRC server implementation.

Does EQBC also have a GUI client you can connect with, if so tinkering with that may be a better direction for me (hooked on "everything at a glance").
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

There is no GUI client that I know of. But you can pass commands from any toon in the channel to any other toon in the channel for purposes of remote control. Ideally, I think it would be neat to be able to log in via Remote Desktop, and pick a toon to view the text, and then speak with people in game through EQBC.

Currently the server client does not allow interaction from the console that I know of. You can only view the text and commands that are passed between toons through the EQBC channel.
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

Ah, sounds like apples and oranges. Different focus abilities for each tool. Mine is monitoring with some command ability, where as EQBC is primarily command centric.

Though I like the ability you mentioned to observe chat from each monitored toon. I think I will add that to mine with the ability to reply in the same window.
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

I believe you can log into the EQBC server using a Telnet session; I'm just not familiar with the commands or login syntax. I tried it once, but I couldn't see what I was typing. You can also host EQBC on any Linux or Windows server; it has a password authentication system (which I don't use) but you can enhance that with firewall rules if you have a dedicated server.

I've run it off of a Linux server before, with firewall rules to allow only me and a friend. It was kind of funny, making him say shit in group and stuff, until I accidentally made him type some MQ2 syntax shit in /say in PoK. No ban was incoming, but we both ran local servers after that.

So, if you set up a dedicated server somewhere, and you got the Telnet thing working, EQBC would probably do everything you needed. But then again, you've already got your solution done :)
 
Re: My New Year's offering, EQIRCBM Bot monitoring system

True, except for the GUI, for me thats a big thing. I like being able to see what all my bots are doing and thier status by looking at one screen. Of course I tend to run 8-12 bots during a session so checking each one individually is a nightmare.
 
Re: (UPDATED)My New Year's offering, EQIRCBM Bot monitoring system

Updated with new features :)
 
Re: (UPDATED)My New Year's offering, EQIRCBM Bot monitoring system

Anymore commentary is welcomed. Especially ideas on what to add next :)
 
Re: (UPDATED)My New Year's offering, EQIRCBM Bot monitoring system

chanserv and nickserv commands ...

e.g.

Register and Ident with a nick server
/nickserv register passwd [email protected]
/nickserv identify passwd

Make the channel invite only
/chanserv set #channel restricted on|off

Display channel information
/chanserv info #channel all

Make current channel hidden
/mode +s

That should keep you busy ...

With MQ2IRC I am always having to use

Rich (BB code):
/i raw nickserv identify myPasswd

Also, it would be awesome if the last connection info would be character specific, as I four box on one machine and each one of them tries to connect with the same nick.

It would be really awesome to actually see /nickserv and /chanserv as actual command options.
 
Re: (UPDATED)My New Year's offering, EQIRCBM Bot monitoring system

Alatyami said:
chanserv and nickserv commands ...

e.g.

Register and Ident with a nick server
/nickserv register passwd [email protected]
/nickserv identify passwd

Make the channel invite only
/chanserv set #channel restricted on|off

Display channel information
/chanserv info #channel all

Make current channel hidden
/mode +s

That should keep you busy ...

With MQ2IRC I am always having to use

Rich (BB code):
/i raw nickserv identify myPasswd

Also, it would be awesome if the last connection info would be character specific, as I four box on one machine and each one of them tries to connect with the same nick.

It would be really awesome to actually see /nickserv and /chanserv as actual command options.


From what I can see it would be a small process to add /mode /nickserv and /chanserv commands. Effectively it would be nothing more then an alias controlled by the plugin.

As for storing the characters last connection in order to preserve the nick, would it be preffered to allow a substitution? Such as the ini says the "nick" for this connection is "/name/", which would be a reference for ${Me.CleanName} when it goes to connect. Trying to think of how to minimize the garbage in the ini file.
 
Re: (UPDATED)My New Year's offering, EQIRCBM Bot monitoring system

Pre-update info:

I have added the /chanser, /nickserv, /mode and /ialert commands.

The IRC type commands are basically nothing more then aliases so you have to use the same formatting you would for any arguments

e.g.
/nickserv register passwd [email protected]
/nickserv identify passwd

Both will work just fine etc....

The /ialert is intended to be imbeded in the macros at key locations when you need to notify the client of something unusual (death, ld, loot, proximity etc...). The script still needs to handle checking for the events, this is just a way of passing the information to the third party client.

The CHATF command has had a new argument option added for specifying a channel <all>. This will do a complete toggle of chat forwarding for all channels. This is mostly used by the third party client.

---------------


I will publish these changes after speaking with Alatyami about the "nick" options and implementing the appropriate changes.
 
Re: (02-05-07) EQIRCBM Bot monitoring system

Screenshots of the GUI would be nice.

I'm somewhat interested, would allow me to check up on my bots from work without having to go upstairs (I live in an apartment above the computer shop I work at)
 
Re: (02-05-07) EQIRCBM Bot monitoring system

EQManiac said:
New version uploaded

nice .... thanks for the additions ....
 
Re: (02-05-07) EQIRCBM Bot monitoring system

Screenshot added to original post
 
Re: (02-08-07) EQIRCBM Bot monitoring system with **GMCheck**

New version uploaded

02/08/07
-Added "/gmcheck" command (reset|force)
-Added GMCheck (bool) vlaue added to EQIRCBotMon TLO.
-Added GM detection color coding to bot panels. (client)
-Fixed grouping code to handle when a bot changes groups. (client)
-Added group status color coding. (client)
 
Re: (02-08-07) EQIRCBM Bot monitoring system with **GMCheck**

i'm looking for the most effecient way of tracking gm's, if u could respond with a link to the dll or post where i can get one that i don't have to compile that would be great.
 
Last edited:
Another version :)

02/28/07
-Added toggles for Alerts and audio beeps for Chat forwarding (nifty little green boxes)
-Added Alert messaging via email (email, blackberry, cell txt msg). Now you can see exactly when your vxed afk bard gets his lute handed to him
-Modified Alerts window to work for GM alerts also.
-Added a few more quick commands to context menu.
-Adjusted the layout slightly to be easier on the eye.
 
(02-28-07) EQIRCBM Bot monitoring system with **GMCheck**

Users who are viewing this thread

Back
Top
Cart