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.
--------------------------
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:

