Difference: MessageProtocol (1 vs. 2)

Revision 22011-06-15 - JimSkon

Line: 1 to 1
 
META TOPICPARENT name="OpenSimulatorProject"

Message Protocol

Messages Between SL Object Scripts and Remote Control Server

Changed:
<
<

From Objects to Server

>
>

Client Protocol (From SL Objects to Server)

 
Changed:
<
<
Packet Format: #ObjectUUID#Command#Data#challenge#Hash#
>
>
Packet Format: #ObjectUUID#Command#Data#challenge#Hash#
  Challenge - a random number.

Hash - An MD5 of message up to hash, plus a secret. LSL MD5

Commands:

Changed:
<
<
  • radar - data is a list of Avatars present and position. Max 60.
    Data Format: @UUID@X:Y:Z@{UUID@X:Y:Z@}
>
>
  • radar - data is a list of Avatars present and position. Max 60.
    Data Format: @UUID@X:Y:Z@{UUID@X:Y:Z@}
 
  • ....
Changed:
<
<

From Server to Object

>
>

Server Protocol (From Server to SL Object)

 
Changed:
<
<
Packet Format: #Command#Data#hash#
>
>
Packet Format: #Command#Data#hash#
  Hash - An MD5 of response message up to hash, plus a Challenge.
Line: 24 to 24
 
  • ACK - Simple acknowledgement
  • ....
Added:
>
>

Optimization

The UUID is a LONG value. Rather then sending it everytime, the following angorithm can be used:

  1. Create a largish (1000) array of UUID strings in the LSL script.
  2. Add a new command "newuser" to the Server protocol. Use this to send a new UUDI to the server:
    Packet Format: #ObjectUUID#newuser#UUID#
  3. Everytime a new UUID is seen, it is placed in the UUID array, and the UUID is sent to the server using the newuser packet.
  4. The server also stores the UUID in an array.
  5. The radar command NOW simply includes the index of the UUID in the array, rather then the UUID:
    Example: @UUID@X:Y:Z@{UUID@X:Y:Z@}
  6. To prevent the the table from filling, the server can periodically issue a reset command (in place of a ACK), telling the radar object to clear it's UUID table:
    Packet Format: #resetlist##hash#
 

-- JimSkon - 2011-06-14

Revision 12011-06-14 - JimSkon

Line: 1 to 1
Added:
>
>
META TOPICPARENT name="OpenSimulatorProject"

Message Protocol

Messages Between SL Object Scripts and Remote Control Server

From Objects to Server

Packet Format: #ObjectUUID#Command#Data#challenge#Hash#

Challenge - a random number.

Hash - An MD5 of message up to hash, plus a secret. LSL MD5

Commands:

  • radar - data is a list of Avatars present and position. Max 60.
    Data Format: @UUID@X:Y:Z@{UUID@X:Y:Z@}
  • ....

From Server to Object

Packet Format: #Command#Data#hash#

Hash - An MD5 of response message up to hash, plus a Challenge.

Commands:

  • ACK - Simple acknowledgement
  • ....

-- JimSkon - 2011-06-14

 
This site is powered by the TWiki collaboration platformCopyright &© by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback