MQ2Eqbc
Overview
MQ2EQBC (EQ box chat) is a plugin composed of two parts, a server (EQBCS) and a client (MQ2EQBC).

  ● The server provides a similar service to an IRC server, but much simpler to set up.
  ● The client is similar to the MQ2IRC client, in that it monitors text that is sent to the EQBC server, but the main
   advantage of MQ2EQBC is that it allows remote commands to be sent directly to a single (or all connected) client(s).

This plugin was originally written by Omnictrl, but is now maintained by ascii38.




Features

  ● Allows remote commands via box chat much like mastermind does.
  ● Allows you to remotely log into a different character (ie. load up cleric for rezzing). You can also do this locally if
   you want to recamp to another toon and go grab a carrot sandwich or something.
  ● Allows you to control anyone anywhere (ie. someone in your raid needs to afk for a while: they connect to your server,
   you remotely load macros and control their toon as needed until they return).
  ● Is mostly compatible with scripts that already support MQ2Irc (replace '/i say' with '/bc').




Commands

/bccmd

  ● /bccmd connect <server> <port> <password>
   Connect to server on port using password (defaults: 127.0.0.1 2112). Note: Once you connect, it will remember that
   connection, so next time you just have to type "/bccmd connect".

  ● /bccmd quit
   Disconnects from the server

  ● /bccmd help
   Show Help

  ● /bccmd status
   Show if connected or not

  ● /bccmd reconnect
   Close the current connection and connect again

  ● /bccmd names
   List everyone that is connected to the server

  ● /bccmd colordump
   Show color codes

  ● /bccmd togglecontrol
   Allow remote control

  ● /bccmd togglewindow
   Toggle the dedicated EQBC window

  ● /bccmd toggleautoconnect
   Toggle auto connect

  ● /bccmd togglecompatmode
   Toggle IRC compatability mode

  ● /bccmd togglereconnect
   Toggle auto-reconnect mode on server disconnect

  ● /bccmd setreconnectsecs #
   Set the number of seconds to wait until reconnecting (default 15)

  ● /bccmd stopreconnect
   Stop trying to reconnect for now

  ● /bccmd relog <charname>
   The relog command will select the next character if you reach character selection screen within 60 seconds of the
   command. Otherwise, it times out. It does not camp for you. To reset, enter the relog command with no charname.

  ● /bccmd channels <channel list>
   Set the list of channels to receive tells from.

  ● /bccmd togglelocalecho
   Toggle echoing my commands back to me if I am in channel

  ● /bccmd version
   Show version


/bc

  ● /bc your text here
   Send "your text here" to the server.


/bct

  ● /bct ToonName your text here
   Send "your text here" to ToonName.

  ● /bct ToonName //command
   Send /command to ToonName.


/bca

  ● /bca //command
   Send /command to all connected clients




EQBCS
Eqbcs is a server that can be run as a console application on windows, or as either a foreground application or daemon on a Unix-like system (tested with Linux and FreeBSD).

It currently takes the following command line parameters:

  ● -p <port> which is the port you want to bind to (default is 2112, which is dedicated to the Canadian trio Rush).
  ● -i <address> which is the IP address that you want to the server to listen on if there is more than one network
   interface in the computer (default is to listen on all interfaces, which is what you want unless you know otherwise).
  ● -l <file> will send all output to <file> rather than to the screen.
  ● -d will cause the application to run as a deamon process in the background (UNIX only).

Examples:

CommandPrompt
More +
C:\> eqbcs              Listens on port 2112
C:\> eqbcs -p 4224      Listens on port 4224
C:\> eqbcs -l log.txt   Listens on port 2112 and sends all server output to the file log.txt.
C:\> eqbcs ftp          Does not work, it does not look up service names to map to port, and the text won't work.





Top-Level Objects

  ● bool ${EQBC.Connected}
   Am I connected?




Examples
Sending commands to other toons:

  ● /bct ToonName //sit
  ● /bct ToonName //stand
  ● /bct ToonName //macro ninjalooter
  ● /bct ToonName //endmacro
Fri Feb 06, 2009 6:44 pm
Co-Founder (Retired)
Cantarb had a good thought so let's roll with it. I will consolidate in this post usage examples for the MQ2EQBC. Post things below and I will put them into the main post.

What You can do with MQ2EQBC
MQ2EQBC Lets you send commands to other clients without the need for a macro that you have to run. If you can type it in the normal EQ window, then it can be sent via MQ2EQBC.

First and for most make sure your running the EQBCServer.exe located in your MQ folder. You may get a Windows Security and/or a Windows Firewall warning, you will need to Accept/Allow on them or the program will not work as intended.

How to connect (by default you will only have to do this once)
Log in 1 character only.
Macro
More +

Load the plugin: /plugin MQ2EQBC
Tell it to connect to EQBCServer.exe: /bccmd connect ipaddress port
Example: /bccmd connect 192.168.1.10 2112


Now log in the rest of your toons, and they should automatically connect to EQBC.

From here on anything you want done must be done on EACH TOON.

MQ2EQBC USAGE
To send a command you type /bca, /bcaa or /bct (you can use /bc alone but it is depreciated and may be removed from MQ2)
Macro
More +
Format: /bca //SOME COMMAND
Example 1: /bca //target Sorvani |Tell everyone except the toon typing this to target Sorvani
Example 2: /bcaa //target Sorvani |Tell everyone including the toon typing this to target Sorvani
Example 3: /bct Maudigan //target Sorvani |Tell Maudigan to target Sorvani


MQ2EQBC Channels
Channels are useful if you want to have more than one, but not all of your toons do something. To have your toon join a channel do the following:
Macro
More +
/bccmd channels <channame1> <channame2> <etc>
Example 1 on a Melee DPS: /bccmd channels assist melee
Example 2 on a Cleric: /bccmd channels cleric healers



Tips for MQ2EQbcc
Using EQ Hotkeys
[Basic]
more later

[Advanced]
Macro
More +
Line 1: /multiline ; command1;command2;command3;command4;command5
Line 2: /multiline ; command1;command2;command3;command4;command5
Line 3: /multiline ; command1;command2;command3;command4;command5
Line 4: /multiline ; command1;command2;command3;command4;command5
Line 5: /multiline ; command1;command2;command3;command4;command5


The multiline function is simply a built in string parser that accepts 2 parameters.

Macro
More +
Syntax: /multiline divider all;the;commands; separated;by;the;divider

based on paramter 1 (the divider character), it splits parameter 2 (all the commands) then executes them in order.
_________________
Sorvani
Mon Jan 17, 2011 1:16 am
Senior Project Member
EQBC and Emu # Commands
Can EQBC send # commands or is it only limited to / commands?

For example, I would like to have the whole group execute the command #PEQZONE qeynos

If I type /bcaa /#PEQZONE qeynos nothing seems to happen.

Your help would be appreacited if I'm misisng soemthing.

Thanks, Wilbane
Wed Oct 19, 2011 12:14 pm
because you didn't specify the channel correctly.
Macro
More +
/bcaa //say #peqzone qeynos

_________________
Sorvani
Wed Oct 19, 2011 4:50 pm
Senior Project Member
Are tellwatch, guildwatch and groupwatch options/commands implemented?
Thu May 03, 2012 12:10 am
Senior Project Member
I'm terrible about keeping up with all the bells and whistles of public plugins. It's usually me asking you guys =)

I peeked in the UF source and it looks like the features you asked about are indeed in there.

As with pretty much any post feel free to update the documentation if you want. I have to warn you though, I was the one that formatted most of the plugins help posts... and I accomplished the hanging indents and all the odd spacing using alternative ascii space marks... so if you want the formatting to be identical it's best to copy an existing chunk including whitespace and modify it.
Thu May 03, 2012 9:09 pm
Project Lead
checked titanium and SoD, they also seem to have the settings.

c++
More +
// commands & settings
const char* VALID_COMMANDS     = "connect quit help status reconnect names version colordump channels stopreconnect forceconnect iniconnect";
const char* VALID_SETTINGS     = "autoconnect control compatmode reconnect window reconnectsecs localecho tellwatch guildwatch groupwatch fswatch silentcmd savebychar silentinccmd notifycontrol silentoutmsg echoall";
const char* szCmdConnect       = "connect";
const char* szCmdDisconnect    = "quit";
const char* szCmdHelp          = "help";
const char* szCmdStatus        = "status";
const char* szCmdReconnect     = "reconnect";
const char* szCmdNames         = "names";
const char* szCmdRelog         = "relog";
const char* szCmdVersion       = "version";
const char* szCmdColorDump     = "colordump";
const char* szCmdChannels      = "channels";
const char* szCmdNoReconnect   = "stopreconnect";
const char* szCmdForceConnect  = "forceconnect";
const char* szCmdIniConnect    = "iniconnect";
const char* szSetReconnect     = "reconnectsecs";
const char* szSetAutoConnect   = "autoconnect";
const char* szSetControl       = "control";
const char* szSetCompatMode    = "compatmode";
const char* szSetAutoReconnect = "reconnect";
const char* szSetWindow        = "window";
const char* szSetLocalEcho     = "localecho";
const char* szSetTellWatch     = "tellwatch";
const char* szSetGuildWatch    = "guildwatch";
const char* szSetGroupWatch    = "groupwatch";
const char* szSetFSWatch       = "fswatch";
const char* szSetSilentCmd     = "silentcmd";
const char* szSetSaveByChar    = "savebychar";
const char* szSetSilentIncCmd  = "silentinccmd";
const char* szSetSilentOutMsg  = "silentoutmsg";
const char* szSetNotifyControl = "notifycontrol";
const char* szSetEchoAll       = "echoall";
Thu May 03, 2012 9:11 pm
Project Lead
Perhaps I'm not using it correctly or understanding it correctly, but tellwatch doesn't seem to do anything on Titanium. I'm assuming that being sent a tell would echo that tell using the /bc "insert your text here" mechanism.

The command "/bccmd set tellwatch on" will give visual feedback that tellwatch is turned on. The ini file will update to show tellwatch=1. I can turn off tellwatch and everything says it's turned off (in game feedback and ini setting). But when I send a tell to one of my toons, I don't see anything happening on any character.
Thu May 03, 2012 11:11 pm
Senior Project Member
If sorvani can't rattle off the answer off the top of his head remind me and I'll step thought the code and see how it is supposed to work
Thu May 03, 2012 11:42 pm
Project Lead
Macro
More +
/bccmd set tellwatch on
/bccmd set guildwatch on

i never promise anything works in titanium though. that client needs to just die.

edit: that is a global setting. but toons already connected will not pick it up until they reconnect to eqbcserver.
edit 2: i have already changed my version of MQ2EQBC to selectively allow control, guess i should change it for these settings also. will make them more useful IMO. Once I due that I'll upload it for our builds here.
_________________
Sorvani
Fri May 04, 2012 1:12 am
Senior Project Member