Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Development

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 08-31-2008, 09:16 PM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default Player Profile packet

I'm goofing around a bit with sending the client the player profile structure and wondering if anyone might have any tips. In my testing, zone is sending it after it receives the zoneEntry opCode... followed closely by the zoneEntry, TimeOfDay and Weather packets.

Since I'm just goofing around with a little part of the mammoth profile struct there's maybe 20% that I leave blank. Problem is the client keeps disconnecting on me so it must not like something about it. I crc it and have made sure the struct length is 19568.

Anyone know anything to watch for here? Is there anything that absolutely HAS to be in the profile when zone first sends it to the client? Or do I perhaps have the order of things off? Thanks in advance.
Reply With Quote
  #2  
Old 09-01-2008, 05:12 PM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

In the interests of possibly a simpler solution than just updating the entire profile, what exactly are you trying to change?

I was under the impression (without confirmation, so I could be wrong) that the profile was basically sent during zone in, and then everything in the profile was just updated while in the zone on both the server & client sides using different packets. In other words, the profile is the starting values for everything in memory, and everything gets poked & prodded. This also explains why, if you change the profile while the character is logged in, it won't send to the client normally, it will be overwritten by whatever is in server memory for the client, but it works fine if you make the change when the character is offline.

Also, how are you trying to send the profile packet to the client (maybe a code snippet)? Maybe there's a Kick() function mixed somewhere in there (like when you change a class, race, etc, for it to take effect)?
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #3  
Old 09-02-2008, 01:33 AM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default

I'm just experimenting with different sections of the profile. It's actually at zone in where I'm playing at. I'm not filing the entire struct, I've just sort of stubbed out about 80% of it give or take. Reason: I don't want to go through all the LDON, tribute, etc. parts since I won't be using them.

I was just wondering if anyone knew if it is an absolute necessity to fill the entire struct. Essentially the client biffs it on me and I'm thinking maybe that is why.
Reply With Quote
  #4  
Old 09-02-2008, 04:35 AM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

mmm I dunno what happens if you send a pp packet out of order, I'm guessing it probably thinks the data stream is corrupt and drops you. Not filling it fully probably isn't an issue unless it's a key piece of info in which case it might also drop the client cause it thinks the data can't possibly be right.
Reply With Quote
  #5  
Old 09-03-2008, 04:10 PM
EvoZak
Sarnak
 
Join Date: May 2008
Location: Midwest
Posts: 72
Default

Quote:
Originally Posted by KLS View Post
mmm I dunno what happens if you send a pp packet out of order, I'm guessing it probably thinks the data stream is corrupt and drops you. Not filling it fully probably isn't an issue unless it's a key piece of info in which case it might also drop the client cause it thinks the data can't possibly be right.
Yeah out of order shouldn't be the issue (hopefully) as it looks like the very first application packet sent by zone. Or is there something that comes first? To me it looks like after zone gets a zone entry OpCode it sends back the profile first thing.

Anyways thanks for the input, I just thought I'd shoot it out there in case someone knew something like "oh yeah, if you don't have field x filled in the client will disconnect".
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 01:36 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