MQ2EQBC Question

McNukkah

Member
Joined
Oct 30, 2007
Messages
209
Reaction score
23
Points
18
Location
The Forest
My friend and I both had the same problem starting to occur and I took it upon myself to check it out.

The problem is this:
Toons get dropped from mq2eqbc, requiring a restart, reconnect, etc.---but this would only last a short time and you'd soon be disconnected or "bumped" out of the server for another toon, or the server just would not respond, lag out, drop connections, etc.

After searching mq2 forums about it I came across the posts near the end of the actual mq2eqbc thread.

dewey2461 said:
For those who are getting the MQ2NetBots -> disconnected -> reconnect -> disconnect blues I found one spot that helped a lot.

Between self buffs and pet buffs we were generating a string > 512 characters long and the MQ2EQBC code is choking. Simple fix.

change MAX_READBUF from 512 to MAX_STRING;


Code:
const char*        PROG_VERSION       = "MQ2EQBC 11.0219";
const char*        CONNECT_START      = "LOGIN";
const char*        CONNECT_START2     = "=";
const char*        CONNECT_END        = ";";
const char*        CONNECT_PWSEP      = ":";
const char*        SEND_LINE_TERM     = "\n";
const unsigned int MAX_READBUF        = MAX_STRING;   <<--------this changes it from 512 to 2048.

Here is my current code. It seems to be working well so far.

I made these changes and compiled the plugins myself and I can confirm the problem went away for me, and my friend as well. However, my friend updated via mmobugs the other day (I think it was the 24th patch? I dunno, the most recent update push) and he forgot to uncheck the updates for mq2eqbc and mq2netbots. His problem started again, but went away after he went back and copied over the two plugin files.

This is a long way of me asking whether or not this "change" that dewey made has been implemented into mmobugs version, and if it hasn't, could we?

Thanks again for any input, feedback, or time wasted on reading this. :cool:
 
Xeniaz rewrote it entirely. And if he would stop slacking, his version will be included into mmobugs compile. /poke him with a stick. it's been "any day now" for like 2 months! but it will be nicer!
 
I tried doing what I normally do run the server exe in wine.
It fails sadly.

Any chance of getting a wine compatible exe or a Linux compile of the exe?
Or is there something else needed here I am missing?

This is what I get with no options:
Code:
  File "EQBCS.py", line 313, in <module>
  File "EQBCS.py", line 304, in main
  File "logging\config.pyo", line 70, in fileConfig
  File "logging\config.pyo", line 106, in _create_formatters
  File "ConfigParser.pyo", line 607, in get
ConfigParser.NoSectionError: No section: 'formatters'


This is what I get trying to use the daemon option:
Code:
  File "EQBCS.py", line 313, in <module>
  File "EQBCS.py", line 283, in main
AttributeError: 'function' object has no attribute 'GetOptError'

Of course the daemon option didn't work in the old version either.
I have been just running it with Wine and ignoring the display errors.

The display error for completeness:
Code:
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:systray:initialize_systray Could not create tray window
 
I tried doing what I normally do run the server exe in wine.
It fails sadly.

Any chance of getting a wine compatible exe or a Linux compile of the exe?
Or is there something else needed here I am missing?

This is what I get with no options:
Code:
  File "EQBCS.py", line 313, in <module>
  File "EQBCS.py", line 304, in main
  File "logging\config.pyo", line 70, in fileConfig
  File "logging\config.pyo", line 106, in _create_formatters
  File "ConfigParser.pyo", line 607, in get
ConfigParser.NoSectionError: No section: 'formatters'


This is what I get trying to use the daemon option:
Code:
  File "EQBCS.py", line 313, in <module>
  File "EQBCS.py", line 283, in main
AttributeError: 'function' object has no attribute 'GetOptError'

Of course the daemon option didn't work in the old version either.
I have been just running it with Wine and ignoring the display errors.

The display error for completeness:
Code:
Application tried to create a window, but no driver could be loaded.
Make sure that your X server is running and that $DISPLAY is set correctly.
err:systray:initialize_systray Could not create tray window
It sound like you are missing logging.ini. Loader can give it to you, or from the zip.

Htw
 
Thanks, the logging.ini got it to boot.
Never needed it before so I didn't realize I needed it.

Now to figure out why nothing can't connect (yes the port is open on the firewall)
I am getting connection refused.
Worked before just fine on the same port.
I can connect from the same box but no other boxes.
Feels like a firewall problem but I don't see anything wrong.
There is nothing in the logs about the connection being refused.

Put the old version back up and that accepts connections so it appears to be a problem with the new exe somehow.
 
Did you set the interface?
Code:
MQ2EQBCS -p 2112 -i 192.168.1.100
Just make sure you adjust the IP to be the machine hosting EQBC for you.
 
When I use -i alone that is what I get:
Code:
[2014-05-01 00:05:29] EQBCS version 1.3.0 by Xeniaz (MMOBugs.com)
[2014-05-01 00:05:29] Waiting for connections on port 2112...
Traceback (most recent call last):
  File "EQBCS.py", line 313, in <module>
  File "EQBCS.py", line 308, in main
  File "twisted\internet\posixbase.pyo", line 495, in listenTCP
  File "twisted\internet\tcp.pyo", line 980, in startListening
twisted.internet.error.CannotListenError: Couldn't listen on XXX.XXX.XXX.XXX:2112: [Errno 10048] Windows Error 0x2740.


However if I use -p and -i both it does allow connections on the external interface.
Never used to have to specify it but its an easy enough change.
Thanks, that is a big improvement.

However, it refuses connection on the internal interface.
Is there a way to set -i to ANY or ALL?
Comma delineation or something?
Linux server and all it has multiple interfaces.

I guess not too many folks run it the way I do or have the setup I do.
 
Yes, you can absolutely bind to all interfaces. To do so, use
Code:
eqbcs -p 2112 -i ""
The empty quotes will default to binding to all.
 
And for backwards compatibility, it will do the same with interface 0.0.0.0

htw
 
Thanks, the logging.ini got it to boot.
Never needed it before so I didn't realize I needed it.

Now to figure out why nothing can't connect (yes the port is open on the firewall)
I am getting connection refused.
Worked before just fine on the same port.
I can connect from the same box but no other boxes.
Feels like a firewall problem but I don't see anything wrong.
There is nothing in the logs about the connection being refused.

Put the old version back up and that accepts connections so it appears to be a problem with the new exe somehow.



Where can I get the older version so I can get back to playing sucks having to only use EQBC locally on my machines x3 the work? This is the exact same problem I am having....
 
Where can I get the older version so I can get back to playing sucks having to only use EQBC locally on my machines x3 the work? This is the exact same problem I am having....
LOL Fry posted it in this thread. Scroll back up a little bit! *sigh*

htw
 
Where can I get the older version so I can get back to playing sucks having to only use EQBC locally on my machines x3 the work? This is the exact same problem I am having....
LOL Fry posted it in this thread. Scroll back up a little bit! *sigh*

htw

I saw it, but at this point since you all seem its my fault why it won't work. Was me believing you where right. Me
seeing others having the same problem after patch was more the case of say hey this isn't me check yo shit.
 
I saw it, but at this point since you all seem its my fault why it won't work. Was me believing you where right. Me
seeing others having the same problem after patch was more the case of say hey this isn't me check yo shit.
I never said it wasn't your fault, or that you were right.

Your answer is BS man, come on. I quoted what you said, along with "Where can I get the older version...". At least read the threads you post in.

htw
 
Until further testing is done, I reverted the server back to the old MQ2EQBCS.exe and EQBC Interface.exe.

If you right-click loader icon, check for updates, you can grab them (make sure they are not running).

Once some issues are ironed out, we can offer it up for further testing to those who want.

htw
 
Thank you sir, sorry for being defensive just frustrating when I have been so limited for the last several days. My limited knowledge and my feeling it was something I was doing was my own insecurity.
 
Thank you sir, sorry for being defensive just frustrating when I have been so limited for the last several days. My limited knowledge and my feeling it was something I was doing was my own insecurity.

Now it's my turn to be defensive. The new version works just fine, you just need to configure it correctly. Here is the lazy man's way to configure it to work with multiple computers
Code:
MQ2EQBCS.exe -p 2112 -i 0.0.0.0
. Have fun!