Jump to content

Specifications / Collection of Notes


iMer

Recommended Posts

So I'm currently looking through the source and finding things which arent immediately clear - mostly the network bit.

 

CPacketInfo

It's purpose is to do two things

1. Profile/Log incoming packets, how long processing them (the analyze call) took.

2. It stores information regarding to packets, f.e. if there are Sequence bytes at the end of that packet.

 

Packets

A packet always consists of:

1 byte Header

x byte Data

optional 1 byte Sequence

 

Db packets always consist of

1 byte Header

4 byte Handle

4 byte Size

x byte Data

 

Sequence Bytes

The sequence bytes/sequence table are a static array of a set size.

For each DESC (network connection basically) it stores the current position in the sequence table DESC::m_iCurrentSequence and the last 10 elements it recieved (those are for logging purposes only and can be safely removed) DESC::m_seq_vector

The sequence byte will always be at the end of a packet.

What packet has sequence bytes is set in CPacketInfo.

Sequence bytess are only used for packets from client to game.

 

 

I thought this would be neat for anyone who's interested in this kind of thing

I'll add more stuff as I find out about it or think of it.

 

  • Love 14
Link to comment
Share on other sites

  • 2 weeks later...
  • 5 weeks later...

Announcements



×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.