I wonder why Meta didn't fork Second Life to use for their 3D world rather than re-invent the wheel and in the end build a bad product.
I don't know about the clients, but I've worked with a few ex-LL people and heard nobody really likes what the protocol became, and also lots of core parts of the LSL execution model they regret. Presumably Cory thought he could do better the second time around. (And maybe he did! I'm not sure Facebook's metaverse problems are technical ones...)
[msg_type variable_length_message]
There is no message length in the message. So, to parse the message stream, the receiver must know how to parse each message type in detail, and can't skip message types it doesn't understand. Thus, no new message types can be sent until everything that receives them has a parser for the new type. And, so, there have been no new message types since about 2016.Most game systems use
[msg_type msg_length variable_length_message]
so you can introduce new messages and not break old receivers.