Jump to content

Server login flow


Felicia Silversmith
 Share

You are about to reply to a thread that has been inactive for 1900 days.

Please take a moment to consider if this thread is worth bumping.

Recommended Posts

Grettings.
I've started to create tiny text viewer for making program controlled NPC in Second Life. Right now viewer making following Authentication Flow:
1. It sends SSL HTTP request to log in to Second Life and get necessary info for future work. 
2. Viewer sends several UDP messages to Second Life sim server:
UseCircuitCode
CompleteAgentMovement
SendAgentUpdate
SendUUIDNameRequest
3. After that viewer works in loop where right now it just sending CompletePingCheck message as response to StartPingCheck message from sim.

Agent staying online, but there are some problems:
1. Avatar flying in air above floor instead to stay on it
2. Viewer do not get RegionHandshake message from sim server
3. Viewer do not get chat and IM UDP messages when i type something in local near agent or sending IMs to it. 
4. Simple UDP messages from viewer i've tryied to send like MoneyBalanceRequest or ChatFromViewer do not work.

I do understand that its probably not a sim bug but may be you can tell correct sequence of UDP messages to make avatar stay correctly in Second Life and be able to use UDP commands. Thanks a lot.

With best regards, Felicia Silversmith.

Link to comment
Share on other sites

Whirly. Not helpful at all unfortunately. Huge amount of somebody's not commented code. 

To be honest i do not understand why during 10 years Linden Lab can not create normal documentation of protocol. 

  • I havnt found in wiki list of messages from server that should be replyed by viewer
  • I havnt found in wiki UDP sequence to init normal agent presence in world
  • Most wiki pages about separate messages looks like copies from messages.msg file and only some of them have tiny amount of additional info.

It is not code bug. But it is documenting bug for sure.

I know that there are tonns of opensource code: SL Viewer sourse, PyOGP and so on. But almost all of them have terrible commented code. About using OpenMetaverse lib or something like this for text viewer. It is like using huge truck to tranport single little bottle of milk. 

So, question is still open. Can somebody give login and presence inworld flow?

Edited by Felicia Silversmith
Link to comment
Share on other sites

Yes i did of course. But Chaser havnt readed my text accurately. AgentUpdate message already sent and i do not send RegionHandshakeReply message because i dont get RegionHandshake message from server. I was trying to send RegionHandshakeReply without recieving RegionHandshake, but no relults. As for me, i think problem can be in RegionHandshake, but i am not sure.

I've added AgentThrottle with 0x00 0x00 throttle. It fixed one issue at least. Now viewer recieve chat messages from local. But by some strange way. First empty message comes from with zero length, then message avatar near actually typed and then empty message again. AgentFOV and AgentWidthHeight messages do not affect anything. But there are some issues:

Avatar still flying above floor

Here is ComplereAvatarMovement message sample (session and circuit code can be different from run to run):

00 - flags 
00 00 00 02  - sequence number
00 - no extra bytes
FF FF 00 F9 - message code ( Low 249 - CompleteAvatarMovement )
1F BA 15 93 1D 4E 48 CC B2 A4 A5 98 DC 84 D8 6C - agent UUID 
16 C3 DF F6 F7 42 42 F2 94 8E 25 75 0A 4F C8 6D - session UUID
9B AC 52 3B - curcuit code

Instead instant messages viewer recieve TestMessage

ChatFromViewer message dont work

Here is message before zero encodind of data part:

80 - flags (zerocoded)
00 00 00 06  - sequence number
00 - no extra bytes in header
FF FF 00 50 - message ID ( Low 80 - ChatFromViewer )

1F BA 15 93 1D 4E 48 CC B2 A4 A5 98 DC 84 D8 6C - agent ID
16 C3 DF F6 F7 42 42 F2 94 8E 25 75 0A 4F C8 6D - session ID
0D 00 - text length
48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 - "Hello world!" text
01 - say normal
00 00 00 00 - channel 0

Of course before sending to server data part zero encoded. Result - silience in sim. 

So, is it bug or not, when correct message sent to simulator do not work?

 

Edited by Felicia Silversmith
Link to comment
Share on other sites

You are about to reply to a thread that has been inactive for 1900 days.

Please take a moment to consider if this thread is worth bumping.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
 Share

×
×
  • Create New...