nyuuzyou/wikis huggingface dataset:
Central Ocean

Central Ocean is the grid space between the largest mainland continent. Its name is unofficial (see Oceans), but no better suggestion was made for a name. Its borders are the continents: In West, it is separated by Heterocera, Sansara and Jeogeot. In East, borders are Corsica, Nautilus, Satori and Shopping Continent.
== Statistics ==
Surface: 1.66 grid sectors
Surface without void gaps: 1.10
Sims: 600
Sim Density: 3.6%
Unassoicated Sims: 70%
== Coordinates ==
In September 2013, coordinates were fixed with the following values: 1030-1100/980-1135. Current borders can be considered the next ones: 1000-1100/900-1067. South border is near the South end of Jeogeot, while the North limit is set in the middle of Nautilus.
Grid Sector: J9 and part of J10.
== Structures ==
*A043 (Sandboxes) - Microcontinent - 1023-1024/932-962 - Estate Sea, 4 groups of 4 sims = 16 sandboxes (no access). This can be considered the border with the Estate Sea (part of Little Pacific Ocean). 
*A044 - A044 Sim Cluster - 1067-1073/932-936 
*A177 - A177 Sim Cluster - 1061-1082/968-995 
*A179 - A179 Sim Cluster - 1168-1190/929-959
*A180 Niverna Microcontinent - 1096-1097/1059-1063
*A181 Learning - Social Sims - 1025-1033/1047-1050, Linden owned 
*A182 Linden Estate Microcontinent - 1025-1031/1014-1016
*A183 East Heterocera Islands - 1020-1033/1014-1025
*The vast majority of sims are Unassociated Sims.
== Subdivisions ==
The largest part of this continent is formed of Unassociated Sims. Some of them could be grouped into a Sim Group.
South Void
This is a place without sims, just East to Jeogeot.
=== Celebration Sea ===
This is a subdivision of the Central Ocean. It is East to Heterocera and has almost the surface of Heterocera. Usually, there are no islands in that area. The Celebration Sea is used for party and celebrations and the sims created there are deleted after the party. It usually has no private islands. This sea was the place for the SL 10th birthday party in 2013. This sea usually appears as an empty place on the map.
In September 2013, 4 sims appeared on the map, but soon vanished. They had no access to public.
== Geography ==
This is the smallest ocean of the grid. It covers 1.66 grid sectors, but it is highly populated. Sims have a smaller tendince to form large groups like in other oceans. Sim density is average to high. Population, however, is high. Islands have very different themes, so you can find 'general', 'moderate' and 'adult' regions. Not all have public access. A big number of estates manage the ocean. However, the most interesting thing is that Central Ocean is one of the 3 oceans with Linden-owned land. The other two are Little Pacific Ocean and Eastern Ocean.
Since this ocean is surrendered by massive continents, Central Ocean has the most clear borders. Also, from a Geographic point of view, an island inside this ocean is more easy to be found by a traveller then an island far away.
==See Also ==
*Oceans
*Second Life Geography
*List Of Continents
*Grid Map And Dimensions
Central Services

== The need of central utilities ==
There are several central utilities which are still needed.
=== Identity ===
The goal is to have one identity across all agent domains. The goal is also to have various levels of verification being possible (and secure).
=== Topology ===
Which regions are connected together. In a way, the DNS of the metaverse. Duties now largely performed by the 'space server' (?)
=== Currency ===
Here different payment methods should be implementable. 
=== Search ===
(I would simply make APIs for the domains and let other people handle search).
== See also ==
* Proposed Architecture
* Agent Domain
* Region Domain
* Multiple Domains
* Running at Home and Offline
Category:Architecture Working Group
Category:Grid_Interoperability
Certified HTTP Project

== Related Pages ==
* Certified HTTP - The spec, as it were.
* Certified HTTP Python - The Python implementation guide
* Certified HTTP API - Sort of an old page with notional python api, needs to get edited/removed.
* Certified HTTP Escrow - The escrow is an application built on Certified HTTP.
=== Documentation ===
* Certified HTTP Versioning
== CHTTP Breakdown ==
Here's the battle plan. It will be tracked in Public JIRA:
First Implementation (API) - http://jira.secondlife.com/browse/CHTTP-1
First Implementation (Flesh) - http://jira.secondlife.com/browse/CHTTP-7
Note: Subtasks in the above JIRAs map to the boxes in the diagram below. 
== Escrow Breakdown ==
Plan starts with Design: http://jira.secondlife.com/browse/CHTTP-14
See details: https://wiki.secondlife.com/wiki/Certified_HTTP_Escrow
== Participants ==
* Which Linden
* Sardonyx Linden
* Sue Linden
* Seeping Blister
Certified HTTP Python

<< Back to Certified HTTP Project
This page is for the Python implementation of Certified HTTP.
== Getting Started ==
* Get all the dependencies for Eventlet and Mulib.
* Follow this little command-line recipe to get them all in one place:
 mkdir chttp
 cd chttp
 svn co https://svn.secondlife.com/svn/certified_http/trunk/certified_http
 svn co https://svn.secondlife.com/svn/eventlet/trunk/eventlet
 svn co https://svn.secondlife.com/svn/mulib/trunk/mulib
 svn co http://svn.red-bean.com/bob/simplejson/trunk/simplejson/
 export PYTHONPATH=`pwd`
* If you're running Python 2.3, you will need uuid.py from the 2.4 distribution (you can snag a copy here).
We know we should get auto-dependencies figured out, but haven't gotten around to it. We'd be happy to accept contributions that speed that process along.
ChangeInventoryItemFlags

==Message Layout==
{
	ChangeInventoryItemFlags Low NotTrusted Unencoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
		{	SessionID	LLUUID	}
	}
	{
		InventoryData	Variable
		{	ItemID		LLUUID	}
		{	Flags		U32	}
	}
}
==Usage and Notes==
Category:Messages
ChangeUserRights

==Message Layout==
{
	ChangeUserRights Low 321 Trusted Unencoded
	{
		AgentData		Single
		{	AgentID		LLUUID	}
	}
	{
		Rights			Variable
		{	AgentRelated		LLUUID		}
		{	RelatedRights		S32		}
	}
}
==Usage and Notes==
This message is sent from the simulator to the viewer to indicate a target's granted rights. This is only sent to the originator of the request and the target agent if it is a modify or map right. Adding/removing online status rights will show up as an online/offline notification.
Category:Messages
Chat

=== Feature Design Document ===
(none)
=== Functional Spec ===
(none)
=== Test scripts ===
Social Interaction Test
Chat Bubble Test
=== Discussion for future improvements ===
(none)
=== Relationship to other features ===
 List of features that need to be tested when this feature changes, and why. 
(none)
Animation test Make sure Gestures can still be triggered from chat triggers.
ChatFromSimulator

==Message Layout==
{
	ChatFromSimulator Low Trusted Unencoded
	{
		ChatData			Single
		{	FromName		Variable 1	}
		{	SourceID		LLUUID		}	
		{	OwnerID			LLUUID		}	
		{	SourceType		U8			}
		{	ChatType		U8			}
		{	Audible			U8			}
		{	Position		LLVector3	}
		{	Message			Variable 2	}	
	}
}
==Usage and Notes==
Category:Messages
With this message the simulator notifies clients of new chat messages.
If Audible is 0, the message may be blank (because you're too far away).
Length of Message is stored as little-endian.
===SourceType values===
SourceType	Value	Notes
System 	0 	Chat from the grid or simulator
Agent 	1 	Chat from another avatar
Object 	2 	Chat from an object
===Audible values===
Audible	Value	Notes
Not 	-1 	Is not audible at all.
Barely 	0 	Is close to being out of range.
Fully 	1 	Is in range.
===ChatType values===
ChatType 	Value	Notes
Whisper 	0 	5m radius - "Test User whispers: message"
Normal 	1 	10/20m radius - "Test User: message"
Shout 	2 	100m radius - "Test User shouts: message"
Say 	3 	Not sure if this is used for anything - "Test User say, message"
StartTyping	4 	Lets others know you are typing
StopTyping 	5 	Lets others know you've stopped typing
Debug 	6 	Chat from debug channel
OwnerSay 	8 	Private chat message from an object owned by you; this chat is only sent to you
==Official Viewer Behavior==
Check to determine if self owned is based on SourceID.
"Swirly things" are only created if an object chats on a non debug channel. (always white)
Position is never read from message block.
ChatType 3 is undefined.
Logging and display truth table:
// LINDEN	BUSY	MUTED	OWNED_BY_YOU	TASK		DISPLAY		STORE IN HISTORY
// F		F	F	F		*		Yes		Yes
// F		F	F	T		*		Yes		Yes
// F		F	T	F		*		No		No
// F		F	T	T		*		No		No
// F		T	F	F		*		No		Yes
// F		T	F	T		*		Yes		Yes
// F		T	T	F		*		No		No
// F		T	T	T		*		No		No
// T		*	*	*		F		Yes		Yes
Todo: make a pretty table.
ChatFromViewer

==Message Layout==
{
	ChatFromViewer Low 80 NotTrusted
	{
		AgentData			Single
		{	AgentID			LLUUID		}
		{	SessionID		LLUUID		}
	}
	{
		ChatData			Single
		{	Message			Variable 2	}
		{	Type			U8			}
		{	Channel			S32			}
	}
}
==Usage and Notes==
Category:Messages
Although this message is currently marked as 'Zerocoded' in the message template, in fact it hasn't been zerocoded for some time. (Noted in 2024)
Message a client sends to a simulator to chat on a non-negative chat channel. Channel 0 is normal public chat. Attempting to chat on a negative channel with this message fails.
If negative channel chat is required, use ScriptDialogReply.
===Values for use with Type===
ChatType 	Value	Notes
Whisper 	0 	5m radius - "Test User whispers: message"
Normal 	1 	10/20m radius - "Test User: message"
Shout 	2 	100m radius - "Test User shouts: message"
Say 	3 	Not sure if this is used for anything - "Test User say, message"
StartTyping	4 	Lets others know you are typing
StopTyping 	5 	Lets others know you've stopped typing
Debug 	6 	Unknown
==Official Client Behavior==
===Notes===
Does not play animations if non zero channel. 
Agents are looked at for up to 2 seconds when they begin typing.
ChatPass

==Message Layout==
{
	ChatPass Low Trusted Zerocoded
	{
		ChatData			Single
		{	Channel			S32	}
		{	Position		LLVector3	}
		{	ID				LLUUID	}
		{	OwnerID			LLUUID	}
		{	Name			Variable	1	}
		{	SourceType		U8	}
		{	Type			U8	}
		{	Radius			F32 }
		{	SimAccess		U8	}
		{	Message			Variable	2	}
	}
}
==Usage and Notes==
Simulator to simulator only message. Used to pass chat messages between simulators so chat works across sim borders. Significance of SimAccess unknown to how it affects passing of chat message.
This message should never be received by a viewer.
Category:Messages
ChatSessionRequest

Category:Capabilities
Used to create (and manage?) a conference IM
POST:
<llsd><map><key>method</key><string>start conference</string><key>params</key><array><uuid>01234567-0123-0123-0123-0123456789ab</uuid><uuid>fedcba98-fdec-fdec-fdec-fdecba987654</uuid></array><key>session-id</key><uuid>ddd7302b-642b-7114-16ff-6228a61e9b93</uuid></map></llsd>
Response:
Accepted
Response is not xml llsd
POST:
<llsd><map><key>method</key><string>call</string><key>session-id</key><uuid>c0da7611-9405-e3a4-0172-c36a1120c77a</uuid></map></llsd>
Response:
<llsd><map><key>session-id</key><string>c0da7611-9405-e3a4-0172-c36a1120c77a</string><key>voice_credentials</key><map><key>channel_credentials</key><string>rh1iIIiT2v+ebJjRI+klpFHjFmo</string><key>channel_uri</key><string>sip:confctl-12574742@bhr.vivox.com</string></map></map></llsd>
Here the response is xml llsd
Chat Bubble Test

[ChatBubbleTest]
[VERSION] 0.1
[LENGTH] 00:20
[TESTERS] 5+
[OVERVIEW] The goal is to test the Chat Bubble Functionality
[SETUP] A large group of Chatting Avatars
[*]
[0010] Verify "Mute" mutes chat bubbles
[0020] Verify "Busy" silences chat bubbles
[0030] Can you see the chat of someone behind you?
[0040] Can you follow a conversation in busy areas? (ie. the welcome area or a club)
[0050] Can you easily make the connection between a speaking avatar and what they are 
saying?
[0060] Verify chat bubbles do not overlap
[0070] Verify long sentences are not clipped.
[*]
[0080] Make sure audible chat always shows up in your own chat bubble
[0090] Watch another user chat and make sure their audible text always shows up (chat 
destined for channels other than 0, for example, shouldn't show up)
[0100] Try disabling chat bubbles in Preferences.Chat/IM and check to see that chat shows 
up in the console only.
[0110] Chat bubbles should never overlap by more than 1 or 2 pixels.
[0120] Offscreen chat that is within the audible radius should show up at edge of screen in the direction of the source.
[0130] Starting to type and stopping typing (clearing out chat entry editor) should never 
trigger listen callbacks on nearby scripts.
[0140] Make sure gesture text replacement works with chat bubbles.
[0150] Test chat across sim borders (specifically the "..." for in-progress chat)
[0160] Test chat bubbles in areas with lots of avatars. Should degrade gracefully instead 
of filling the screen with text.
[0170] Should be easy to match chat bubble with avatar ("arrow" should appear when bubble 
moves away from avatar)
[0180] Test script calls to show bubble text (BUG: all scripted text is bubble text by 
default, should revert and add new script call for bubble text)
Category:QA Portal
Category:Quality Assurance
Chat Log Wikifier

A chat log wikifier is a tool that converts (Second Life) chat logs to MediaWiki syntax to be pasted on this (or other MediaWiki powered) wiki.
== List of Second Life specific wikifiers ==
=== New Wikifier from Darrius Gothly ===
This supports display names and highlighting of Linden's chats.
http://www.dgp4sl.com/wikify.php5
=== Kuraiko Yoshikawa's SLog Wikifier ===
;type
: online (html form)
;manual and feature list
: User:Kuraiko_Yoshikawa/SLog_Wikifier
=== Tree Kyomoon's wikifier ===
;type
: online (adobe flash)
=== Dr Scofield's transcript formatting script ===
;type
: perl script
;manual
: User:Dr Scofield/logtransform
=== Oz's chat extract and formatting scripts ===
perl scripts for:
* extracting from a chat log based on begin and end timestamps
* formatting chat logs for a wiki (Display Names friendly - derived from the one above)
Chat Relay

llShout is limited to 100m and sometimes you need to send a message farther.
This script is designed to resend the message without getting stuck in a loop.
To use
# Place in a prim
# Change the channel number.
# place them as needed changing the prim's description to a unique letter or number to set its node name.
The concept is similar to the "path" part of an email message in that it modifies the
message by adding its name to the message.
When it hears a message it parses it to get the first field. The first field is used for performance reasons. This script currently uses the pipe symbol but you can change the field separator as needed.
It then does a string search of the path field using ",n," where n is its number or letter.
The "Path" is started with "," and the repeater adds its number and reshouts it if it has not heard it before.
The message goes like this
pipe message
,1,pipe message
,2,1,pipe message
Trouble shooting
This script can deal with grids or loops in any direction as long as each one is uniquely named.
If multiple relays exist with the same name some messages will get lost.
Improvements
The script could be improved using a string search instead of llParseString2List since it only adds its name to the start of the message.
Currently a message with a length of 255 characters when sent through the relay will be shortened. Because of this it is recommended to send messages with a maximum length of 200 characters to allow for 55 characters of path.
Chat Relay
//Chat relay
//Released into the public domain by grumble Loudon
//
// Pipe is the section separator
// commas are used to separate path ID's
//
integer g_Channel = 1234;	//change this to your channel
//********************************************************************************************
default
{
 //********************************************************************************************8
 state_entry()
 {
 
 llListen(g_Channel,"",NULL_KEY,""); 
 }
//********************************************************************************************8
 listen(integer channel, string name, key id, string message)
 { 
	//Path|address|protocol|data
 list mList = llParseStringKeepNulls(message,["|"],[]); 
 string path = llList2String( mList,0); 		//get route path
 list pathList = [];
 if (llStringLength(path) > 0)
 {
		pathList = llParseString2List(path,[","],[]);
 };
 string MyName = llGetObjectDesc();
 if (llStringLength(MyName) > 0)		//prevent infinite loops if description is blank
	{
	 list MyNameList;
 	MyNameList += MyName;
 
	 if (llListFindList(pathList, MyNameList) == -1){ // Returns -1 if not found
	 string Msg = MyName + "," + message; //add me to the path
 
	 llShout(g_Channel,Msg);
	 }; //route path
	};// No description
 } // listen
 //********************************************************************************************8
}//default
====See also====
llShout
Chat Systems

=== ALPHA project viewer overview ===
We are investigating the use of XMPP as a replacement for our current chat infrastructure. This project viewer replaces limited group chat functionality to help us exercise XMPP and learn more about how it scales, integrates with third party clients, other chat software, and ways to transition from legacy chat. We want your help to test it out and make sure its a viable replacement for our current chat protocol.
This project intends to address the following chat issues: 
* Messages are not necessarily delivered in order, so conversations can easily become garbled. 
* Delivery is not reliable, so parts of conversations can go missing. 
* Delays between sending and receiving messages can span tens of seconds. 
* When a resident logs in, they are automatically subscribed to chats for all of their groups, and must drop out of every active chat with traffic that does not interest them.
=== Logistics ===
* The XMPP chat enabled viewer is presently only supported on the Aditi test grid.
* As the project progresses we will set up a public JIRA project to share internal development work and track bugs entered by Lindens and residents. This will provide a place to see future work planned, provide feedback and enter/track defects. When this is set up, further guidance will be provided.
=== Project Viewer Release 2.5.1.223974 ===
==== Known Issues ====
* duplicate roster entries will sometimes be present, one each for legacy and for xmpp.
* group chat rosters entries are not removed when XMPP participants exit the chat.
** on rejoining the chat there will be a new instance of the name in the roster, leading to two or more XMPP roster entries.
* messages from previous chat sessions are presented again. You may see a large number of messages from previous group chats stream past when you log in.
* right clicking group chat participants in the roster crashes the viewer.
* there may be a delay (chat lag) when a new person joins a group chat.
===== How to Configure an XMPP Client=====
If you desire to use a non viewer XMPP chat client, Adium, Pidgen, Empathy, etc., Configure your client with the following parameters.
Note: You'll need to accept the self-signed TLS certificate on that server, and add the SHA-1 fingerprint for the certificate (47 1D 09 EC 86 CD 16 8E 0A 0A B3 AD 2A 8C 5D 01 D9 9F DC E0).
Please note that our support for these chat clients is still very experimental.
 XMPP client configuration
Parameter 	Value 	Notes
chat server: 	chat.aditi.lindenlab.com 	this is the chat server for users logged into the Aditi grid.
username: 	firstname.lastname@chat.aditi.lindenlab.com	some clients will accept the user name and domain this way, others provide you with separate user name and domain fields.
password: 	your SL password 	yep, the same password you use to log in to Second Life with.
Reqire TLS: 	[on] 	be sure to turn encryption on.
Alias or nic:	firstname.lastname 	the 'alias' or 'nick' must match your SL name, not your display name - else connection will fail.
Chat button.lsl

// Global Variables
integer toAllChannel = -255; // general channel - linked message
default
{
 state_entry()
 {
 llSetColor( <0,0,0>, ALL_SIDES);
 }
 touch_start(integer total_number)
 {
 llMessageLinked(LINK_ALL_OTHERS, toAllChannel, "ReportMethodButton::CHAT", NULL_KEY);
 llSetColor( <0,0,0>, ALL_SIDES);
 }
///////////////////////////////////////////////////////
// Link Message of default state //
/////////////////////////////////////////////////////// 
 link_message(integer sender_number, integer number, string message, key id)
 {
 //if link message is on the correct channel
 if(number == toAllChannel)
 {
 if(llSubStringIndex( message, "ReportMethodButton") != -1)
 {
 llSetColor( <255,255,255>, ALL_SIDES);
 }
 if( message == "reset" )
 {
 llResetScript(); 
 } 
 
 }
 
 } //end of link message
 
}
Chat channel

== Chat Channel ==
In Second Life, resident chat can be heard by all nearby because it all goes over an open channel, which has the number 0.
Often, in scripts, different objects need to exchange information or coordinate their behavior. One way to do that is to have them chat on a channel known to all of them. All the scripts that are listening on a channel will hear whatever is said on that channel, up to various distance restrictions. chat channels range from -2147483648 to 2147483647 with DEBUG_CHANNEL being on 2147483647.
Chat can be heard within a sphere centered on the sender:
function 	purpose
llWhisper 	10m
llSay 	20m
llShout 	100m
llRegionSay	Entire Region
To add more resilience to a protocol, in can be a good idea to match some other criteria before trying to parse a message. Don't expect that others will avoid using your channel simply because you use it. For instance, use a unique starting header on your message and check to see if it exists. This way multiple devices can use the same channels.
== Listening in on a channel ==
// Radio Tuner
// Lets you listen in on any channel except 0
integer listen_handle = 0;
integer channel = 0;
TuneTo(integer chan)
{
 channel = chan;
 
 if (listen_handle)
 llListenRemove(listen_handle);
 
 if (!chan)
 {
 listen_handle = 0;
 llOwnerSay("Radio turned off.");
 return;
 }
 listen_handle = llListen(chan, "", NULL_KEY, "");
 llOwnerSay("Listening to channel " + (string)chan);
}
default
{
 attach(key attached)
 {
 if (attached != NULL_KEY)
 llResetScript();
 }
 
 state_entry()
 {
 llListen(96, "", llGetOwner(), "");
 llOwnerSay("Type \"/96 tune N\" to tune in to channel N, or \"/96 tune 0\" to turn radio off.");
 }
 
 listen(integer ch, string name, key id, string msg)
 {
 if ((ch == 96) && llGetSubString(msg, 0, 4) == "tune ")
 TuneTo((integer)llGetSubString(msg, 5, -1));
 else if (ch == channel)
 llOwnerSay("[" + (string)ch + " " + name + "]: " + msg);
 }
}
== Private Channel==
Would you like your channel to be custom or private for each owner or each object?
Well then you can use these functions to provide a way to have a so called "private" channel per owner or object.
This function will provide each object with a separate unique integer.
integer Pchannel(string salt){
 string setint = (string)((integer)("0x"+llGetSubString((string)llGetKey(),-8,-1)) * llStringLength(salt) * llCeil(llLog(llStringLength(salt))));
 return (integer)llGetSubString(setint, 0, 7);
}
This function will provide each owner with a separate unique integer.
integer Pchannel(string salt){
 string setint = (string)((integer)("0x"+llGetSubString((string)llGetOwner(),-8,-1)) * llStringLength(salt) * llCeil(llLog(llStringLength(salt))));
 return (integer)llGetSubString(setint, 0, 7);
}
ChildAgentAlive

==Message Layout==
{
	ChildAgentAlive High Trusted Unencoded
	{
		AgentData				Single
		{	RegionHandle		U64	}
		{	ViewerCircuitCode	U32	}
		{	AgentID				LLUUID	}
		{	SessionID			LLUUID	}
	}
}
==Usage and Notes==
Category:Messages
ChildAgentPositionUpdate

==Message Layout==
{
	ChildAgentPositionUpdate High Trusted Unencoded
	{
		AgentData				Single
		{	RegionHandle		U64	}
		{	ViewerCircuitCode	U32	}
		{	AgentID				LLUUID	}
		{	SessionID			LLUUID	}
		{	AgentPos			LLVector3	}
		{	AgentVel			LLVector3	}
		{	Center				LLVector3	}
		{ 	Size 				LLVector3 	}
		{	AtAxis				LLVector3	}
		{	LeftAxis			LLVector3	}
		{	UpAxis				LLVector3	}
		{	ChangedGrid			BOOL	}
	}
}
==Usage and Notes==
Category:Messages