prlucas / openhelbreath

Automatically exported from code.google.com/p/openhelbreath
0 stars 1 forks source link

Sending player data between GateServer and Game Servers #4

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
http://pastebin.com/f3d01fc1a

Check out. I know it could be written in one struct.pack() but can't figure
it out. This should be on DailyWTF. :/

How about getting all data into dictionary, gzip it and send compressed
data to HG?

Original issue reported on code.google.com by Drajwer@gmail.com on 10 Oct 2009 at 2:40

GoogleCodeExporter commented 9 years ago
Hmm...

Probably just time consuming. I agree about the compression though.  We should 
add it
later.  Right now just setup everything without compression.

You want me to do this?  If you want just do the base code and I can do the
repetitive part.

Original comment by SirHypnotoad@gmail.com on 10 Oct 2009 at 3:34

GoogleCodeExporter commented 9 years ago
Ok, forgot to commit. Now sending. 

You can take your eye on it :)

Original comment by Drajwer@gmail.com on 10 Oct 2009 at 4:28

GoogleCodeExporter commented 9 years ago
Well heres what I see... Hope it helps

Line:855        Data = struct.pack('10s', CharName)
Seems unnecessary... Data packet reset a few lines below...

Line:866        Data += struct.pack('B', Ch['Gender'])
2nd time gender is in there... this one needs removed to maintain packet 
structure
compatibility 

Line 51 in pastebin: Strenght misspelled (not your problem)

Line: 906       Data += struct.pack('III', Ch['LeftSpecTime'], Ch['LeftSpecTime'],
Ch['WarCon'])
LeftSpecTime put in twice

Skill+Profile data problem
From looking in pastebin original data was 448 in length total. Skills were 
actually
placed between 158+ atoi(SkillRow[b][FISkillID]). I think thats between magic 
mastery
and Nation.  The problem with the way your doing things is that you are giving 
I, Ih,
BB, etc instead of giving a position such as 4, 6, 8.  So if you want the 2 
packets
to be compatible you have to order skills in their right place. Correct? Ugh I 
hated
this part lol - *dwp wp *sp ip GAH! I hope I am understanding what your doing 
right
and what Aryes did.  

Ideally, I would do it numbers because i like things being clear, but!!! your 
way is
actually better in the long term.  It allows to just change order of things 
without
changing like 60 different numbers. 

Original comment by SirHypnotoad@gmail.com on 11 Oct 2009 at 3:01

GoogleCodeExporter commented 9 years ago
Well, this part really sucks. Remember we have do it in reverse-way in 
REQUESTLOGOUT :)

Original comment by Drajwer@gmail.com on 11 Oct 2009 at 7:58

GoogleCodeExporter commented 9 years ago
After long tracing where the packet was and what was going on... I started 
working on
getting player data in there in a primitive structure.  About 60% done.  After 
we are
done, hopefully you can optimize that code. 

Original comment by SirHypnotoad@gmail.com on 13 Oct 2009 at 3:45

GoogleCodeExporter commented 9 years ago
This should be done now as I can login... (its compatible with aryes HG)

http://imgur.com/Kt346.jpg

If you know any way to optimize it go ahead, but.... do not change the 
structure,
spacing, where the bytes are, etc.  The structure is important as that is how 
the HG
Server interprets the packet.  And I did enough debug to verify that all passes 
from
SQL to Client successfully.

Original comment by SirHypnotoad@gmail.com on 13 Oct 2009 at 5:59