Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::Windows Servers

Support::Windows Servers Support forum for Windows EQEMu users.

Reply
 
Thread Tools Display Modes
  #1  
Old 02-07-2009, 05:10 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Forgot the content of the Chat window... mine too ends abruptly, and does not look like the example.

Code:
[Debug] [RULES__CHANGE] Set rule Mail:EnableMailSystem to value true
[Debug] [CHANNELS__INIT] Client (UDP) Chat listener started on port 7099.
[Debug] [CHANNELS__INIT] Loading chat channels from the database.
[Debug] [CHANNELS__ERROR] Chat Key for tess.Orunnicle does not match, closing co
nnection.
Update: Oop, it appears the Mail portion is fine, just chat that's giving me problems.
Reply With Quote
  #2  
Old 02-08-2009, 12:25 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

Forwarding the ports within a range should work fine. I'll explain how the mail/chat key works so hopefully it should help you or anyone else figure out their problems.


The key is generated by World, just before it hands a player off to a zone. The key is a 16 digit hex number. The last eight digits are randomly generated. The first eight digits are the IP address of your client PC, as seen by world. This 16 digit key is written to the database, and the last eight digits are sent directly to the client.

When the client connects to chatserver, it logs in with the eight digit random portion of the key that world gave it.

Chatserver generates a 16 digit key, using the client IP address that it sees, along with the 8 digit random number part. It then compares this with what World put in the database.

If you are having problems, first thing to do is add the following to your log.ini file:

Code:
MAIL__TRACE=on
CHANNELS__TRACE=on
When a client connects, you will then see what key chatserver generated, and the key that was in the database:

Code:
[Debug] [CHANNELS__CLIENT] New Client UDP Chat connection from 192.168.1.50:51238
[Debug] [CHANNELS__TRACE] Received login for user BTG2.Derision with key 4CD03B97
[Debug] [CHANNELS__TRACE] DB key is [3201A8C04CD03B97], Client key is [3201A8C04CD03B97]
If you break out Window Calculator and convert the first 8 digits into decimal, you get (in this example):

32 = 50
01 = 1
A8 = 168
C0 = 192

The bytes are in reverse order, so the IP address is 192.168.1.50.

The first person who reported problems with the keys not matching found that world was seeing his 'external' IP address while chatserver was seeing his 'internal' IP address.

This was happening because he was connecting to one using his external IP address and therefore the connection was going into his router and back to his LAN, thus his client PC address was being NATted.

If you say that the mail connection is working fine, then change the hostname in the chatserver block to 192.168.1.32. Of course this will mean that no-one outside your LAN can connect to mail or chat.

The host should be your dyndns name, and then on your local PCs you should add an entry to your hosts file to map my.dyndns.url to 192.168.1.32.

Last edited by Derision; 02-08-2009 at 08:33 PM..
Reply With Quote
  #3  
Old 05-21-2009, 11:55 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Sorry to get back to this so late - life got a little busy

Seems that everyone coming in from outside does not get the error I see above, which is fine. The reason I cannot hard-code a HOSTS record is because I host multiple Emulators on the same dyndns (maybe I shouldn't do that ) so if I force tesseq.servegame.com to 192.168.1.32. then any attempt to hit my EQ2Emu will send my client to the wrong LAN machine, right?

Anyway, if it's just me that cannot use mail/chat, I'm fine with that for now. I did get it to work at one point, because two toons were able to login and send mail to one another. Not sure if that was just a fluke, or if for a version or two, something functioned differently likely the former.

Thanks for the great explain. Hopefully it ends up in a wiki somewhere.
Reply With Quote
  #4  
Old 05-22-2009, 05:04 AM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

KLS added a rule to turn off the IP authentication. Set Chat:EnableMailKeyIPVerification to false.
Reply With Quote
  #5  
Old 05-23-2009, 01:11 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Oh right on! Thanks!

Btw, I tried to update to the latest SVN and had no luck logging in - I'll go post a help thread on that as to not derail here... but I am greatful for the new rule!

Thanks again
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 04:17 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3