After some assistance from Phoenix in IRC we narrowed down and fixed the
bug that prevented libsecondlife from working after the update. The
AgentUpdate packet was being serialized in to network traffic
incorrectly, so the SessionID was four bytes off and generated a warning
on the simulator about an incorrect SessionID. This was caused because
we were sending an extra four bytes somewhere after the AgentID but
before the SessionID in AgentUpdate. However after carefully inspecting
everything, it _appears_ to be correct from our understanding of the
protocol, which leads me to wonder if possibly quaternions are
serialized in to 12 bytes somehow instead of 16 now? I was able to fix
the problem by editing the message_template.msg file and changing the
HeadRotation quaternion to an LLVector3, but that won't do much for the
rest of the protocol. I'm not sure what other possibilities there are
for why things are not working now, except that maybe we've always been
doing things incorrectly and just now it became evident since the server
is validating more fields?
This packet was sent from SecondLife.exe and captured by SLProxy. The
SessionID is supposed to be 702e1c6858b242c198c65f9ebb1528af, the first
four bytes of it were interpreted as the last four bytes of the
HeadRotation quaternion instead.
--> 66.150.244.94:13005 9 [ Rel Zer]
---- AgentUpdate ----
-- AgentData --
ControlFlags: 0
CameraAtAxis: 0.1474633 0.971747 -0.1842885
Far: 160
AgentID: 0883e26131464906a43a9c86d45f2774
CameraCenter: 9.549901 7.033957 11.75
CameraLeftAxis: -0.988681 0.150033 0
HeadRotation: 0 0 0 2.950183E+24
SessionID: 58b242c198c65f9ebb1528afeb80e23c
CameraUpAxis: 0.1822026 0.9828722 0
BodyRotation: 0 0.6519076 0 0
Flags: 0
State: 0
(Then after changing the message_template.msg so HeadRotation became a
12 byte LLVector instead of a 16 byte LLQuaternion)
The correct session ID for this session is
0929cb03afa7413fb9de8ad865c5021c, hooray
--> 66.150.244.94:13005 8 [ Rel Zer]
---- AgentUpdate ----
-- AgentData --
ControlFlags: 0
CameraAtAxis: 0.1474633 0.971747 -0.1842885
Far: 160
AgentID: 0883e26131464906a43a9c86d45f2774
CameraCenter: 9.549901 7.033957 11.75
CameraLeftAxis: -0.988681 0.150033 0
HeadRotation: 0 0 0
SessionID: 0929cb03afa7413fb9de8ad865c5021c
CameraUpAxis: 0.02764936 0.1822026 0.9828722
BodyRotation: 0 0 0.6519076 0
Flags: 0
State: 0
If anyone had insight in to what is going on here that would be very
helpful, thank you for your time.
John Hurliman
_______________________________________________
libsecondlife-dev mailing list
libsecondlife-dev@gna.org
https://mail.gna.org/listinfo/libsecondlife-dev
http://www.libsecondlife.org/