Hardline Dreams - A Python Matrix Online Server Project
Recursion Packets... - Printable Version

+- Hardline Dreams - A Python Matrix Online Server Project (http://mxo.hardlinedreams.com/forum)
+-- Forum: The Matrix Online (http://mxo.hardlinedreams.com/forum/forumdisplay.php?fid=3)
+--- Forum: Packets World (http://mxo.hardlinedreams.com/forum/forumdisplay.php?fid=17)
+--- Thread: Recursion Packets... (/showthread.php?tid=65)

Pages: 1 2 3 4 5 6 7


RE: Recursion Packets... - Twaggy - 01-30-2010

(01-30-2010, 12:34 AM)rajkosto Wrote: i explained 04 in a thread in "Packets World" forum before the huge downtime thing, now its gone because backup was before that
04 is easy, because its all just RPC (remote procedure call), like setxp (xp), and their subpackets and size is clearly defined
the problem is that 03 are serialized object view dumps (as a bitstream), with no defined size bytes, because the server expects the client to fully understand everything, and stop parsing when its done, then carry on parsing the rest of the packet (in most cases, 04 comes AFTER 03, so if we dont know 100% of 03, we cant just "skip" it and parse the 04, which contains reliable data that cant be skipped)
if 04 only came BEFORE 03, we would have no problem, as we could just parse the 04 at the beginning and skip 03 sections that we dont understand, its all unreliable data anyway, like position and velocity updates, that will be resent anyway

The scary thing in all that, I understood it...


RE: Recursion Packets... - Valaro - 01-30-2010

I have a question Rajko regarding 03. Morpheus has said and as did you that its all "random". If that's true doesn't that give the impression that we could NEVER find the information we need to use it in game?


RE: Recursion Packets... - Twaggy - 01-30-2010

(01-30-2010, 01:44 AM)Valaro Wrote: I have a question Rajko regarding 03. Morpheus has said and as did you that its all "random". If that's true doesn't that give the impression that we could NEVER find the information we need to use it in game?

I would asume even though its random, even the random sequence is a sequence just like a random change variable in an important password that changes randomly every hour (like some banks have). So if you can find out the base sequence you might be able to work out what would be next... even though its random.


Or I might be talking utter bollocks...


RE: Recursion Packets... - rajkosto - 01-30-2010

its not random, why would the server transmit random data ? waste of bandwidth
its a BITSTREAM, each bit determines what to do next
they all start with 03, and you can chain multiple object view dumps in one
after 03 is a byte indicating if its autoview (clients own object view), or a view of some other object that the player isnt controlling
then the data is probably something like
1 (indicates that next data should be parsed)
(some data)
0 (indicates we skip some other data)
0 (skip data again)
1 (next data is there)
(player RSI bits)

etc etc...

something like
http://en.wikipedia.org/wiki/MPEG_transport_stream
http://www.jenkinssoftware.com/raknet/manual/bitstreams.html


RE: Recursion Packets... - Twaggy - 01-30-2010

So I didn't need to sound like a complete tosser just then? great.... lol

Now I know it ain't random my spirits have been risen.


RE: Recursion Packets... - Rxu - 01-30-2010

All we need is to have an insider point us in the right direction...maybe a former Lith programmer who worked on this code. Someone who can remain anonymous due to NDA restrictions. it's not like were asking for the entire code to be given to us (although it would be nice) i'm certain our current Dev team would much prefer to understand how the code works.


RE: Recursion Packets... - QuiDormit - 01-30-2010

(01-30-2010, 07:00 AM)Rxu Wrote: All we need is to have an insider point us in the right direction...maybe a former Lith programmer who worked on this code. Someone who can remain anonymous due to NDA restrictions. it's not like were asking for the entire code to be given to us (although it would be nice) i'm certain our current Dev team would much prefer to understand how the code works.

lol

No offense, dude, but how do you expect to find a Lith programmer, let alone convince them to join in on the shenanigans, anonymous or otherwise.


RE: Recursion Packets... - rajkosto - 01-30-2010

object view pack/unpack code was generated automatically from entity description files via a in house tool.
see, it was too hard to even CODE manually, they had to use auto tools to do it for them, how do you expect we can figure out what it means without any code ?

Quote:Enhanced Distributed Object System Version 3.0 of the LithTech Development System featured a new distributed object system that provided a highly C++-specific mechanism for declaring distributed objects and setting distributed item attributes. With version 3.1, distributed game objects can be built from simple source text that describes the game object with LithTech's Object Definition Data, a format that is C++-programmer-friendly but language-independent.

anyone interested should also read this http://www.gamasutra.com/view/feature/2948/distributing_object_state_for_.php


RE: Recursion Packets... - Neo VII - 01-30-2010

Thanks for the links. I'm getting sick of reading the same C++ .pdf over and over again.


RE: Recursion Packets... - Valaro - 01-30-2010

Interesting, thanks for the links.