29 using System.Collections.Generic;
32 using System.Net.Sockets;
33 using System.Reflection;
35 using System.Threading;
38 using OpenMetaverse.Packets;
39 using OpenSim.Framework;
40 using OpenSim.Framework.Client;
41 using OpenSim.Framework.Monitoring;
42 using OpenSim.Region.Framework.Scenes;
52 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
54 private readonly TcpClient m_client;
55 private readonly
Scene m_scene;
57 private UUID m_agentID = UUID.Random();
61 public int PingTimeMS {
get {
return 0; } }
63 private string m_username;
64 private string m_nick;
66 private bool m_hasNick =
false;
67 private bool m_hasUser =
false;
69 private bool m_connected =
true;
71 public List<uint> SelectedObjects {
get;
private set;}
78 WorkManager.StartThread(InternalLoop,
"IRCClientView", ThreadPriority.Normal,
false,
true);
81 private void SendServerCommand(
string command)
83 SendCommand(
":opensimircd " + command);
86 private void SendCommand(
string command)
88 m_log.Info(
"[IRCd] Sending >>> " + command);
90 byte[] buf = Util.UTF8.GetBytes(command +
"\r\n");
92 m_client.GetStream().BeginWrite(buf, 0, buf.Length, SendComplete, null);
95 private void SendComplete(IAsyncResult result)
97 m_log.Info(
"[IRCd] Send Complete.");
100 private string IrcRegionName
104 get {
return "#" + m_scene.RegionInfo.RegionName.Replace(
" ",
"-"); }
107 private void InternalLoop()
111 string strbuf = String.Empty;
113 while (m_connected && m_client.Connected)
115 byte[] buf =
new byte[8];
117 int count = m_client.GetStream().Read(buf, 0, buf.Length);
118 string line = Util.UTF8.GetString(buf, 0, count);
122 string message = ExtractMessage(strbuf);
126 strbuf = strbuf.Remove(0, message.Length);
128 m_log.Info(
"[IRCd] Recieving <<< " + message);
129 message = message.Trim();
132 string command = ExtractCommand(message);
133 ProcessInMessage(message, command);
139 if (strbuf.Length == 0)
142 m_log.Info(
"[IRCd] Buffer zero, closing...");
143 if (OnDisconnectUser != null)
149 Watchdog.UpdateThread();
154 if (OnDisconnectUser != null)
157 m_log.Warn(
"[IRCd] Disconnected client.");
159 catch (SocketException)
161 if (OnDisconnectUser != null)
164 m_log.Warn(
"[IRCd] Disconnected client.");
167 Watchdog.RemoveThread();
170 private void ProcessInMessage(
string message,
string command)
172 m_log.Info(
"[IRCd] Processing [MSG:" + message +
"] [COM:" + command +
"]");
205 SendServerCommand(
"421 " + command +
" :Command unimplemented");
217 IRC_SendReplyModeChannel();
221 IRC_ProcessUser(message);
226 string[] userhostArgs = ExtractParameters(message);
227 if (userhostArgs[0] ==
":" + m_nick)
229 SendServerCommand(
"302 :" + m_nick +
"=+" + m_nick +
"@" +
230 ((IPEndPoint) m_client.Client.RemoteEndPoint).Address);
234 IRC_ProcessNick(message);
239 IRC_SendReplyTopic();
242 IRC_SendReplyUsers();
256 IRC_SendNamesReply();
261 IRC_ProcessPing(message);
269 if (OnDisconnectUser != null)
274 IRC_SendNamesReply();
277 IRC_ProcessPrivmsg(message);
281 SendServerCommand(
"421 " + command +
" :Unknown command");
287 private void IRC_Ready()
289 if (m_hasUser && m_hasNick)
291 SendServerCommand(
"001 " + m_nick +
" :Welcome to OpenSimulator IRCd");
292 SendServerCommand(
"002 " + m_nick +
" :Running OpenSimVersion");
293 SendServerCommand(
"003 " + m_nick +
" :This server was created over 9000 years ago");
294 SendServerCommand(
"004 " + m_nick +
" :opensimirc r1 aoOirw abeiIklmnoOpqrstv");
295 SendServerCommand(
"251 " + m_nick +
" :There are 0 users and 0 services on 1 servers");
296 SendServerCommand(
"252 " + m_nick +
" 0 :operators online");
297 SendServerCommand(
"253 " + m_nick +
" 0 :unknown connections");
298 SendServerCommand(
"254 " + m_nick +
" 1 :channels formed");
299 SendServerCommand(
"255 " + m_nick +
" :I have 1 users, 0 services and 1 servers");
300 SendCommand(
":" + m_nick +
" MODE " + m_nick +
" :+i");
301 SendCommand(
":" + m_nick +
" JOIN :" + IrcRegionName);
304 SendCommand(
":" + m_nick +
" NICK :" + m_username.Replace(
" ",
""));
305 m_nick = m_username.Replace(
" ",
"");
308 IRC_SendChannelPrivmsg(
"System",
"Welcome to OpenSimulator.");
309 IRC_SendChannelPrivmsg(
"System",
"You are in a maze of twisty little passages, all alike.");
310 IRC_SendChannelPrivmsg(
"System",
"It is pitch black. You are likely to be eaten by a grue.");
312 if (OnIRCReady != null)
317 private void IRC_SendReplyJoin()
319 IRC_SendReplyTopic();
320 IRC_SendNamesReply();
323 private void IRC_SendReplyModeChannel()
325 SendServerCommand(
"324 " + m_nick +
" " + IrcRegionName +
" +n");
329 private void IRC_ProcessUser(
string message)
331 string[] userArgs = ExtractParameters(message);
335 string realname = userArgs[3].Replace(
":",
"");
337 m_username = realname;
341 private void IRC_ProcessNick(
string message)
343 string[] nickArgs = ExtractParameters(message);
344 string nickname = nickArgs[0].Replace(
":",
"");
349 private void IRC_ProcessPing(
string message)
351 string[] pingArgs = ExtractParameters(message);
352 string pingHost = pingArgs[0];
353 SendCommand(
"PONG " + pingHost);
356 private void IRC_ProcessPrivmsg(
string message)
358 string[] privmsgArgs = ExtractParameters(message);
359 if (privmsgArgs[0] == IrcRegionName)
361 if (OnChatFromClient != null)
366 msg.From = this.Name;
367 msg.Message = privmsgArgs[1].Replace(
":",
"");
368 msg.Position = Vector3.Zero;
370 msg.SenderObject = null;
371 msg.SenderUUID = this.AgentId;
372 msg.Type = ChatTypeEnum.Say;
374 OnChatFromClient(
this, msg);
383 private void IRC_SendNamesReply()
388 SendServerCommand(
"353 " + m_nick +
" = " + IrcRegionName +
" :" + user.
Name.Replace(
" ",
""));
390 SendServerCommand(
"366 " + IrcRegionName +
" :End of /NAMES list");
393 private void IRC_SendWhoReply()
402 SendServerCommand(
"352 " + m_nick +
" " + IrcRegionName +
" n=" + user.
Name.Replace(
" ",
"") +
" fakehost.com " + user.Name.Replace(
" ",
"") +
" H " +
":0 " + user.
Name);
406 SendServerCommand(
"315 " + m_nick +
" " + IrcRegionName +
" :End of /WHO list");
409 private void IRC_SendMOTD()
411 SendServerCommand(
"375 :- OpenSimulator Message of the day -");
412 SendServerCommand(
"372 :- Hiya!");
413 SendServerCommand(
"376 :End of /MOTD command");
416 private void IRC_SendReplyTopic()
418 SendServerCommand(
"332 " + IrcRegionName +
" :OpenSimulator IRC Server");
421 private void IRC_SendReplyUsers()
425 SendServerCommand(
"392 :UserID Terminal Host");
427 if (users.Length == 0)
429 SendServerCommand(
"395 :Nobody logged in");
435 char[] nom =
new char[8];
436 char[] term =
"terminal_".ToCharArray();
437 char[] host =
"hostname".ToCharArray();
439 string userName = user.Name.Replace(
" ",
"");
440 for (
int i = 0; i < nom.Length; i++)
442 if (userName.Length < i)
443 nom[i] = userName[i];
448 SendServerCommand(
"393 :" + nom +
" " + term +
" " + host +
"");
451 SendServerCommand(
"394 :End of users");
454 private static string ExtractMessage(
string buffer)
456 int pos = buffer.IndexOf(
"\r\n");
461 string command = buffer.Substring(0, pos + 2);
466 private static string ExtractCommand(
string msg)
468 string[] msgs = msg.Split(
' ');
472 m_log.Warn(
"[IRCd] Dropped msg: " + msg);
476 if (msgs[0].StartsWith(
":"))
482 private static string[] ExtractParameters(
string msg)
484 string[] msgs = msg.Split(
' ');
485 List<string> parms =
new List<string>(msgs.Length);
487 bool foundCommand =
false;
488 string command = ExtractCommand(msg);
491 for (
int i=0;i<msgs.Length;i++)
493 if (msgs[i] == command)
499 if (foundCommand !=
true)
502 if (i != 0 && msgs[i].StartsWith(
":"))
504 List<string> tmp =
new List<string>();
505 for (
int j=i;j<msgs.Length;j++)
509 parms.Add(string.Join(
" ", tmp.ToArray()));
516 return parms.ToArray();
519 #region Implementation of IClientAPI
521 public Vector3 StartPos
523 get {
return new Vector3(m_scene.RegionInfo.RegionSizeX * 0.5f, m_scene.RegionInfo.RegionSizeY * 0.5f, 50f); }
527 public bool TryGet<T>(out T iface)
540 get {
return m_agentID; }
545 IRC_SendChannelPrivmsg(
"System",
"You have been eaten by a grue. (" + reason +
")");
553 IRC_SendChannelPrivmsg(
"System",
"You have been eaten by a grue.");
560 public UUID SessionId
562 get {
return m_agentID; }
565 public UUID SecureSessionId
567 get {
return m_agentID; }
570 public UUID ActiveGroupId
572 get {
return UUID.Zero; }
575 public string ActiveGroupName
577 get {
return "IRCd User"; }
580 public ulong ActiveGroupPowers
595 public string FirstName
599 string[] names = m_username.Split(
' ');
604 public string LastName
608 string[] names = m_username.Split(
' ');
609 if (names.Length > 1)
617 get {
return m_scene; }
620 public int NextAnimationSequenceNumber
627 get {
return m_username; }
633 set {
if (!value) Disconnect(
"IsActive Disconnected?"); }
636 public bool IsLoggingOut
638 get {
return false; }
642 public bool SendLogoutPacketWhenClosing
647 public uint CircuitCode
649 get {
return (uint)Util.RandomClass.Next(0,int.MaxValue); }
652 public IPEndPoint RemoteEndPoint
654 get {
return (IPEndPoint)m_client.Client.RemoteEndPoint; }
657 #pragma warning disable 67
885 #pragma warning restore 67
887 public int DebugPacketLevel {
get; set; }
904 public void Close(
bool sendStop,
bool force)
909 public void Kick(
string message)
916 m_scene.AddNewAgent(
this, PresenceType.User);
920 m_scene.GetAvatarAppearance(
this, out appearance);
921 OnSetAppearance(
this, appearance.Texture, (byte[])appearance.VisualParams.Clone(),appearance.AvatarSize,
new WearableCacheItem[0]);
926 m_log.Info(
"[IRCd ClientStack] Completing Handshake to Region");
928 if (OnRegionHandShakeReply != null)
930 OnRegionHandShakeReply(
this);
933 if (OnCompleteMovementToRegion != null)
935 OnCompleteMovementToRegion(
this,
true);
949 public void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
969 public void SendAnimations(UUID[] animID,
int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
975 string message, byte type, Vector3 fromPos,
string fromName, UUID fromAgentID, UUID ownerID, byte source, byte audible)
977 if (audible > 0 && message.Length > 0)
978 IRC_SendChannelPrivmsg(fromName, message);
981 private void IRC_SendChannelPrivmsg(
string fromName,
string message)
983 SendCommand(
":" + fromName.Replace(
" ",
"") +
" PRIVMSG " + IrcRegionName +
" :" + message);
1041 public void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint,
string capsURL)
1056 public void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags,
string capsURL)
1075 public void SendMoneyBalance(UUID transaction,
bool success, byte[] description,
int balance,
int transactionType, UUID sourceID,
bool sourceIsGroup, UUID destID,
bool destIsGroup,
int amount,
string item)
1110 public void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List<InventoryItemBase> items, List<InventoryFolderBase> folders,
int version,
bool fetchFolders,
bool fetchItems)
1150 public void SendXferPacket(ulong xferID, uint packet, byte[] data,
bool isTaskInventory)
1160 public void SendEconomyData(
float EnergyEfficiency,
int ObjectCapacity,
int ObjectCount,
int PriceEnergyUnit,
int PriceGroupCreate,
int PriceObjectClaim,
float PriceObjectRent,
float PriceObjectScaleFactor,
int PriceParcelClaim,
float PriceParcelClaimFactor,
int PriceParcelRent,
int PricePublicObjectDecay,
int PricePublicObjectDelete,
int PriceRentLight,
int PriceUpload,
int TeleportMinPrice,
float TeleportPriceExponent)
1170 public void SendAgentDataUpdate(UUID agentid, UUID activegroupid,
string firstname,
string lastname, ulong grouppowers,
string groupname,
string grouptitle)
1185 public void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position,
float gain)
1202 IRC_SendChannelPrivmsg(
"Alert",message);
1210 public void SendLoadURL(
string objectname, UUID objectID, UUID ownerID,
bool groupOwned,
string message,
string url)
1212 IRC_SendChannelPrivmsg(objectname,url);
1215 public void SendDialog(
string objectname, UUID objectID, UUID ownerID,
string ownerFirstName,
string ownerLastName,
string msg, UUID textureID,
int ch,
string[] buttonlabels)
1220 public void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear,
float OrbitalPosition)
1235 public void SendAvatarProperties(UUID avatarID,
string aboutText,
string bornOn, byte[] charterMember,
string flAbout, uint flags, UUID flImageID, UUID imageID,
string profileURL, UUID partnerID)
1240 public void SendScriptQuestion(UUID taskID,
string taskName,
string ownerName, UUID itemID,
int question)
1270 public void SendDetailedEstateData(UUID invoice,
string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged,
string abuseEmail, UUID estateOwner)
1275 public void SendLandProperties(
int sequence_id,
bool snap_selection,
int request_result,
ILandObject lo,
float simObjectBonusFactor,
int parcelObjectCapacity,
int simObjectCapacity, uint regionFlags)
1310 public void SendParcelMediaUpdate(
string mediaUrl, UUID mediaTextureID, byte autoScale,
string mediaType,
string mediaDesc,
int mediaWidth,
int mediaHeight, byte mediaLoop)
1325 public void SendXferRequest(ulong XferID,
short AssetType, UUID vFileID, byte FilePath, byte[] FileName)
1335 public void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
1379 public void SendFindAgent(UUID HunterID, UUID PreyID,
double GlobalX,
double GlobalY)
1383 public void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation,
bool autopilot, Vector3 CameraAtOffset, Vector3 CameraEyeOffset,
bool ForceMouseLook)
1463 #pragma warning disable 0067
1467 #pragma warning restore 0067
1471 IRC_SendChannelPrivmsg(FromAvatarName, Message);
1496 return String.Empty;
1614 public void SendClassifiedInfoReply(UUID classifiedID, UUID creatorID, uint creationDate, uint expirationDate, uint category,
string name,
string description, UUID parcelID, uint parentEstate, UUID snapshotID,
string simName, Vector3 globalPos,
string parcelName, byte classifiedFlags,
int price)
1639 public void SendPickInfoReply(UUID pickID, UUID creatorID,
bool topPick, UUID parcelID,
string name,
string desc, UUID snapshotID,
string user,
string originalName,
string simName, Vector3 posGlobal,
int sortOrder,
bool enabled)
1685 public void SendAvatarInterestsReply(UUID avatarID, uint wantMask,
string wantText, uint skillsMask,
string skillsText,
string languages)
1713 public void SendTextBoxRequest(
string message,
int chatChannel,
string objectname, UUID ownerID,
string ownerFirstName,
string ownerLastName, UUID objectId)
void SendAvatarClassifiedReply(UUID targetID, UUID[] classifiedID, string[] name)
RegionHandleRequest OnRegionHandleRequest
delegate void ObjectPermissions(IClientAPI controller, UUID agentID, UUID sessionID, byte field, uint localId, uint mask, byte set)
SetScriptRunning OnSetScriptRunning
void SendBulkUpdateInventory(InventoryNodeBase node)
Used by the server to inform the client of new inventory items and folders.
delegate void RezScript(IClientAPI remoteClient, InventoryItemBase item, UUID transactionID, uint localID)
BuyObjectInventory OnBuyObjectInventory
delegate void ParcelBuyPass(IClientAPI client, UUID agentID, int ParcelLocalID)
GetScriptRunning OnGetScriptRunning
void SendMapItemReply(mapItemReply[] replies, uint mapitemtype, uint flags)
void SendAnimations(UUID[] animID, int[] seqs, UUID sourceAgentId, UUID[] objectIDs)
delegate void ImprovedInstantMessage(IClientAPI remoteclient, GridInstantMessage im)
UpdateEstateAccessDeltaRequest OnUpdateEstateAccessDeltaRequest
EstateRestartSimRequest OnEstateRestartSimRequest
void SendTakeControls(int controls, bool passToAgent, bool TakeControls)
delegate void ObjectDrop(uint localID, IClientAPI remoteClient)
void CrossRegion(ulong newRegionHandle, Vector3 pos, Vector3 lookAt, IPEndPoint newRegionExternalEndPoint, string capsURL)
delegate void TeleportCancel(IClientAPI remoteClient)
XferReceive OnXferReceive
void SendAgentDropGroup(UUID groupID)
LinkInventoryItem OnLinkInventoryItem
ObjectDeselect OnObjectDetach
NetworkStats OnNetworkStatsUpdate
delegate void DirClassifiedQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, uint category, int queryStart)
void Close(bool sendStop, bool force)
Close this client
void SendRemoveInventoryItem(UUID itemID)
GenericCall2 OnStopMovement
delegate void EventInfoRequest(IClientAPI remoteClient, uint eventID)
delegate void NewUserReport(IClientAPI client, string regionName, UUID abuserID, byte catagory, byte checkflags, string details, UUID objectID, Vector3 postion, byte reportType, UUID screenshotID, string Summary, UUID reporter)
delegate void UpdatePrimSingleRotationPosition(uint localID, Quaternion rot, Vector3 pos, IClientAPI remoteClient)
delegate void EjectUserUpdate(IClientAPI client, UUID parcelowner, uint flags, UUID target)
void SendEventInfoReply(EventData info)
void SendWearables(AvatarWearable[] wearables, int serial)
Tell this client what items it should be wearing now
RequestMapName OnMapNameRequest
delegate void AbortXfer(IClientAPI remoteClient, ulong xferID)
void SendAvatarClassifiedReply(UUID targetID, Dictionary< UUID, string > classifieds)
delegate void UpdatePrimGroupRotation(uint localID, Vector3 pos, Quaternion rot, IClientAPI remoteClient)
void SendForceClientSelectObjects(List< uint > objectIDs)
delegate void PurgeInventoryDescendents(IClientAPI remoteClient, UUID folderID)
DetailedEstateDataRequest OnDetailedEstateDataRequest
delegate void RequestAsset(IClientAPI remoteClient, RequestAssetArgs transferRequest)
delegate void RezMultipleAttachmentsFromInv(IClientAPI remoteClient, List< KeyValuePair< UUID, uint >> rezlist)
DelinkObjects OnDelinkObjects
delegate void RemoveInventoryItem(IClientAPI remoteClient, List< UUID > itemIDs)
RezMultipleAttachmentsFromInv OnRezMultipleAttachmentsFromInv
delegate void UpdatePrimSingleRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
ParcelInfoRequest OnParcelInfoRequest
void SendLandProperties(int sequence_id, bool snap_selection, int request_result, ILandObject lo, float simObjectBonusFactor, int parcelObjectCapacity, int simObjectCapacity, uint regionFlags)
Send land properties to the client.
void SendChatMessage(string message, byte type, Vector3 fromPos, string fromName, UUID fromAgentID, UUID ownerID, byte source, byte audible)
Send chat to the viewer.
delegate void GroupAccountSummaryRequest(IClientAPI client, UUID agentID, UUID groupID)
ObjectOwner OnObjectOwner
void SendGroupAccountingSummary(IClientAPI sender, UUID groupID, uint moneyAmt, int totalTier, int usedTier)
RequestMapBlocks OnRequestMapBlocks
ParcelSelectObjects OnParcelSelectObjects
AgentRequestSit OnAgentRequestSit
FreezeUserUpdate OnParcelFreezeUser
delegate void PickInfoUpdate(IClientAPI client, UUID pickID, UUID creatorID, bool topPick, string name, string desc, UUID snapshotID, int sortOrder, bool enabled)
TeleportLocationRequest OnTeleportLocationRequest
void SendSunPos(Vector3 sunPos, Vector3 sunVel, ulong CurrentTime, uint SecondsPerSunCycle, uint SecondsPerYear, float OrbitalPosition)
Update the client as to where the sun is currently located.
SetEstateTerrainBaseTexture OnSetEstateTerrainBaseTexture
UpdateAgent OnAgentCameraUpdate
delegate void ScriptAnswer(IClientAPI remoteClient, UUID objectID, UUID itemID, int answer)
void SendDialog(string objectname, UUID objectID, UUID ownerID, string ownerFirstName, string ownerLastName, string msg, UUID textureID, int ch, string[] buttonlabels)
Open a dialog box on the client.
TeleportLureRequest OnTeleportLureRequest
void SendScriptQuestion(UUID taskID, string taskName, string ownerName, UUID itemID, int question)
delegate void ObjectSaleInfo(IClientAPI remoteClient, UUID agentID, UUID sessionID, uint localID, byte saleType, int salePrice)
virtual bool CanSendLayerData()
GenericCall7 OnObjectName
GenericCall7 OnObjectClickAction
MoneyTransferRequest OnMoneyTransferRequest
UpdateInventoryItem OnUpdateInventoryItem
delegate void UpdateTaskInventory(IClientAPI remoteClient, UUID transactionID, TaskInventoryItem item, uint localID)
delegate void UpdatePrimRotation(uint localID, Quaternion rot, IClientAPI remoteClient)
delegate void RequestMapBlocks(IClientAPI remoteClient, int minX, int minY, int maxX, int maxY, uint flag)
void SendGenericMessage(string method, UUID invoice, List< string > message)
MoneyBalanceRequest OnMoneyBalanceRequest
delegate void RezRestoreToWorld(IClientAPI remoteClient, UUID itemId)
delegate void GrabObject(uint localID, Vector3 pos, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
void SendInventoryItemCreateUpdate(InventoryItemBase Item, UUID transactionID, uint callbackId)
void SendGenericMessage(string method, UUID invoice, List< byte[]> message)
delegate void CachedTextureRequest(IClientAPI remoteClient, int serial, List< CachedTextureRequestArg > cachedTextureRequest)
RequestAvatarProperties OnRequestAvatarProperties
bool IsGroupMember(UUID GroupID)
void SendInstantMessage(GridInstantMessage im)
delegate void RequestTaskInventory(IClientAPI remoteClient, uint localID)
void SendWindData(Vector2[] windSpeeds)
delegate void RequestPayPrice(IClientAPI remoteClient, UUID objectID)
AcceptCallingCard OnAcceptCallingCard
GodLandStatRequest OnLandStatRequest
void SendTeleportStart(uint flags)
void SendDirGroupsReply(UUID queryID, DirGroupsReplyData[] data)
SaveStateHandler OnSaveState
void SendAgentOnline(UUID[] agentIDs)
TeleportLandmarkRequest OnTeleportLandmarkRequest
delegate void MoveItemsAndLeaveCopy(IClientAPI remoteClient, List< InventoryItemBase > items, UUID destFolder)
delegate void SoundTrigger(UUID soundId, UUID ownerid, UUID objid, UUID parentid, double Gain, Vector3 Position, UInt64 Handle, float radius)
ParcelJoinRequest OnParcelJoinRequest
TeleportLocationRequest OnSetStartLocationRequest
delegate void SetRegionTerrainSettings(float waterHeight, float terrainRaiseLimit, float terrainLowerLimit, bool estateSun, bool fixedSun, float sunHour, bool globalSun, bool estateFixed, float estateSunHour)
GroupActiveProposalsRequest OnGroupActiveProposalsRequest
void InPacket(object NewPack)
ClassifiedInfoUpdate OnClassifiedInfoUpdate
void SendUseCachedMuteList()
void SendEjectGroupMemberReply(UUID agentID, UUID groupID, bool success)
void SendParcelDwellReply(int localID, UUID parcelID, float dwell)
RequestXfer OnRequestXfer
EventGodDelete OnEventGodDelete
void SendRegionHandshake(RegionInfo regionInfo, RegionHandshakeArgs args)
EventInfoRequest OnEventInfoRequest
ObjectSelect OnObjectSelect
void SendMoneyBalance(UUID transaction, bool success, byte[] description, int balance, int transactionType, UUID sourceID, bool sourceIsGroup, UUID destID, bool destIsGroup, int amount, string item)
GodUpdateRegionInfoUpdate OnGodUpdateRegionInfoUpdate
DeclineCallingCard OnDeclineCallingCard
delegate void ObjectIncludeInSearch(IClientAPI remoteClient, bool IncludeInSearch, uint localID)
void SendGroupTransactionsSummaryDetails(IClientAPI sender, UUID groupID, UUID transactionID, UUID sessionID, int amt)
delegate void ObjectRequest(uint localID, IClientAPI remoteClient)
void SendTriggeredSound(UUID soundID, UUID ownerID, UUID objectID, UUID parentID, ulong handle, Vector3 position, float gain)
delegate void ParcelAbandonRequest(int local_id, IClientAPI remote_client)
delegate void AcceptCallingCard(IClientAPI remoteClient, UUID transactionID, UUID folderID)
delegate void UpdateInventoryFolder(IClientAPI remoteClient, UUID folderID, ushort type, string name, UUID parentID)
MoveItemsAndLeaveCopy OnMoveItemsAndLeaveCopy
DeGrabObject OnDeGrabObject
void SendAgentGroupDataUpdate(UUID avatarID, GroupMembershipData[] data)
delegate void UpdatePrimFlags(uint localID, bool UsePhysics, bool IsTemporary, bool IsPhantom, ExtraPhysicsData PhysData, IClientAPI remoteClient)
ObjectDeselect OnObjectDeselect
delegate void RezObject(IClientAPI remoteClient, UUID itemID, Vector3 RayEnd, Vector3 RayStart, UUID RayTargetID, byte BypassRayCast, bool RayEndIsIntersection, bool RezSelected, bool RemoveItem, UUID fromTaskID)
CopyInventoryItem OnCopyInventoryItem
Contains the Avatar's Appearance and methods to manipulate the appearance.
void SendXferRequest(ulong XferID, short AssetType, UUID vFileID, byte FilePath, byte[] FileName)
delegate void SetEstateFlagsRequest(bool blockTerraform, bool noFly, bool allowDamage, bool blockLandResell, int maxAgents, float objectBonusFactor, int matureLevel, bool restrictPushObject, bool allowParcelChanges)
GenericCall7 OnObjectDescription
void SendAgentDataUpdate(UUID agentid, UUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
RequestTerrain OnRequestTerrain
ConfirmXfer OnConfirmXfer
void SendInventoryItemDetails(UUID ownerID, InventoryItemBase item)
DirPlacesQuery OnDirPlacesQuery
MuteListEntryUpdate OnUpdateMuteListEntry
Action< IClientAPI > OnRegionHandShakeReply
void SendGroupNameReply(UUID groupLLUID, string GroupName)
delegate void ForceReleaseControls(IClientAPI remoteClient, UUID agentID)
delegate void StopAnim(IClientAPI remoteClient, UUID animID)
ImprovedInstantMessage OnInstantMessage
delegate void EstateChangeCovenantRequest(IClientAPI remoteClient, UUID newCovenantID)
PickInfoUpdate OnPickInfoUpdate
delegate void ClientChangeObject(uint localID, object data, IClientAPI remoteClient)
delegate void SetAlwaysRun(IClientAPI remoteClient, bool SetAlwaysRun)
delegate void TextureRequest(Object sender, TextureRequestArgs e)
void SendBannedUserList(UUID invoice, EstateBan[] banlist, uint estateID)
delegate void DelinkObjects(List< uint > primIds, IClientAPI client)
delegate void ClassifiedInfoUpdate(UUID classifiedID, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, Vector3 globalPos, byte classifiedFlags, int price, IClientAPI client)
GroupVoteHistoryRequest OnGroupVoteHistoryRequest
void SendAgentOffline(UUID[] agentIDs)
void SendObjectPropertiesReply(ISceneEntity entity)
delegate void AvatarNowWearing(IClientAPI sender, AvatarWearingArgs e)
CreateNewInventoryItem OnCreateNewInventoryItem
ChangeInventoryItemFlags OnChangeInventoryItemFlags
void SendPartPhysicsProprieties(ISceneEntity entity)
void SendLocalTeleport(Vector3 position, Vector3 lookAt, uint flags)
void SendOfferCallingCard(UUID srcID, UUID transactionID)
ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest
delegate void FriendshipTermination(IClientAPI remoteClient, UUID ExID)
delegate void GroupActiveProposalsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
RequestObjectPropertiesFamily OnObjectGroupRequest
delegate void ActivateGesture(IClientAPI client, UUID gestureid, UUID assetId)
delegate void ParcelGodForceOwner(int local_id, UUID ownerID, IClientAPI remote_client)
SimulatorBlueBoxMessageRequest OnSimulatorBlueBoxMessageRequest
void SendDirPopularReply(UUID queryID, DirPopularReplyData[] data)
EstateDebugRegionRequest OnEstateDebugRegionRequest
UUIDNameRequest OnUUIDGroupNameRequest
void SendFindAgent(UUID HunterID, UUID PreyID, double GlobalX, double GlobalY)
void ReprioritizeUpdates()
virtual void SetChildAgentThrottle(byte[] throttle, float factor)
MoveTaskInventory OnMoveTaskItem
UpdateVector OnUpdatePrimGroupPosition
delegate void TeleportLocationRequest(IClientAPI remoteClient, ulong regionHandle, Vector3 position, Vector3 lookAt, uint flags)
delegate void UserInfoRequest(IClientAPI client)
AvatarPickerRequest OnAvatarPickerRequest
CommitEstateTerrainTextureRequest OnCommitEstateTerrainTextureRequest
AvatarNowWearing OnAvatarNowWearing
void SendTerminateFriend(UUID exFriendID)
void SendTelehubInfo(UUID ObjectID, string ObjectName, Vector3 ObjectPos, Quaternion ObjectRot, List< Vector3 > SpawnPoint)
delegate void LinkInventoryItem(IClientAPI remoteClient, UUID transActionID, UUID folderID, uint callbackID, string description, string name, sbyte invType, sbyte type, UUID olditemID)
delegate void EstateTeleportAllUsersHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID)
delegate void AgentSit(IClientAPI remoteClient, UUID agentID)
void SendEconomyData(float EnergyEfficiency, int ObjectCapacity, int ObjectCount, int PriceEnergyUnit, int PriceGroupCreate, int PriceObjectClaim, float PriceObjectRent, float PriceObjectScaleFactor, int PriceParcelClaim, float PriceParcelClaimFactor, int PriceParcelRent, int PricePublicObjectDecay, int PricePublicObjectDelete, int PriceRentLight, int PriceUpload, int TeleportMinPrice, float TeleportPriceExponent)
delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client)
delegate void UpdatePrimTexture(uint localID, byte[] texture, IClientAPI remoteClient)
void SendStartPingCheck(byte seq)
delegate void DirFindQuery(IClientAPI remoteClient, UUID queryID, string queryText, uint queryFlags, int queryStart)
void SendTeleportProgress(uint flags, string message)
delegate void ParcelBuy(UUID agentId, UUID groupId, bool final, bool groupOwned, bool removeContribution, int parcelLocalID, int parcelArea, int parcelPrice, bool authenticated)
delegate void MoneyTransferRequest(UUID sourceID, UUID destID, int amount, int transactionType, string description)
delegate void AddNewPrim(UUID ownerID, UUID groupID, Vector3 RayEnd, Quaternion rot, PrimitiveBaseShape shape, byte bypassRaycast, Vector3 RayStart, UUID RayTargetID, byte RayEndIsIntersection)
PlacesQuery OnPlacesQuery
delegate void ParcelDeedToGroup(int local_id, UUID group_id, IClientAPI remote_client)
delegate void PickGodDelete(IClientAPI client, UUID agentID, UUID pickID, UUID queryID)
EjectUserUpdate OnParcelEjectUser
SetEstateTerrainDetailTexture OnSetEstateTerrainDetailTexture
void SendSimStats(SimStats stats)
Send statistical information about the sim to the client.
ClassifiedGodDelete OnClassifiedGodDelete
delegate void ObjectDuplicate(uint localID, Vector3 offset, uint dupeFlags, UUID AgentID, UUID GroupID)
void SendSitResponse(UUID TargetID, Vector3 OffsetPos, Quaternion SitOrientation, bool autopilot, Vector3 CameraAtOffset, Vector3 CameraEyeOffset, bool ForceMouseLook)
RequestPayPrice OnRequestPayPrice
delegate void ClassifiedGodDelete(UUID classifiedID, UUID queryID, IClientAPI client)
SetRegionTerrainSettings OnSetRegionTerrainSettings
DirPopularQuery OnDirPopularQuery
delegate void GenericCall2()
void Kick(string message)
UpdateAgent OnPreAgentUpdate
delegate void FreezeUserUpdate(IClientAPI client, UUID parcelowner, uint flags, UUID target)
Enapsulate statistics for a simulator/scene.
ParcelBuyPass OnParcelBuyPass
void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint, uint locationID, uint flags, string capsURL)
ObjectAttach OnObjectAttach
delegate void CopyInventoryItem(IClientAPI remoteClient, uint callbackID, UUID oldAgentID, UUID oldItemID, UUID newFolderID, string newName)
FindAgentUpdate OnFindAgent
UpdateVector OnUpdatePrimScale
EstateManageTelehub OnEstateManageTelehub
UpdateAvatarProperties OnUpdateAvatarProperties
delegate void TerrainUnacked(IClientAPI remoteClient, int patchX, int patchY)
delegate void FriendActionDelegate(IClientAPI remoteClient, UUID transactionID, List< UUID > callingCardFolders)
SoundTrigger OnSoundTrigger
delegate void GenericMessage(Object sender, string method, List< String > args)
CachedTextureRequest OnCachedTextureRequest
void SendAgentAlertMessage(string message, bool modal)
delegate void RequestGodlikePowers(UUID AgentID, UUID SessionID, UUID token, bool GodLike, IClientAPI remote_client)
delegate void GenericCall7(IClientAPI remoteClient, uint localID, string message)
delegate void ObjectSelect(uint localID, IClientAPI remoteClient)
void SendInventoryFolderDetails(UUID ownerID, UUID folderID, List< InventoryItemBase > items, List< InventoryFolderBase > folders, int version, bool fetchFolders, bool fetchItems)
void SendInitiateDownload(string simFileName, string clientFileName)
void SendTaskInventory(UUID taskID, short serial, byte[] fileName)
EconomyDataRequest OnEconomyDataRequest
SendPostcard OnSendPostcard
delegate void GodUpdateRegionInfoUpdate(IClientAPI client, float BillableFactor, ulong EstateID, ulong RegionFlags, byte[] SimName, int RedirectX, int RedirectY)
void SendLayerData(float[] map)
FetchInventory OnFetchInventory
delegate void NetworkStats(int inPackets, int outPackets, int unAckedBytes)
delegate void SaveStateHandler(IClientAPI client, UUID agentID)
delegate void MuteListEntryRemove(IClientAPI client, UUID MuteID, string Name)
UpdatePrimSingleRotationPosition OnUpdatePrimSingleRotationPosition
MoveInventoryFolder OnMoveInventoryFolder
void Close()
Close this client
TextureRequest OnRequestTexture
FetchInventoryDescendents OnFetchInventoryDescendents
GenericMessage OnGenericMessage
delegate void DeGrabObject(uint localID, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
delegate void EstateDebugRegionRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, bool scripted, bool collisionEvents, bool physics)
This class was created to refactor OutPacket out of AssetCache There is a conflict between OpenSim...
delegate void StartAnim(IClientAPI remoteClient, UUID animID)
GenericCall1 OnRequestWearables
void SendAlertMessage(string message)
PurgeInventoryDescendents OnPurgeInventoryDescendents
ParcelReturnObjectsRequest OnParcelReturnObjectsRequest
SetAlwaysRun OnSetAlwaysRun
void SendEstateList(UUID invoice, int code, UUID[] Data, uint estateID)
Asset class. All Assets are reference by this class or a class derived from this class ...
void SendClassifiedInfoReply(UUID classifiedID, UUID creatorID, uint creationDate, uint expirationDate, uint category, string name, string description, UUID parcelID, uint parentEstate, UUID snapshotID, string simName, Vector3 globalPos, string parcelName, byte classifiedFlags, int price)
int GetAgentThrottleSilent(int throttle)
ParcelAbandonRequest OnParcelAbandonRequest
void SendChangeUserRights(UUID agentID, UUID friendID, int rights)
ParcelReclaim OnParcelReclaim
void SendGroupActiveProposals(UUID groupID, UUID transactionID, GroupActiveProposals[] Proposals)
void SendSetFollowCamProperties(UUID objectID, SortedDictionary< int, float > parameters)
DeRezObject OnDeRezObject
delegate void TeleportLureRequest(UUID lureID, uint teleportFlags, IClientAPI client)
delegate void RequestTerrain(IClientAPI remoteClient, string clientFileName)
delegate void ParcelSetOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime)
delegate void EventNotificationAddRequest(uint EventID, IClientAPI client)
delegate void ObjectBuy(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID groupID, UUID categoryID, uint localID, byte saleType, int salePrice)
void SendTextBoxRequest(string message, int chatChannel, string objectname, UUID ownerID, string ownerFirstName, string ownerLastName, UUID objectId)
delegate void EventGodDelete(uint eventID, UUID queryID, string queryText, uint queryFlags, int queryStart, IClientAPI client)
FriendshipTermination OnTerminateFriendship
delegate void SimulatorBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
delegate void ParcelJoinRequest(int west, int south, int east, int north, IClientAPI remote_client)
delegate void EstateRestartSimRequest(IClientAPI remoteClient, int secondsTilReboot)
void SendCreateGroupReply(UUID groupID, bool success, string message)
ClassifiedInfoRequest OnClassifiedInfoRequest
delegate void MoveInventoryFolder(IClientAPI remoteClient, UUID folderID, UUID parentID)
void SendParcelInfo(RegionInfo info, LandData land, UUID parcelID, uint x, uint y)
void SendHealth(float health)
ParcelObjectOwnerRequest OnParcelObjectOwnerRequest
void SendLandParcelOverlay(byte[] data, int sequence_id)
virtual void SetChildAgentThrottle(byte[] throttle)
delegate void AgentRequestSit(IClientAPI remoteClient, UUID agentID, UUID targetID, Vector3 offset)
GroupAccountSummaryRequest OnGroupAccountSummaryRequest
void SendGroupMembership(GroupMembershipData[] GroupMembership)
Action< IClientAPI > OnLogout
ParcelGodMark OnParcelGodMark
delegate void CommitEstateTerrainTextureRequest(IClientAPI remoteClient)
delegate void UpdateAvatarProperties(IClientAPI remoteClient, UserProfileData ProfileData)
EstateChangeInfo OnEstateChangeInfo
void SendPreLoadSound(UUID objectID, UUID ownerID, UUID soundID)
void SetClientOption(string option, string value)
delegate void UpdateEstateAccessDeltaRequest(IClientAPI remote_client, UUID invoice, int estateAccessType, UUID user)
void SendRegionInfoToEstateMenu(RegionInfoForEstateMenuArgs args)
delegate void OnIRCClientReadyDelegate(IRCClientView cv)
delegate void MoveObject(UUID objectID, Vector3 offset, Vector3 grapPos, IClientAPI remoteClient, List< SurfaceTouchEventArgs > surfaceArgs)
delegate void ObjectDuplicateOnRay(uint localID, uint dupeFlags, UUID AgentID, UUID GroupID, UUID RayTargetObj, Vector3 RayEnd, Vector3 RayStart, bool BypassRaycast, bool RayEndIsIntersection, bool CopyCenters, bool CopyRotates)
void SendShutdownConnectionNotice()
Action< IClientAPI > OnConnectionClosed
RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily
void SendLoadURL(string objectname, UUID objectID, UUID ownerID, bool groupOwned, string message, string url)
delegate void StatusChange(bool status)
delegate void UDPAssetUploadRequest(IClientAPI remoteClient, UUID assetID, UUID transaction, sbyte type, byte[] data, bool storeLocal, bool tempFile)
delegate void MuteListEntryUpdate(IClientAPI client, UUID MuteID, string Name, int type, uint flags)
ScriptAnswer OnScriptAnswer
ParcelSetOtherCleanTime OnParcelSetOtherCleanTime
void SendGroupAccountingDetails(IClientAPI sender, UUID groupID, UUID transactionID, UUID sessionID, int amt)
delegate void EstateTeleportOneUserHomeRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID prey)
void SendAvatarGroupsReply(UUID avatarID, GroupMembershipData[] data)
MuteListRequest OnMuteListRequest
void SendScriptRunningReply(UUID objectID, UUID itemID, bool running)
void SendGroupVoteHistory(UUID groupID, UUID transactionID, GroupVoteHistory[] Votes)
ObjectDuplicateOnRay OnObjectDuplicateOnRay
delegate void UpdateVector(uint localID, Vector3 pos, IClientAPI remoteClient)
string GetClientOption(string option)
ChatMessage OnChatFromClient
GodlikeMessage onGodlikeMessage
delegate void UpdateShape(UUID agentID, uint localID, UpdateShapeArgs shapeBlock)
delegate void GrantUserFriendRights(IClientAPI client, UUID target, int rights)
RequestGodlikePowers OnRequestGodlikePowers
UpdateTaskInventory OnUpdateTaskInventory
delegate void UpdateInventoryItem(IClientAPI remoteClient, UUID transactionID, UUID itemID, InventoryItemBase itemUpd)
BakeTerrain OnBakeTerrain
delegate void ParcelGodMark(IClientAPI client, UUID agentID, int ParcelLocalID)
UpdatePrimSingleRotation OnUpdatePrimSingleRotation
void SendMuteListUpdate(string filename)
delegate void DirPlacesQuery(IClientAPI remoteClient, UUID queryID, string queryText, int queryFlags, int category, string simName, int queryStart)
ParcelDeedToGroup OnParcelDeedToGroup
void SendParcelMediaCommand(uint flags, ParcelMediaCommandEnum command, float time)
delegate void GodlikeMessage(IClientAPI client, UUID requester, byte[] Method, byte[] Parameter)
GenericCall2 OnUpdateThrottles
Circuit data for an agent. Connection information shared between regions that accept UDP connections ...
void SetAgentThrottleSilent(int throttle, int setting)
delegate void DeRezObject(IClientAPI remoteClient, List< uint > localIDs, UUID groupID, DeRezAction action, UUID destinationID)
void SendDirPeopleReply(UUID queryID, DirPeopleReplyData[] data)
void SendXferPacket(ulong xferID, uint packet, byte[] data, bool isTaskInventory)
Inventory Item - contains all the properties associated with an individual inventory piece...
delegate void MuteListRequest(IClientAPI client, uint muteCRC)
UserInfoRequest OnUserInfoRequest
void MoveAgentIntoRegion(RegionInfo regInfo, Vector3 pos, Vector3 look)
Sent when an agent completes its movement into a region.
delegate void ScriptReset(IClientAPI remoteClient, UUID objectID, UUID itemID)
void SendAvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages)
RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv
delegate void ObjectAttach(IClientAPI remoteClient, uint objectLocalID, uint AttachmentPt, bool silent)
void SendDeclineCallingCard(UUID transactionID)
delegate void CreateInventoryFolder(IClientAPI remoteClient, UUID folderID, ushort folderType, string folderName, UUID parentID)
void SendBlueBoxMessage(UUID FromAvatarID, string FromAvatarName, string Message)
UpdatePrimFlags OnUpdatePrimFlags
ParcelPropertiesRequest OnParcelPropertiesRequest
void SendAvatarInterestsReply(UUID avatarID, uint wantMask, string wantText, uint skillsMask, string skillsText, string languages)
void SetClientInfo(ClientInfo info)
EstateTeleportOneUserHomeRequest OnEstateTeleportOneUserHomeRequest
delegate void GroupAccountDetailsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
void SendRebakeAvatarTextures(UUID textureID)
UDPAssetUploadRequest OnAssetUploadRequest
delegate void DetailedEstateDataRequest(IClientAPI remoteClient, UUID invoice)
void SendKillObject(List< uint > localID)
Tell the client that an object has been deleted
delegate void MapItemRequest(IClientAPI remoteClient, uint flags, uint EstateID, bool godlike, uint itemtype, ulong regionhandle)
Details of a Parcel of land
delegate void RemoveTaskInventory(IClientAPI remoteClient, UUID itemID, uint localID)
delegate void ObjectExtraParams(UUID agentID, uint localID, ushort type, bool inUse, byte[] data)
ObjectExtraParams OnUpdateExtraParams
delegate void ObjectOwner(IClientAPI remoteClient, UUID ownerID, UUID groupID, List< uint > localIDs)
ModifyTerrain OnModifyTerrain
IRCClientView(TcpClient client, Scene scene)
delegate void ParcelReturnObjectsRequest(int local_id, uint return_type, UUID[] agent_ids, UUID[] selected_ids, IClientAPI remote_client)
delegate void EstateChangeInfo(IClientAPI client, UUID invoice, UUID senderID, UInt32 param1, UInt32 param2)
UpdateShape OnUpdatePrimShape
void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
delegate void MoveTaskInventory(IClientAPI remoteClient, UUID folderID, uint localID, UUID itemID)
ActivateGesture OnActivateGesture
Action< IClientAPI > OnRequestAvatarsData
ViewerEffectEventHandler OnViewerEffect
bool AddGenericPacketHandler(string MethodName, GenericMessage handler)
GenericCall7 OnObjectMaterial
delegate void ParcelPropertiesRequest(int start_x, int start_y, int end_x, int end_y, int sequence_id, bool snap_selection, IClientAPI remote_client)
ForceReleaseControls OnForceReleaseControls
void SendCachedTextureResponse(ISceneEntity avatar, int serial, List< CachedTextureResponseArg > cachedTextures)
delegate void ModifyTerrain(UUID user, float height, float seconds, byte size, byte action, float north, float west, float south, float east, UUID agentId)
TrackAgentUpdate OnTrackAgent
FriendActionDelegate OnApproveFriendRequest
RezRestoreToWorld OnRezRestoreToWorld
StatusChange OnChildAgentStatus
delegate void SendPostcard(IClientAPI client)
delegate void ChangeAnim(UUID animID, bool addOrRemove, bool sendPack)
delegate void UpdateAgent(IClientAPI remoteClient, AgentUpdateArgs agentData)
void SendJoinGroupReply(UUID groupID, bool success)
RetrieveInstantMessages OnRetrieveInstantMessages
void SendPlacesReply(UUID queryID, UUID transactionID, PlacesReplyData[] data)
delegate void GodLandStatRequest(int parcelID, uint reportType, uint requestflags, string filter, IClientAPI remoteClient)
UpdatePrimTexture OnUpdatePrimTexture
void SendClearFollowCamProperties(UUID objectID)
void SendAbortXferPacket(ulong xferID)
delegate void ParcelDwellRequest(int localID, IClientAPI client)
void SendNameReply(UUID profileId, string firstname, string lastname)
ulong GetGroupPowers(UUID groupID)
RequestAsset OnRequestAsset
delegate void MoveInventoryItem(IClientAPI remoteClient, List< InventoryItemBase > items)
delegate void AvatarNotesUpdate(IClientAPI client, UUID targetID, string notes)
delegate void GroupAccountTransactionsRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
delegate void BuyObjectInventory(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID objectID, UUID itemID, UUID folderID)
DirFindQuery OnDirFindQuery
delegate void LinkObjects(IClientAPI remoteClient, uint parent, List< uint > children)
UUIDNameRequest OnNameFromUUIDRequest
void Start()
Start processing for this client.
delegate void ParcelDivideRequest(int west, int south, int east, int north, IClientAPI remote_client)
TerrainUnacked OnUnackedTerrain
RemoveTaskInventory OnRemoveTaskItem
delegate void StartLure(byte lureType, string message, UUID targetID, IClientAPI client)
delegate void EconomyDataRequest(IClientAPI client)
delegate void GodKickUser(UUID GodAgentID, UUID GodSessionID, UUID AgentID, uint kickflags, byte[] reason)
SetEstateFlagsRequest OnSetEstateFlagsRequest
void SendParcelMediaUpdate(string mediaUrl, UUID mediaTextureID, byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop)
void SendEstateCovenantInformation(UUID covenant)
delegate ISceneEntity RezSingleAttachmentFromInv(IClientAPI remoteClient, UUID itemID, uint AttachmentPt)
void SendLandStatReply(uint reportType, uint requestFlags, uint resultCount, LandStatReportItem[] lsrpia)
delegate void ParcelReclaim(int local_id, IClientAPI remote_client)
void SendAgentTerseUpdate(ISceneEntity presence)
void SendTeleportFailed(string reason)
void SendImageFirstPart(ushort numParts, UUID ImageUUID, uint ImageSize, byte[] ImageData, byte imageCodec)
Send the first part of a texture. For sufficiently small textures, this may be the only packet...
Interactive OpenSim region server
ParcelDivideRequest OnParcelDivideRequest
void ProcessInPacket(Packet NewPack)
DirClassifiedQuery OnDirClassifiedQuery
delegate void RegionHandleRequest(IClientAPI remoteClient, UUID regionID)
UUIDNameRequest OnDetachAttachmentIntoInv
void SendPayPrice(UUID objectID, int[] payPrice)
delegate void EstateBlueBoxMessageRequest(IClientAPI remoteClient, UUID invoice, UUID senderID, UUID sessionID, string senderName, string message)
delegate void SetEstateTerrainDetailTexture(IClientAPI remoteClient, int corner, UUID side)
delegate void SpinStart(UUID objectID, IClientAPI remoteClient)
FetchInventory OnAgentDataUpdateRequest
delegate void DeactivateGesture(IClientAPI client, UUID gestureid)
delegate void ParcelInfoRequest(IClientAPI remoteClient, UUID parcelID)
OfferCallingCard OnOfferCallingCard
delegate void SpinObject(UUID objectID, Quaternion rotation, IClientAPI remoteClient)
EstateTeleportAllUsersHomeRequest OnEstateTeleportAllUsersHomeRequest
void SendAvatarPicksReply(UUID targetID, Dictionary< UUID, string > picks)
delegate void PlacesQuery(UUID QueryID, UUID TransactionID, string QueryText, uint QueryFlags, byte Category, string SimName, IClientAPI client)
delegate void ClassifiedDelete(UUID classifiedID, IClientAPI client)
PrimUpdateFlags
Specifies the fields that have been changed when sending a prim or avatar update
Action< IClientAPI, bool > OnCompleteMovementToRegion
ParcelGodForceOwner OnParcelGodForceOwner
UpdateAgent OnAgentUpdate
DisconnectUser OnDisconnectUser
Args to return to a client that queries picker data
FriendActionDelegate OnDenyFriendRequest
UpdateVector OnUpdatePrimGroupScale
delegate void RequestMapName(IClientAPI remoteClient, string mapName, uint flags)
ObjectDuplicate OnObjectDuplicate
void SendScriptTeleportRequest(string objName, string simName, Vector3 pos, Vector3 lookAt)
AvatarNotesUpdate OnAvatarNotesUpdate
delegate void SetEstateTerrainTextureHeights(IClientAPI remoteClient, int corner, float lowVal, float highVal)
delegate void ParcelAccessListUpdateRequest(UUID agentID, uint flags, int landLocalID, UUID transactionID, int sequenceID, int sections, List< LandAccessEntry > entries, IClientAPI remote_client)
void SendCameraConstraint(Vector4 ConstraintPlane)
UpdateInventoryFolder OnUpdateInventoryFolder
void SendViewerEffect(ViewerEffectPacket.EffectBlock[] effectBlocks)
delegate void ParcelSelectObjects(int land_local_id, int request_type, List< UUID > returnIDs, IClientAPI remote_client)
void SendAvatarNotesReply(UUID targetID, string text)
RemoveInventoryItem OnRemoveInventoryItem
delegate void ClassifiedInfoRequest(UUID classifiedID, IClientAPI client)
void SendCoarseLocationUpdate(List< UUID > users, List< Vector3 > CoarseLocations)
SetEstateTerrainTextureHeights OnSetEstateTerrainTextureHeights
UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation
void SendAdminResponse(UUID Token, uint AdminLevel)
void SendImageNextPart(ushort partNumber, UUID imageUuid, byte[] imageData)
Send the next packet for a series of packets making up a single texture, as established by SendImageF...
void SendEntityUpdate(ISceneEntity entity, PrimUpdateFlags updateFlags)
Send a positional, velocity, etc. update to the viewer for a given entity.
delegate void ConfirmXfer(IClientAPI remoteClient, ulong xferID, uint packetID)
delegate void DeclineCallingCard(IClientAPI remoteClient, UUID transactionID)
delegate void EstateManageTelehub(IClientAPI client, UUID invoice, UUID senderID, string cmd, UInt32 param1)
SetAppearance OnSetAppearance
void SendTexture(AssetBase TextureAsset)
void SendAsset(AssetRequestToClient req)
delegate void GroupVoteHistoryRequest(IClientAPI client, UUID agentID, UUID groupID, UUID transactionID, UUID sessionID)
void SendRegionHandle(UUID regoinID, ulong handle)
delegate void GenericCall1(IClientAPI remoteClient)
Common base class for inventory nodes of different types (files, folders, etc.)
delegate void RequestAvatarProperties(IClientAPI remoteClient, UUID avatarID)
delegate void SetEstateTerrainBaseTexture(IClientAPI remoteClient, int corner, UUID side)
delegate void ParcelAccessListRequest(UUID agentID, UUID sessionID, uint flags, int sequenceID, int landLocalID, IClientAPI remote_client)
MoveInventoryItem OnMoveInventoryItem
delegate void BakeTerrain(IClientAPI remoteClient)
DirLandQuery OnDirLandQuery
delegate void PickDelete(IClientAPI client, UUID pickID)
delegate void OfferCallingCard(IClientAPI remoteClient, UUID destID, UUID transactionID)
MapItemRequest OnMapItemRequest
void SendMapBlock(List< MapBlockData > mapBlocks, uint flag)
void SendAcceptCallingCard(UUID transactionID)
delegate void FetchInventory(IClientAPI remoteClient, UUID itemID, UUID ownerID)
NewUserReport OnUserReport
delegate void DirPopularQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags)
delegate void SetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID, bool running)
delegate void FetchInventoryDescendents(IClientAPI remoteClient, UUID folderID, UUID ownerID, bool fetchFolders, bool fetchItems, int sortOrder)
EstateChangeCovenantRequest OnEstateChangeCovenantRequest
GroupAccountDetailsRequest OnGroupAccountDetailsRequest
void Disconnect(string reason)
LinkObjects OnLinkObjects
void SendAvatarPickerReply(AvatarPickerReplyAgentDataArgs AgentData, List< AvatarPickerReplyDataArgs > Data)
void SendUserInfoReply(bool imViaEmail, bool visible, string email)
void SendDirPlacesReply(UUID queryID, DirPlacesReplyData[] data)
UpdateUserInfo OnUpdateUserInfo
delegate void RequestXfer(IClientAPI remoteClient, ulong xferID, string fileName)
ScriptReset OnScriptReset
void SendPlayAttachedSound(UUID soundID, UUID objectID, UUID ownerID, float gain, byte flags)
void SendPartFullUpdate(ISceneEntity ent, uint?parentID)
delegate void RemoveInventoryFolder(IClientAPI remoteClient, List< UUID > folderIDs)
delegate void LandUndo(IClientAPI remoteClient)
RemoveInventoryFolder OnRemoveInventoryFolder
void SendLayerData(int px, int py, float[] map)
RequestTerrain OnUploadTerrain
delegate void FindAgentUpdate(IClientAPI client, UUID hunter, UUID target)
delegate void XferReceive(IClientAPI remoteClient, ulong xferID, uint packetID, byte[] data)
EventNotificationRemoveRequest OnEventNotificationRemoveRequest
void SendLandAccessListData(List< LandAccessEntry > accessList, uint accessFlag, int localLandID)
RegionInfoRequest OnRegionInfoRequest
delegate void SetAppearance(IClientAPI remoteClient, Primitive.TextureEntry textureEntry, byte[] visualParams, Vector3 AvSize, WearableCacheItem[] CacheItems)
ParcelDwellRequest OnParcelDwellRequest
ClassifiedDelete OnClassifiedDelete
void SendAppearance(UUID agentID, byte[] visualParams, byte[] textureEntry)
Send information about the given agent's appearance to another client.
void RefreshGroupMembership()
delegate void UpdateUserInfo(bool imViaEmail, bool visible, IClientAPI client)
delegate void EstateCovenantRequest(IClientAPI remote_client)
EstateCovenantRequest OnEstateCovenantRequest
virtual string Name
The name of this entity
ClientInfo GetClientInfo()
delegate void ParcelPropertiesUpdateRequest(LandUpdateArgs args, int local_id, IClientAPI remote_client)
void SendConfirmXfer(ulong xferID, uint PacketID)
GrantUserFriendRights OnGrantUserRights
AvatarInterestUpdate OnAvatarInterestUpdate
void SendPickInfoReply(UUID pickID, UUID creatorID, bool topPick, UUID parcelID, string name, string desc, UUID snapshotID, string user, string originalName, string simName, Vector3 posGlobal, int sortOrder, bool enabled)
AgentCircuitData RequestClientInfo()
Return circuit information for this client.
void SendDirLandReply(UUID queryID, DirLandReplyData[] data)
void SendDetailedEstateData(UUID invoice, string estateName, uint estateID, uint parentEstate, uint estateFlags, uint sunPosition, UUID covenant, uint covenantChanged, string abuseEmail, UUID estateOwner)
delegate void SpinStop(UUID objectID, IClientAPI remoteClient)
Action< Vector3, bool, bool > OnAutoPilotGo
SimWideDeletesDelegate OnSimWideDeletes
delegate void ChatMessage(Object sender, OSChatMessage e)
UpdatePrimRotation OnUpdatePrimGroupRotation
void SendDirClassifiedReply(UUID queryID, DirClassifiedReplyData[] data)
ObjectSaleInfo OnObjectSaleInfo
ObjectPermissions OnObjectPermissions
delegate void RequestObjectPropertiesFamily(IClientAPI remoteClient, UUID AgentID, uint RequestFlags, UUID TaskID)
UpdateVector OnUpdatePrimSinglePosition
ObjectIncludeInSearch OnObjectIncludeInSearch
delegate void AvatarPickerRequest(IClientAPI remoteClient, UUID agentdata, UUID queryID, string UserQuery)
void SendAvatarProperties(UUID avatarID, string aboutText, string bornOn, byte[] charterMember, string flAbout, uint flags, UUID flImageID, UUID imageID, string profileURL, UUID partnerID)
byte[] GetThrottlesPacked(float multiplier)
void SendLandObjectOwners(LandData land, List< UUID > groups, Dictionary< UUID, int > ownersAndCount)
TeleportCancel OnTeleportCancel
delegate void ViewerEffectEventHandler(IClientAPI sender, List< ViewerEffectEventHandlerArg > args)
void SendAvatarDataImmediate(ISceneEntity avatar)
PickGodDelete OnPickGodDelete
delegate void RegionInfoRequest(IClientAPI remote_client)
ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest
delegate void DirLandQuery(IClientAPI remoteClient, UUID queryID, uint queryFlags, uint searchType, int price, int area, int queryStart)
void SendLeaveGroupReply(UUID groupID, bool success)
ObjectRequest OnObjectRequest
MuteListEntryRemove OnRemoveMuteListEntry
UUIDNameRequest OnTeleportHomeRequest
delegate void TrackAgentUpdate(IClientAPI client, UUID hunter, UUID target)
OnIRCClientReadyDelegate OnIRCReady
delegate void RetrieveInstantMessages(IClientAPI client)
ClientChangeObject onClientChangeObject
delegate void AvatarInterestUpdate(IClientAPI client, uint wantmask, string wanttext, uint skillsmask, string skillstext, string languages)
void SendAssetUploadCompleteMessage(sbyte AssetType, bool Success, UUID AssetFullID)
void SendViewerTime(int phase)
EventNotificationAddRequest OnEventNotificationAddRequest
void SendDirEventsReply(UUID queryID, DirEventsReplyData[] data)
void SendImageNotFound(UUID imageid)
Tell the client that the requested texture cannot be found
delegate void ObjectDeselect(uint localID, IClientAPI remoteClient)
ParcelAccessListRequest OnParcelAccessListRequest
RequestTaskInventory OnRequestTaskInventory
delegate void TeleportLandmarkRequest(IClientAPI remoteClient, AssetLandmark lm)
void SendCloudData(float[] cloudCover)
GodKickUser OnGodKickUser
EstateBlueBoxMessageRequest OnEstateBlueBoxMessageRequest
DeactivateGesture OnDeactivateGesture
void SendAttachedSoundGainChange(UUID objectID, float gain)
void SendObjectPropertiesFamilyData(ISceneEntity Entity, uint RequestFlags)
GroupAccountTransactionsRequest OnGroupAccountTransactionsRequest
delegate void UUIDNameRequest(UUID id, IClientAPI remote_client)
CreateInventoryFolder OnCreateNewInventoryFolder
delegate void GetScriptRunning(IClientAPI remoteClient, UUID objectID, UUID itemID)
delegate void CreateNewInventoryItem(IClientAPI remoteClient, UUID transActionID, UUID folderID, uint callbackID, string description, string name, sbyte invType, sbyte type, byte wearableType, uint nextOwnerMask, int creationDate)
delegate void EventNotificationRemoveRequest(uint EventID, IClientAPI client)
delegate void SimWideDeletesDelegate(IClientAPI client, UUID agentID, int flags, UUID targetID)
Action< UUID > OnRemoveAvatar
delegate void MoneyBalanceRequest(IClientAPI remoteClient, UUID agentID, UUID sessionID, UUID TransactionID)
delegate void ChangeInventoryItemFlags(IClientAPI client, UUID itemID, uint flags)
delegate void DisconnectUser()
void SendInventoryItemCreateUpdate(InventoryItemBase Item, uint callbackId)
Tell the client that we have created the item it requested.