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-01-2009, 01:49 PM
Irreverent
The Solo Server
 
Join Date: May 2007
Posts: 416
Default Chat and Mail problems Q&A

Ok, more problems

I did update my config xml to point use my external IP
Updated router to push those ports to my server pc

1) Startup world
2) eqlaunch zone
3) start mail
4) start chat

But each time it starts I get loading channels from the database...but nothing appears(might be ok?)

But in game, commands don't work for chat
And mail says I'm not connect to universal server


plus, when i log in my main account I get the mail/chat keys don't match?
__________________
OP of Irreverent Server (The Solo Server)
Our Forums
Reply With Quote
  #2  
Old 02-01-2009, 01:51 PM
Irreverent
The Solo Server
 
Join Date: May 2007
Posts: 416
Default

Oh and to mention, I did put all of the rule_values in and set to use to true for mail server.
__________________
OP of Irreverent Server (The Solo Server)
Our Forums
Reply With Quote
  #3  
Old 02-01-2009, 02:05 PM
Irreverent
The Solo Server
 
Join Date: May 2007
Posts: 416
Default

Ok, had to edit the mail opcodes...they were all run together, make them on their own lines...


But, now I'm getting Unhandled mail opcode
unable to convernt eq opcode 0x0002 to an application opcode
__________________
OP of Irreverent Server (The Solo Server)
Our Forums
Reply With Quote
  #4  
Old 02-01-2009, 02:53 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

The mail_opcodes.conf may look like it's all run together on one line in notepad, but that is just because it has UNIX line endings, but it will still work fine. You may have broken something while editing in the line endings. It should look like this:

Code:
#Mail and Chat Channel opcodes
OP_MailLogin=0x01
OP_Mail=0x02
OP_ChannelMessage=0x03
OP_ChannelAnnounceJoin=0x04
OP_ChannelAnnounceLeave=0x05
OP_MailSendHeaders=0x00
OP_MailHeaderCount=0x0d
OP_MailHeader=0x0e
OP_MailSendBody=0x0f
OP_MailDeliveryStatus=0x12
OP_MailboxChange=0x14
OP_MailNew=0x10
As for the mail/chat key not matching, post the sections of your eqemu_config.xml with the <address>, <localaddress>, <chatserver> and <mailserver> blocks.

Sounds like you may have the same problem as this post:

http://eqemulator.net/forums/showthr...551#post162551
Reply With Quote
  #5  
Old 02-01-2009, 04:02 PM
Irreverent
The Solo Server
 
Join Date: May 2007
Posts: 416
Default

Tried adding my internal IP to the localhost and it doesn't seem to resolve anything...seem to keep getting the opcode unhandled

Code:
		<!-- Only specify these two if you really think you need to.  (read: You don't) -->
		
		<!-- <address>some.server.com</address> -->
		
		<!-- <localaddress>192.168.0.5</localaddress> -->

		


	<!-- Chatserver (channels) information.  Defaults shown -->
	
	<chatserver>
		
		<host>68.57.224.73</host>
		
		<port>10234</port>
	
	</chatserver>

	

	<!-- Mailserver (in-game mail) information.  Defaults shown -->
	
	<mailserver>
		
		<host>68.57.224.73</host>
		
		<port>7779</port>
	
	</mailserver>
__________________
OP of Irreverent Server (The Solo Server)
Our Forums
Reply With Quote
  #6  
Old 02-01-2009, 04:33 PM
Derision
Developer
 
Join Date: Feb 2004
Location: UK
Posts: 1,540
Default

For the opcode problem, re-extract them from the rar/zip they came in, or create a new copy with what I posted above.

Although the guide says not to set the address and localaddress values in eqemu_config.xml, I think you might have to in this case.

Get a dyndns name, e.g. yourserver.dyndns.com, then make your config:

Code:
		<!-- Only specify these two if you really think you need to.  (read: You don't) -->
		
		<address>yourserver.dyndns.com</address>
		
		<localaddress>Your internal IP address</localaddress>

		


	<!-- Chatserver (channels) information.  Defaults shown -->
	
	<chatserver>
		<host>yourserver.dyndns.com</host>
		<port>10234</port>
	</chatserver>

	<!-- Mailserver (in-game mail) information.  Defaults shown -->
	
	<mailserver>
		<host>yourserver.dyndns.com</host>
		<port>7779</port>
	</mailserver>
And add a line with your internal IP address and yourserver.dyndns.com to c:\windows\system32\drivers\etc hosts on your internal clients.

I haven't run a public server for years, so any ServerOPs who have mail/chat working on a public server feel free to correct me.

You also need to forward those two ports on your firewall for external clients to connect to mail/chat.

Last edited by Derision; 02-02-2009 at 12:55 AM..
Reply With Quote
  #7  
Old 02-07-2009, 05:01 PM
John Adams
Demi-God
 
Join Date: Jul 2006
Posts: 1,552
Default

Derision, do those ports have to be those exact numbers? Or can they be in a range that is already pointing to the eqemu server?

Here's mine, for instance - and I am getting the same results as Irreverent:

Code:
.
.
.
		<address>my.dyndns.url</address>
		<localaddress>192.168.1.32</localaddress>
.
.
.
	<!-- Chatserver (channels) information.  Defaults shown -->
	<chatserver>
		<host>my.dyndns.url</host>
		<port>7099</port>
	</chatserver>

	<!-- Mailserver (in-game mail) information.  Defaults shown -->
	<mailserver>
		<host>192.168.1.32</host>
		<port>7100</port>
	</mailserver>
	<zones>
		<defaultstatus>0</defaultstatus>

		<!-- Sets port range for world to use to auto configure zones -->
		<ports low="7000" high="7090"/>
	</zones>
So my zones will only use 7000 - 7090, the chat server will use 7099 and the mail server will use 7100 - and on the router, 7000 - 7100 are fowarded to 192.168.1.32 (the eqemu server)

Truth is, I got an ancient router and I am out of fwds so I was trying to pile them all up. Maybe this won't work?
Reply With Quote
  #8  
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
  #9  
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
  #10  
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
  #11  
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
  #12  
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

Thread Tools
Display Modes

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 01:29 PM.


 

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