aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--CONTRIBUTORS.txt346
-rw-r--r--OpenSim/Data/MySQL/MySQLInventoryData.cs3
-rw-r--r--OpenSim/Framework/Util.cs20
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs134
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs2
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs18
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs14
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs2
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs10
-rw-r--r--bin/OpenSim.ini.example10
10 files changed, 337 insertions, 222 deletions
diff --git a/CONTRIBUTORS.txt b/CONTRIBUTORS.txt
index 0d78928..08048f5 100644
--- a/CONTRIBUTORS.txt
+++ b/CONTRIBUTORS.txt
@@ -1,173 +1,173 @@
1The following people have contributed to OpenSim (Thank you 1The following people have contributed to OpenSim (Thank you
2for your effort!) 2for your effort!)
3 3
4Add your name in here if you have committed to OpenSim 4Add your name in here if you have committed to OpenSim
5 5
6= Current OpenSim Developers (in very rough order of appearance) = 6= Current OpenSim Developers (in very rough order of appearance) =
7These folks represent the current core team for OpenSim, and are the 7These folks represent the current core team for OpenSim, and are the
8people that make the day to day of OpenSim happen. 8people that make the day to day of OpenSim happen.
9 9
10* MW (Tribal Media AB) 10* MW (Tribal Media AB)
11* Adam Frisby (DeepThink Pty Ltd) 11* Adam Frisby (DeepThink Pty Ltd)
12* MingChen (DeepThink Pty Ltd) 12* MingChen (DeepThink Pty Ltd)
13* lbsa71 (Tribal Media AB) 13* lbsa71 (Tribal Media AB)
14* Sean Dague / sdague (IBM) 14* Sean Dague / sdague (IBM)
15* Tedd 15* Tedd
16* justincc 16* justincc
17* Teravus (w3z) 17* Teravus (w3z)
18* Johan Berntsson (3Di) 18* Johan Berntsson (3Di)
19* Ckrinke (Charles Krinke) 19* Ckrinke (Charles Krinke)
20* chi11ken (Genkii) 20* chi11ken (Genkii)
21* adjohn (Genkii) 21* adjohn (Genkii)
22* Dr Scofield aka Dirk Husemann (IBM Research - Zurich) 22* Dr Scofield aka Dirk Husemann (IBM Research - Zurich)
23* dahlia 23* dahlia
24* mikem (3Di) 24* mikem (3Di)
25* Melanie Thielker 25* Melanie Thielker
26* Homer_Horwitz 26* Homer_Horwitz
27* idb (Ian Brown) 27* idb (Ian Brown)
28* Diva (Crista Lopes, University of California, Irvine) 28* Diva (Crista Lopes, University of California, Irvine)
29* nlin (3Di) 29* nlin (3Di)
30* Arthur Rodrigo S Valadares (IBM) 30* Arthur Rodrigo S Valadares (IBM)
31 31
32 32
33= Past Open Sim Developers = 33= Past Open Sim Developers =
34These folks are alumns of the OpenSim core group, but are now 34These folks are alumns of the OpenSim core group, but are now
35currently not active. Their great contributions helped get us to 35currently not active. Their great contributions helped get us to
36where we are today. 36where we are today.
37 37
38* Gareth 38* Gareth
39* Andy- 39* Andy-
40* MorphW 40* MorphW
41* CW 41* CW
42* Babblefrog 42* Babblefrog
43* Danx0r 43* Danx0r
44* Dalien 44* Dalien
45* Darok 45* Darok
46* Alondria 46* Alondria
47 47
48 48
49= Additional OpenSim Contributors = 49= Additional OpenSim Contributors =
50These folks have contributed code patches to OpenSim to help make it 50These folks have contributed code patches to OpenSim to help make it
51what it is today. 51what it is today.
52 52
53* aduffy70 53* aduffy70
54* A_Biondi 54* A_Biondi
55* alex_carnell 55* alex_carnell
56* Alan Webb (IBM) 56* Alan Webb (IBM)
57* BigFootAg 57* BigFootAg
58* BlueWall Slade 58* BlueWall Slade
59* brianw/Sir_Ahzz 59* brianw/Sir_Ahzz
60* CharlieO 60* CharlieO
61* ChrisDown 61* ChrisDown
62* Chris Yeoh (IBM) 62* Chris Yeoh (IBM)
63* coyled 63* coyled
64* Daedius 64* Daedius
65* Dong Jun Lan (IBM) 65* Dong Jun Lan (IBM)
66* DoranZemlja 66* DoranZemlja
67* daTwitch 67* daTwitch
68* devalnor-#708 68* devalnor-#708
69* dmiles (Daxtron Labs) 69* dmiles (Daxtron Labs)
70* dslake (Intel) 70* dslake (Intel)
71* FredoChaplin 71* FredoChaplin
72* Gerhard 72* Gerhard
73* Godfrey 73* Godfrey
74* Grumly57 74* Grumly57
75* Ewe Loon 75* Ewe Loon
76* Fly-Man 76* Fly-Man
77* Flyte Xevious 77* Flyte Xevious
78* Imaze Rhiano 78* Imaze Rhiano
79* Intimidated 79* Intimidated
80* Jeremy Bongio (IBM) 80* Jeremy Bongio (IBM)
81* jhurliman 81* jhurliman
82* John R Sohn (XenReborn) 82* John R Sohn (XenReborn)
83* jonc 83* jonc
84* Junta Kohime 84* Junta Kohime
85* Kayne 85* Kayne
86* Kevin Cozens 86* Kevin Cozens
87* kinoc (Daxtron Labs) 87* kinoc (Daxtron Labs)
88* Kitto Flora 88* Kitto Flora
89* KittyLiu 89* KittyLiu
90* Kurt Taylor (IBM) 90* Kurt Taylor (IBM)
91* lulurun 91* lulurun
92* M.Igarashi 92* M.Igarashi
93* maimedleech 93* maimedleech
94* Mic Bowman 94* Mic Bowman
95* Michelle Argus 95* Michelle Argus
96* Michael Cortez (The Flotsam Project, http://osflotsam.org/) 96* Michael Cortez (The Flotsam Project, http://osflotsam.org/)
97* Mike Osias (IBM) 97* Mike Osias (IBM)
98* Mike Pitman (IBM) 98* Mike Pitman (IBM)
99* mikkopa/_someone - RealXtend 99* mikkopa/_someone - RealXtend
100* Misterblue (Intel) 100* Misterblue (Intel)
101* Mircea Kitsune 101* Mircea Kitsune
102* mpallari 102* mpallari
103* nornalbion 103* nornalbion
104* Omar Vera Ustariz (IBM) 104* Omar Vera Ustariz (IBM)
105* openlifegrid.com 105* openlifegrid.com
106* otakup0pe 106* otakup0pe
107* ralphos 107* ralphos
108* RemedyTomm 108* RemedyTomm
109* Revolution 109* Revolution
110* Richard Alimi (IBM) 110* Richard Alimi (IBM)
111* Rick Alther (IBM) 111* Rick Alther (IBM)
112* Rob Smart (IBM) 112* Rob Smart (IBM)
113* rtomita 113* rtomita
114* Ruud Lathorp 114* Ruud Lathorp
115* SachaMagne 115* SachaMagne
116* Salahzar Stenvaag 116* Salahzar Stenvaag
117* sempuki 117* sempuki
118* Snoopy 118* Snoopy
119* Strawberry Fride 119* Strawberry Fride
120* tglion 120* tglion
121* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud) 121* tlaukkan/Tommil (Tommi S. E. Laukkanen, Bubble Cloud)
122* tyre 122* tyre
123* Vytek 123* Vytek
124* webmage (IBM) 124* webmage (IBM)
125* Xantor 125* Xantor
126* Y. Nitta 126* Y. Nitta
127* YZh 127* YZh
128* Zackary Geers aka Kunnis Basiat 128* Zackary Geers aka Kunnis Basiat
129* Zha Ewry 129* Zha Ewry
130 130
131 131
132= LSL Devs = 132= LSL Devs =
133 133
134* Alondria 134* Alondria
135* CharlieO 135* CharlieO
136* Tedd 136* Tedd
137* Melanie Thielker 137* Melanie Thielker
138 138
139 139
140= Testers = 140= Testers =
141 141
142* Ai Austin 142* Ai Austin
143* CharlieO (LSL) 143* CharlieO (LSL)
144* Ckrinke 144* Ckrinke
145* openlifegrid.com 145* openlifegrid.com
146 146
147 147
148This software uses components from the following developers: 148This software uses components from the following developers:
149* Sleepycat Software (Berkeley DB) 149* Sleepycat Software (Berkeley DB)
150* SQLite (Public Domain) 150* SQLite (Public Domain)
151* XmlRpcCS (http://xmlrpccs.sf.net/) 151* XmlRpcCS (http://xmlrpccs.sf.net/)
152* MySQL, Inc. (MySQL Connector/NET) 152* MySQL, Inc. (MySQL Connector/NET)
153* NUnit (http://www.nunit.org) 153* NUnit (http://www.nunit.org)
154* AGEIA Inc. (PhysX) 154* AGEIA Inc. (PhysX)
155* Russel L. Smith (ODE) 155* Russel L. Smith (ODE)
156* Prebuild (http://sourceforge.net/projects/dnpb/) 156* Prebuild (http://sourceforge.net/projects/dnpb/)
157* LibOpenMetaverse (http://lib.openmetaverse.org/) 157* LibOpenMetaverse (http://lib.openmetaverse.org/)
158* DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net) 158* DotNetOpenMail v0.5.8b (http://dotnetopenmail.sourceforge.net)
159* Prototype JavaScript Framework ajax (http://www.prototypejs.org/) 159* Prototype JavaScript Framework ajax (http://www.prototypejs.org/)
160* C5 GENERIC COLLECTION LIBRARY FOR C#/CLI 160* C5 GENERIC COLLECTION LIBRARY FOR C#/CLI
161* Nini (http://nini.sourceforge.net/) 161* Nini (http://nini.sourceforge.net/)
162* log4net (http://logging.apache.org/log4net/) 162* log4net (http://logging.apache.org/log4net/)
163* GlynnTucker.Cache (http://gtcache.sourceforge.net/) 163* GlynnTucker.Cache (http://gtcache.sourceforge.net/)
164* NDesk.Options 0.2.1 (http://www.ndesk.org/Options) 164* NDesk.Options 0.2.1 (http://www.ndesk.org/Options)
165 165
166Some plugins are based on Cable Beach 166Some plugins are based on Cable Beach
167Cable Beach is Copyright (c) 2008 Intel Corporation 167Cable Beach is Copyright (c) 2008 Intel Corporation
168see http://forge.opensimulator.org/gf/project/assetserver/ 168see http://forge.opensimulator.org/gf/project/assetserver/
169 169
170In addition, we would like to thank: 170In addition, we would like to thank:
171* The Mono Project 171* The Mono Project
172* The NANT Developers 172* The NANT Developers
173* Microsoft (.NET, MSSQL-Adapters) 173* Microsoft (.NET, MSSQL-Adapters)
diff --git a/OpenSim/Data/MySQL/MySQLInventoryData.cs b/OpenSim/Data/MySQL/MySQLInventoryData.cs
index 0ea0cb7..d560c5f 100644
--- a/OpenSim/Data/MySQL/MySQLInventoryData.cs
+++ b/OpenSim/Data/MySQL/MySQLInventoryData.cs
@@ -91,6 +91,9 @@ namespace OpenSim.Data.MySQL
91 rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true"; 91 rollbackStore = GridDataMySqlFile.ParseFileReadValue("rollback") == "true";
92 opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true"; 92 opengridmode = GridDataMySqlFile.ParseFileReadValue("opengridmode") == "true";
93 93
94 if(rollbackStore)
95 m_log.Warn("[MysqlInventory] Enabling rollback mode in: " + rollbackDir);
96
94 database = 97 database =
95 new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling, 98 new MySQLManager(settingHostname, settingDatabase, settingUsername, settingPassword, settingPooling,
96 settingPort); 99 settingPort);
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs
index b5e2872..58a0d77 100644
--- a/OpenSim/Framework/Util.cs
+++ b/OpenSim/Framework/Util.cs
@@ -1007,6 +1007,26 @@ namespace OpenSim.Framework
1007 return os; 1007 return os;
1008 } 1008 }
1009 1009
1010 public static string GetRuntimeInformation()
1011 {
1012 string ru = String.Empty;
1013
1014 if (Environment.OSVersion.Platform == PlatformID.Unix)
1015 ru = "Unix/Mono";
1016 else
1017 if (Environment.OSVersion.Platform == PlatformID.MacOSX)
1018 ru = "OSX/Mono";
1019 else
1020 {
1021 if (Type.GetType("Mono.Runtime") != null)
1022 ru = "Win/Mono";
1023 else
1024 ru = "Win/.NET";
1025 }
1026
1027 return ru;
1028 }
1029
1010 /// <summary> 1030 /// <summary>
1011 /// Is the given string a UUID? 1031 /// Is the given string a UUID?
1012 /// </summary> 1032 /// </summary>
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 2b5e632..e7ce2e0 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -332,7 +332,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
332 private AgentUpdateArgs lastarg; 332 private AgentUpdateArgs lastarg;
333 private bool m_IsActive = true; 333 private bool m_IsActive = true;
334 334
335 protected Dictionary<PacketType, PacketMethod> m_packetHandlers = new Dictionary<PacketType, PacketMethod>(); 335 protected Dictionary<PacketType, PacketProcessor> m_packetHandlers = new Dictionary<PacketType, PacketProcessor>();
336 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers 336 protected Dictionary<string, GenericMessage> m_genericPacketHandlers = new Dictionary<string, GenericMessage>(); //PauPaw:Local Generic Message handlers
337 protected Scene m_scene; 337 protected Scene m_scene;
338 protected LLImageManager m_imageManager; 338 protected LLImageManager m_imageManager;
@@ -540,12 +540,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
540 540
541 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler) 541 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler)
542 { 542 {
543 return AddLocalPacketHandler(packetType, handler, true);
544 }
545
546 public bool AddLocalPacketHandler(PacketType packetType, PacketMethod handler, bool async)
547 {
543 bool result = false; 548 bool result = false;
544 lock (m_packetHandlers) 549 lock (m_packetHandlers)
545 { 550 {
546 if (!m_packetHandlers.ContainsKey(packetType)) 551 if (!m_packetHandlers.ContainsKey(packetType))
547 { 552 {
548 m_packetHandlers.Add(packetType, handler); 553 m_packetHandlers.Add(packetType, new PacketProcessor() { method = handler, Async = async });
549 result = true; 554 result = true;
550 } 555 }
551 } 556 }
@@ -576,15 +581,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
576 protected virtual bool ProcessPacketMethod(Packet packet) 581 protected virtual bool ProcessPacketMethod(Packet packet)
577 { 582 {
578 bool result = false; 583 bool result = false;
579 PacketMethod method; 584 PacketProcessor pprocessor;
580 if (m_packetHandlers.TryGetValue(packet.Type, out method)) 585 if (m_packetHandlers.TryGetValue(packet.Type, out pprocessor))
581 { 586 {
582 //there is a local handler for this packet type 587 //there is a local handler for this packet type
583 result = method(this, packet); 588 if (pprocessor.Async)
589 {
590 object obj = new AsyncPacketProcess(this, pprocessor.method, packet);
591 Util.FireAndForget(ProcessSpecificPacketAsync,obj);
592 result = true;
593 }
594 else
595 {
596 result = pprocessor.method(this, packet);
597 }
584 } 598 }
585 else 599 else
586 { 600 {
587 //there is not a local handler so see if there is a Global handler 601 //there is not a local handler so see if there is a Global handler
602 PacketMethod method = null;
588 bool found; 603 bool found;
589 lock (PacketHandlers) 604 lock (PacketHandlers)
590 { 605 {
@@ -598,6 +613,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
598 return result; 613 return result;
599 } 614 }
600 615
616 public void ProcessSpecificPacketAsync(object state)
617 {
618 AsyncPacketProcess packetObject = (AsyncPacketProcess)state;
619 packetObject.result = packetObject.Method(packetObject.ClientView, packetObject.Pack);
620
621 }
622
601 #endregion Packet Handling 623 #endregion Packet Handling
602 624
603 # region Setup 625 # region Setup
@@ -4323,20 +4345,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4323 protected virtual void RegisterLocalPacketHandlers() 4345 protected virtual void RegisterLocalPacketHandlers()
4324 { 4346 {
4325 AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout); 4347 AddLocalPacketHandler(PacketType.LogoutRequest, HandleLogout);
4326 AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate); 4348 AddLocalPacketHandler(PacketType.AgentUpdate, HandleAgentUpdate, false);
4327 AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect); 4349 AddLocalPacketHandler(PacketType.ViewerEffect, HandleViewerEffect, false);
4328 AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached); 4350 AddLocalPacketHandler(PacketType.AgentCachedTexture, HandleAgentTextureCached, false);
4329 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate); 4351 AddLocalPacketHandler(PacketType.MultipleObjectUpdate, HandleMultipleObjUpdate, false);
4330 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest); 4352 AddLocalPacketHandler(PacketType.MoneyTransferRequest, HandleMoneyTransferRequest, false);
4331 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest); 4353 AddLocalPacketHandler(PacketType.ParcelBuy, HandleParcelBuyRequest, false);
4332 AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest); 4354 AddLocalPacketHandler(PacketType.UUIDGroupNameRequest, HandleUUIDGroupNameRequest, false);
4333 AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest); 4355 AddLocalPacketHandler(PacketType.ObjectGroup, HandleObjectGroupRequest, false);
4334 AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage); 4356 AddLocalPacketHandler(PacketType.GenericMessage, HandleGenericMessage);
4335 AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest); 4357 AddLocalPacketHandler(PacketType.AvatarPropertiesRequest, HandleAvatarPropertiesRequest);
4336 AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer); 4358 AddLocalPacketHandler(PacketType.ChatFromViewer, HandleChatFromViewer);
4337 AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate); 4359 AddLocalPacketHandler(PacketType.AvatarPropertiesUpdate, HandlerAvatarPropertiesUpdate);
4338 AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply); 4360 AddLocalPacketHandler(PacketType.ScriptDialogReply, HandlerScriptDialogReply);
4339 AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage); 4361 AddLocalPacketHandler(PacketType.ImprovedInstantMessage, HandlerImprovedInstantMessage, false);
4340 AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship); 4362 AddLocalPacketHandler(PacketType.AcceptFriendship, HandlerAcceptFriendship);
4341 AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship); 4363 AddLocalPacketHandler(PacketType.DeclineFriendship, HandlerDeclineFriendship);
4342 AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship); 4364 AddLocalPacketHandler(PacketType.TerminateFriendship, HandlerTerminateFrendship);
@@ -4353,9 +4375,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4353 AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach); 4375 AddLocalPacketHandler(PacketType.ObjectAttach, HandleObjectAttach);
4354 AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach); 4376 AddLocalPacketHandler(PacketType.ObjectDetach, HandleObjectDetach);
4355 AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop); 4377 AddLocalPacketHandler(PacketType.ObjectDrop, HandleObjectDrop);
4356 AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun); 4378 AddLocalPacketHandler(PacketType.SetAlwaysRun, HandleSetAlwaysRun, false);
4357 AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement); 4379 AddLocalPacketHandler(PacketType.CompleteAgentMovement, HandleCompleteAgentMovement);
4358 AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation); 4380 AddLocalPacketHandler(PacketType.AgentAnimation, HandleAgentAnimation, false);
4359 AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit); 4381 AddLocalPacketHandler(PacketType.AgentRequestSit, HandleAgentRequestSit);
4360 AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit); 4382 AddLocalPacketHandler(PacketType.AgentSit, HandleAgentSit);
4361 AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger); 4383 AddLocalPacketHandler(PacketType.SoundTrigger, HandleSoundTrigger);
@@ -4364,9 +4386,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4364 AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest); 4386 AddLocalPacketHandler(PacketType.UserInfoRequest, HandleUserInfoRequest);
4365 AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo); 4387 AddLocalPacketHandler(PacketType.UpdateUserInfo, HandleUpdateUserInfo);
4366 AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest); 4388 AddLocalPacketHandler(PacketType.SetStartLocationRequest, HandleSetStartLocationRequest);
4367 AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle); 4389 AddLocalPacketHandler(PacketType.AgentThrottle, HandleAgentThrottle, false);
4368 AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause); 4390 AddLocalPacketHandler(PacketType.AgentPause, HandleAgentPause, false);
4369 AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume); 4391 AddLocalPacketHandler(PacketType.AgentResume, HandleAgentResume, false);
4370 AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease); 4392 AddLocalPacketHandler(PacketType.ForceScriptControlRelease, HandleForceScriptControlRelease);
4371 AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink); 4393 AddLocalPacketHandler(PacketType.ObjectLink, HandleObjectLink);
4372 AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink); 4394 AddLocalPacketHandler(PacketType.ObjectDelink, HandleObjectDelink);
@@ -4382,22 +4404,22 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4382 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation); 4404 AddLocalPacketHandler(PacketType.ObjectRotation, HandleObjectRotation);
4383 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate); 4405 AddLocalPacketHandler(PacketType.ObjectFlagUpdate, HandleObjectFlagUpdate);
4384 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage); 4406 AddLocalPacketHandler(PacketType.ObjectImage, HandleObjectImage);
4385 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab); 4407 AddLocalPacketHandler(PacketType.ObjectGrab, HandleObjectGrab, false);
4386 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate); 4408 AddLocalPacketHandler(PacketType.ObjectGrabUpdate, HandleObjectGrabUpdate, false);
4387 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab); 4409 AddLocalPacketHandler(PacketType.ObjectDeGrab, HandleObjectDeGrab);
4388 AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart); 4410 AddLocalPacketHandler(PacketType.ObjectSpinStart, HandleObjectSpinStart, false);
4389 AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate); 4411 AddLocalPacketHandler(PacketType.ObjectSpinUpdate, HandleObjectSpinUpdate, false);
4390 AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop); 4412 AddLocalPacketHandler(PacketType.ObjectSpinStop, HandleObjectSpinStop, false);
4391 AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription); 4413 AddLocalPacketHandler(PacketType.ObjectDescription, HandleObjectDescription, false);
4392 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName); 4414 AddLocalPacketHandler(PacketType.ObjectName, HandleObjectName, false);
4393 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions); 4415 AddLocalPacketHandler(PacketType.ObjectPermissions, HandleObjectPermissions, false);
4394 AddLocalPacketHandler(PacketType.Undo, HandleUndo); 4416 AddLocalPacketHandler(PacketType.Undo, HandleUndo, false);
4395 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay); 4417 AddLocalPacketHandler(PacketType.ObjectDuplicateOnRay, HandleObjectDuplicateOnRay);
4396 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily); 4418 AddLocalPacketHandler(PacketType.RequestObjectPropertiesFamily, HandleRequestObjectPropertiesFamily, false);
4397 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch); 4419 AddLocalPacketHandler(PacketType.ObjectIncludeInSearch, HandleObjectIncludeInSearch);
4398 AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes); 4420 AddLocalPacketHandler(PacketType.ScriptAnswerYes, HandleScriptAnswerYes, false);
4399 AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction); 4421 AddLocalPacketHandler(PacketType.ObjectClickAction, HandleObjectClickAction, false);
4400 AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial); 4422 AddLocalPacketHandler(PacketType.ObjectMaterial, HandleObjectMaterial, false);
4401 AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage); 4423 AddLocalPacketHandler(PacketType.RequestImage, HandleRequestImage);
4402 AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest); 4424 AddLocalPacketHandler(PacketType.TransferRequest, HandleTransferRequest);
4403 AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest); 4425 AddLocalPacketHandler(PacketType.AssetUploadRequest, HandleAssetUploadRequest);
@@ -4423,17 +4445,17 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4423 AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory); 4445 AddLocalPacketHandler(PacketType.RemoveTaskInventory, HandleRemoveTaskInventory);
4424 AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory); 4446 AddLocalPacketHandler(PacketType.MoveTaskInventory, HandleMoveTaskInventory);
4425 AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); 4447 AddLocalPacketHandler(PacketType.RezScript, HandleRezScript);
4426 AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest); 4448 AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false);
4427 AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest); 4449 AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false);
4428 AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest); 4450 AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false);
4429 AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); 4451 AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest);
4430 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); 4452 AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest);
4431 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest); 4453 AddLocalPacketHandler(PacketType.UUIDNameRequest, HandleUUIDNameRequest, false);
4432 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest); 4454 AddLocalPacketHandler(PacketType.RegionHandleRequest, HandleRegionHandleRequest);
4433 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest); 4455 AddLocalPacketHandler(PacketType.ParcelInfoRequest, HandleParcelInfoRequest, false);
4434 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest); 4456 AddLocalPacketHandler(PacketType.ParcelAccessListRequest, HandleParcelAccessListRequest, false);
4435 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate); 4457 AddLocalPacketHandler(PacketType.ParcelAccessListUpdate, HandleParcelAccessListUpdate, false);
4436 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest); 4458 AddLocalPacketHandler(PacketType.ParcelPropertiesRequest, HandleParcelPropertiesRequest, false);
4437 AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide); 4459 AddLocalPacketHandler(PacketType.ParcelDivide, HandleParcelDivide);
4438 AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin); 4460 AddLocalPacketHandler(PacketType.ParcelJoin, HandleParcelJoin);
4439 AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate); 4461 AddLocalPacketHandler(PacketType.ParcelPropertiesUpdate, HandleParcelPropertiesUpdate);
@@ -4447,7 +4469,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4447 AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest); 4469 AddLocalPacketHandler(PacketType.LandStatRequest, HandleLandStatRequest);
4448 AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest); 4470 AddLocalPacketHandler(PacketType.ParcelDwellRequest, HandleParcelDwellRequest);
4449 AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage); 4471 AddLocalPacketHandler(PacketType.EstateOwnerMessage, HandleEstateOwnerMessage);
4450 AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo); 4472 AddLocalPacketHandler(PacketType.RequestRegionInfo, HandleRequestRegionInfo, false);
4451 AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest); 4473 AddLocalPacketHandler(PacketType.EstateCovenantRequest, HandleEstateCovenantRequest);
4452 AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers); 4474 AddLocalPacketHandler(PacketType.RequestGodlikePowers, HandleRequestGodlikePowers);
4453 AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser); 4475 AddLocalPacketHandler(PacketType.GodKickUser, HandleGodKickUser);
@@ -4462,13 +4484,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4462 AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures); 4484 AddLocalPacketHandler(PacketType.ActivateGestures, HandleActivateGestures);
4463 AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures); 4485 AddLocalPacketHandler(PacketType.DeactivateGestures, HandleDeactivateGestures);
4464 AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner); 4486 AddLocalPacketHandler(PacketType.ObjectOwner, HandleObjectOwner);
4465 AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV); 4487 AddLocalPacketHandler(PacketType.AgentFOV, HandleAgentFOV, false);
4466 AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats); 4488 AddLocalPacketHandler(PacketType.ViewerStats, HandleViewerStats);
4467 AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest); 4489 AddLocalPacketHandler(PacketType.MapItemRequest, HandleMapItemRequest, false);
4468 AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort); 4490 AddLocalPacketHandler(PacketType.TransferAbort, HandleTransferAbort, false);
4469 AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest); 4491 AddLocalPacketHandler(PacketType.MuteListRequest, HandleMuteListRequest, false);
4470 AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode); 4492 AddLocalPacketHandler(PacketType.UseCircuitCode, HandleUseCircuitCode);
4471 AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth); 4493 AddLocalPacketHandler(PacketType.AgentHeightWidth, HandleAgentHeightWidth, false);
4472 AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents); 4494 AddLocalPacketHandler(PacketType.InventoryDescendents, HandleInventoryDescendents);
4473 AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery); 4495 AddLocalPacketHandler(PacketType.DirPlacesQuery, HandleDirPlacesQuery);
4474 AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery); 4496 AddLocalPacketHandler(PacketType.DirFindQuery, HandleDirFindQuery);
@@ -15740,6 +15762,26 @@ namespace OpenSim.Region.ClientStack.LindenUDP
15740 } 15762 }
15741 #endregion 15763 #endregion
15742 } 15764 }
15765
15766 public struct PacketProcessor
15767 {
15768 public PacketMethod method;
15769 public bool Async;
15770 }
15771 public class AsyncPacketProcess
15772 {
15773 public bool result = false;
15774 public readonly LLClientView ClientView = null;
15775 public readonly Packet Pack = null;
15776 public readonly PacketMethod Method = null;
15777 public AsyncPacketProcess(LLClientView pClientview, PacketMethod pMethod, Packet pPack)
15778 {
15779 ClientView = pClientview;
15780 Method = pMethod;
15781 Pack = pPack;
15782 }
15783 }
15784
15743 #endregion 15785 #endregion
15744 15786
15745 public static OSD BuildEvent(string eventName, OSD eventBody) 15787 public static OSD BuildEvent(string eventName, OSD eventBody)
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index 85961b9..4d9f58f 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -964,7 +964,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
964 } 964 }
965 965
966 if (packetInbox.Dequeue(100, ref incomingPacket)) 966 if (packetInbox.Dequeue(100, ref incomingPacket))
967 Util.FireAndForget(ProcessInPacket, incomingPacket); 967 ProcessInPacket(incomingPacket);//, incomingPacket); Util.FireAndForget(ProcessInPacket, incomingPacket);
968 } 968 }
969 catch (Exception ex) 969 catch (Exception ex)
970 { 970 {
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index 1b275b0..104d22b 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -576,10 +576,15 @@ namespace OpenSim.Region.Framework.Scenes
576 576
577 StatsReporter.SetObjectCapacity(objectCapacity); 577 StatsReporter.SetObjectCapacity(objectCapacity);
578 578
579 // Old
580 /*
579 m_simulatorVersion = simulatorVersion 581 m_simulatorVersion = simulatorVersion
580 + " (OS " + Util.GetOperatingSystemInformation() + ")" 582 + " (OS " + Util.GetOperatingSystemInformation() + ")"
581 + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString() 583 + " ChilTasks:" + m_seeIntoRegionFromNeighbor.ToString()
582 + " PhysPrim:" + m_physicalPrim.ToString(); 584 + " PhysPrim:" + m_physicalPrim.ToString();
585 */
586
587 m_simulatorVersion = simulatorVersion + " (" + Util.GetRuntimeInformation() + ")";
583 588
584 try 589 try
585 { 590 {
@@ -915,7 +920,7 @@ namespace OpenSim.Region.Framework.Scenes
915 if (showDialog) 920 if (showDialog)
916 { 921 {
917 m_dialogModule.SendNotificationToUsersInRegion( 922 m_dialogModule.SendNotificationToUsersInRegion(
918 UUID.Random(), String.Empty, RegionInfo.RegionName + ": Restarting in " + (seconds / 60).ToString() + " Minutes"); 923 UUID.Random(), String.Empty, RegionInfo.RegionName + String.Format(": Restarting in {0} Minutes", (int)(seconds / 60.0)));
919 } 924 }
920 } 925 }
921 } 926 }
@@ -946,6 +951,16 @@ namespace OpenSim.Region.Framework.Scenes
946 // This causes the region to restart immediatley. 951 // This causes the region to restart immediatley.
947 public void RestartNow() 952 public void RestartNow()
948 { 953 {
954 IConfig startupConfig = m_config.Configs["Startup"];
955 if (startupConfig != null)
956 {
957 if (startupConfig.GetBoolean("InworldRestartShutsDown", false))
958 {
959 MainConsole.Instance.RunCommand("shutdown");
960 return;
961 }
962 }
963
949 if (PhysicsScene != null) 964 if (PhysicsScene != null)
950 { 965 {
951 PhysicsScene.Dispose(); 966 PhysicsScene.Dispose();
@@ -953,6 +968,7 @@ namespace OpenSim.Region.Framework.Scenes
953 968
954 m_log.Error("[REGION]: Closing"); 969 m_log.Error("[REGION]: Closing");
955 Close(); 970 Close();
971
956 m_log.Error("[REGION]: Firing Region Restart Message"); 972 m_log.Error("[REGION]: Firing Region Restart Message");
957 base.Restart(0); 973 base.Restart(0);
958 } 974 }
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
index 836f276..d7480e6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs
@@ -1973,5 +1973,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
1973 } 1973 }
1974 return ret; 1974 return ret;
1975 } 1975 }
1976
1977 public int osGetSimulatorMemory()
1978 {
1979 CheckThreatLevel(ThreatLevel.Moderate, "osGetSimulatorMemory");
1980 m_host.AddScriptLPS(1);
1981 long pws = System.Diagnostics.Process.GetCurrentProcess().WorkingSet64;
1982
1983 if (pws > Int32.MaxValue)
1984 return Int32.MaxValue;
1985 if (pws < 0)
1986 return 0;
1987
1988 return (int)pws;
1989 }
1976 } 1990 }
1977} 1991}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
index c3bf7d2..d943b59 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs
@@ -163,5 +163,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces
163 key osGetMapTexture(); 163 key osGetMapTexture();
164 key osGetRegionMapTexture(string regionName); 164 key osGetRegionMapTexture(string regionName);
165 LSL_List osGetRegionStats(); 165 LSL_List osGetRegionStats();
166
167 int osGetSimulatorMemory();
166 } 168 }
167} 169}
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
index 519463e..2876ad6 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs
@@ -637,5 +637,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase
637 { 637 {
638 return m_OSSL_Functions.osGetRegionStats(); 638 return m_OSSL_Functions.osGetRegionStats();
639 } 639 }
640
641 /// <summary>
642 /// Returns the amount of memory in use by the Simulator Daemon.
643 /// Amount in bytes - if >= 4GB, returns 4GB. (LSL is not 64-bit aware)
644 /// </summary>
645 /// <returns></returns>
646 public LSL_Integer osGetSimulatorMemory()
647 {
648 return m_OSSL_Functions.osGetSimulatorMemory();
649 }
640 } 650 }
641} 651}
diff --git a/bin/OpenSim.ini.example b/bin/OpenSim.ini.example
index 04cf8e8..af9632e 100644
--- a/bin/OpenSim.ini.example
+++ b/bin/OpenSim.ini.example
@@ -107,7 +107,15 @@
107 ; Combine all contiguous regions into one large region 107 ; Combine all contiguous regions into one large region
108 ; Order your regions from South to North, West to East in your regions.ini and then set this to true 108 ; Order your regions from South to North, West to East in your regions.ini and then set this to true
109 ; Warning! Don't use this with regions that have existing content!, This will likely break them 109 ; Warning! Don't use this with regions that have existing content!, This will likely break them
110 CombineContiguousRegions=false 110 CombineContiguousRegions = false
111
112 ; If you have only one region in an instance, or to avoid the many bugs
113 ; that you can trigger in modules by restarting a region, set this to
114 ; true to make the entire instance exit instead of restarting the region.
115 ; This is meant to be used on systems where some external system like
116 ; Monit will restart any instance that exits, thereby making the shutdown
117 ; into a restart.
118 ;InworldRestartShutsDown = false
111 119
112 ; ## 120 ; ##
113 ; ## STORAGE 121 ; ## STORAGE