This is what happens with OP_EnterWorld:
world/client.cpp
Code:
EQApplicationPacket *outapp2 = new EQApplicationPacket(OP_SetChatServer);
char buffer[112];
sprintf(buffer,"%s,%i,%s.%s,%s",
Config->ChatHost.c_str(),
Config->ChatPort,
Config->ShortName.c_str(),
this->GetCharName(),"067a79d4"
);
outapp2->size=strlen(buffer)+1;
outapp2->pBuffer = new uchar[outapp2->size];
memcpy(outapp2->pBuffer,buffer,outapp2->size);
QueuePacket(outapp2);
safe_delete(outapp2);
outapp2 = new EQApplicationPacket(OP_SetChatServer2);
sprintf(buffer,"%s,%i,%s.%s,%s",
Config->MailHost.c_str(),
Config->MailPort,
Config->ShortName.c_str(),
this->GetCharName(),"067a79d4"
);
outapp2->size=strlen(buffer)+1;
outapp2->pBuffer = new uchar[outapp2->size];
memcpy(outapp2->pBuffer,buffer,outapp2->size);
QueuePacket(outapp2);
safe_delete(outapp2);
EnterWorld();
We currently default to eqmail.eqemulator.net:7779 for mail & eqchat.eqemulator.net:7778 for chat, unless set to something different in
eqemu_config.xml:
common/EQEmuConfig.h
Code:
// Mail
ChatHost="eqchat.eqemulator.net";
ChatPort=7778;
// Mail
MailHost="eqmail.eqemulator.net";
MailPort=7779;
So it looks like the client communicates directly with these mail & chat servers.
Googling around, I found this
old thread:
Quote:
Originally Posted by sfisque
ok, barring that option, is it possible to wire up my own irc server to "expose" the server chat to my own irc server if i wanted? or does it require some specialized "add on" to the irc server to get this connectivity?
|
Quote:
Originally Posted by sfisque
simple solution... talk to doodman. i dont know what the "criteria" or whatnot is, but i asked nicely, and he set it up.
then all you have to do is create the #channel you want to use, let doodman know what the channel name is (along with some other config info from your config.xml file) and bingo.
a caveat: the connectivity between the eqclient/server/irc is sensitive and drops fairly often, though zoning or camping fixes it for the particular user in question. i dont know if it is an artifact of bandwidth or just plain old latency that causes the chat pipe to drop.
|
Quote:
Originally Posted by Doodman
No criteria, except:
1) Register your channel.
a) Which implies that you've registered your nick
2) PM me your servers short name and the channel you want people placed in and choose the "type" of channel:
a) Auto - People are placed in the channel, can talk and leave.
b) Forced - People are placed in the channel and can talk, but cannot leave
c) Admin - People are placed in the channel, but cannot talk or leave
|
If we did decide to create a new Mail/Chat server, we would still need to get some OpCodes:
Code:
#mail opcodes
OP_Command=0x0000
OP_MailboxHeader=0x0000
OP_MailHeader=0x0000
OP_MailBody=0x0000
OP_NewMail=0x0000
OP_SentConfirm=0x0000