<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kage+Pixel</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Kage+Pixel"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Kage_Pixel"/>
	<updated>2026-07-27T05:10:31Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Message&amp;diff=59771</id>
		<title>Message</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Message&amp;diff=59771"/>
		<updated>2008-03-22T06:59:43Z</updated>

		<summary type="html">&lt;p&gt;Kage Pixel: Changed size of IPPORT (UDP/TCP ports are 16 bits in length, not 8)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{OSWikiLearnBox|parent=Protocol}}&lt;br /&gt;
&lt;br /&gt;
=Definition=&lt;br /&gt;
&lt;br /&gt;
A message is the basic communications unit for the Second Life world. Messages are used to pass serialized information about almost every part of the system back and forth between two hosts on a network, through connections known as [[circuits]].&lt;br /&gt;
&lt;br /&gt;
There are many hundreds of messages in the Second Life message system. A list of them is available at [[:Category:Messages]].&lt;br /&gt;
&lt;br /&gt;
=Message Format=&lt;br /&gt;
&lt;br /&gt;
Messages are defined in the [[Message Template]]. They follow the format:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	[Message Name] [Message Frequency] [Message Trust Level] [Message Encoding]&lt;br /&gt;
	{&lt;br /&gt;
		[Block 1 Name]		[Block 1 Quantity]&lt;br /&gt;
		{	[Block 1 Parameter 1 Name]		[Block 1 Parameter 1 Type]	}&lt;br /&gt;
		{	[Block 2 Parameter 2 Name]		[Block 2 Parameter 2 Type]	}&lt;br /&gt;
                [...]&lt;br /&gt;
	}&lt;br /&gt;
        [...]&lt;br /&gt;
	{&lt;br /&gt;
		[Block n Name]		[Block n Quantity]&lt;br /&gt;
		{	[Block n Parameter 1 Name]		[Block n Parameter 1 Type]	}&lt;br /&gt;
                [...]&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For example&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre width=80&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	TestMessage Low 1 NotTrusted Zerocoded&lt;br /&gt;
	{&lt;br /&gt;
		TestBlock1		Single&lt;br /&gt;
		{	Test1		U32	}&lt;br /&gt;
	}&lt;br /&gt;
	{&lt;br /&gt;
		NeighborBlock		Multiple		4&lt;br /&gt;
		{	Test0		U32	}&lt;br /&gt;
		{	Test1		U32	}&lt;br /&gt;
		{	Test2		U32	}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Preamble==&lt;br /&gt;
&lt;br /&gt;
The preamble contains information about the message as a whole.&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
**Values: [string]&lt;br /&gt;
**Name of the message. Follows C variable naming restrictions.&lt;br /&gt;
*Frequency&lt;br /&gt;
**Values: High|Medium|Low|Fixed [U32]&lt;br /&gt;
**Determines whether the message ID is 8, 16, or 32 bits. There can be 254 messages in the High or Medium, 32K in Low. A message with a &amp;quot;Fixed&amp;quot; frequency defines its own ID and is considered to be a signal. For more information, see [[Packet Layout]]&lt;br /&gt;
*Trust Level&lt;br /&gt;
**Values: Trusted|NotTrusted&lt;br /&gt;
**Denotes the minimum trust level needed for the [[circuit]] between the sender and receiver in order for the message to send successfully. For more information, see [[Circuits]].&lt;br /&gt;
*Compression&lt;br /&gt;
**Values: Unencoded|Zerocoded&lt;br /&gt;
**Zerocoding will attempt to compress sequences of zeros in the message in order to reduce network load. If there is no major size difference after the compression, it is discarded and the message is sent uncompressed.&lt;br /&gt;
&lt;br /&gt;
==Blocks==&lt;br /&gt;
&lt;br /&gt;
Blocks are delimiters for groups of data in a message.&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
**Values: [string]&lt;br /&gt;
**Name of the block. Follows C variable naming restrictions.&lt;br /&gt;
*Quantity&lt;br /&gt;
**Values: Single|Multiple [U8]|Variable&lt;br /&gt;
**Determines how many blocks are contained in the message. &amp;quot;Multiple&amp;quot; means a static number of blocks in every message, and is followed by an 8 bit number to tell how many times the block is repeated, &amp;quot;Variable&amp;quot; lets the sender specify the number of blocks on sending (also an 8 bit number).&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
&lt;br /&gt;
Variables contain the data sent with the message&lt;br /&gt;
&lt;br /&gt;
*Name&lt;br /&gt;
**Values: [string]&lt;br /&gt;
**Name of the variable. Follows C variable naming restrictions.&lt;br /&gt;
* Type&lt;br /&gt;
**Values: Null|Fixed [U32]|Variable [U32]|U8|U16|U32|U64|S8|S16|S32|S64|F32|F64&lt;br /&gt;
**Values Cont: LLVector3|LLVector3d|LLVector4|LLQuaternion|LLUUID|BOOL|IPADDR|IPPORT|U16Vec3|U16Quat|S16Array&lt;br /&gt;
**The type of the variable. &amp;quot;Fixed&amp;quot;/&amp;quot;Variable&amp;quot; are used to denote sizes for things like blobs.&lt;br /&gt;
&lt;br /&gt;
==Data Types==&lt;br /&gt;
&lt;br /&gt;
*Null - no data, 0 bytes wide&lt;br /&gt;
*Fixed - byte array, interpreted depending on packet type, width determined in message definition&lt;br /&gt;
*Variable - first byte determines number of bytes that follow&lt;br /&gt;
*U8 - unsigned byte, 1 byte wide&lt;br /&gt;
*U16 - unsigned short, 2 bytes wide&lt;br /&gt;
*U32 - unsigned int, 4 bytes wide&lt;br /&gt;
*U64 - unsigned long, 8 bytes wide&lt;br /&gt;
*S8 - signed byte, 1 byte wide&lt;br /&gt;
*S16 - signed short, 2 bytes wide&lt;br /&gt;
*S32 - signed int, 4 bytes wide&lt;br /&gt;
*S64 - signed long, 8 bytes wide&lt;br /&gt;
*F32 - float, 4 bytes wide&lt;br /&gt;
*F64 - double, 8 bytes wide&lt;br /&gt;
*LLVector3 - triplet of floats, 12 bytes wide&lt;br /&gt;
*LLVector3d - triplet of doubles, 24 bytes wide&lt;br /&gt;
*LLVector4 - quad of floats, 16 bytes wide&lt;br /&gt;
*LLQuaternion - because it&#039;s always a unit quaternion, transmitted in messages as a triplet of floats, 12 bytes wide (represented in memory as a quad of floats, 16 bytes wide)&lt;br /&gt;
*LLUUID - [[UUID|Universal ID]], 16 bytes wide&lt;br /&gt;
*BOOL - 0 or 1, 1 byte wide&lt;br /&gt;
*IPADDR - IP Address, one place per byte, 4 bytes wide&lt;br /&gt;
*IPPORT - IP Port, two bytes wide&lt;br /&gt;
*U16Vec3 - not used&lt;br /&gt;
*U16Quat - not used&lt;br /&gt;
*S16Array - not used&lt;/div&gt;</summary>
		<author><name>Kage Pixel</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Get_source_and_compile&amp;diff=5014</id>
		<title>Talk:Get source and compile</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Get_source_and_compile&amp;diff=5014"/>
		<updated>2007-01-12T01:33:10Z</updated>

		<summary type="html">&lt;p&gt;Kage Pixel: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Linux section of this page was a mess.  It looked like it might have been created by a browser bug or something, since it seemed to grow on every edit, with duplicated text from the windows section.  I nuked it when I split the page out. -- [[User:Rob Linden|Rob Linden]] 22:47, 12 December 2006 (PST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;m just starting out with open source projects and I&#039;ve managed to re-compile a project or two--but only in knoppix linux. I don&#039;t have the suite that is seems needed for the windows compile but I have cygwin and MinGW installed and have downloaded all the necessary includes for the sl source--but following the linux instructions in windows doesn&#039;t seem a plausible experiment to try. Anyone got some compile instructions for people who want to recompile in windows with open source tools? [[User:Dom DaSilva|Dom DaSilva]] 8:14P 01.09.07.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
After compiling a debug build of the viewer I noticed that there is a server selection drop down of some sort to the right of the preferences button.  Which of these should I be selecting to login?  The only one that does anything interesting is &amp;quot;Aditi&amp;quot; and it just tells me that I need to download a newer version of the client and quits.&lt;br /&gt;
&lt;br /&gt;
If I need to be connecting to the beta grid that&#039;s fine, but it would be helpful to know what each of these servers are.  I suspect that &amp;quot;DMZ&amp;quot; and &amp;quot;local&amp;quot; are internal to Linden Labs, and that &amp;quot;Aditi&amp;quot; is likely the live grid, but what about the others?&lt;br /&gt;
&lt;br /&gt;
Thanks.&lt;br /&gt;
&lt;br /&gt;
&amp;amp;ndash; [[User:Kage Pixel|Kage Pixel]] 17:33, 11 January 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Kage Pixel</name></author>
	</entry>
</feed>