aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-24 00:19:48 +0000
committerTeravus Ovares2007-11-24 00:19:48 +0000
commitd7ec786244cce8b856233090349d85b4aec76206 (patch)
tree78c24962ce09c5108f63fb31cba91eb4d9fed698 /OpenSim/Region
parent*Fixed bug causing parcel prim counts to stop updating. (diff)
downloadopensim-SC-d7ec786244cce8b856233090349d85b4aec76206.zip
opensim-SC-d7ec786244cce8b856233090349d85b4aec76206.tar.gz
opensim-SC-d7ec786244cce8b856233090349d85b4aec76206.tar.bz2
opensim-SC-d7ec786244cce8b856233090349d85b4aec76206.tar.xz
* Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console.
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/Application/OpenSimMain.cs3
-rw-r--r--OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs41
-rw-r--r--OpenSim/Region/Environment/Scenes/Scene.cs3
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneManager.cs2
-rw-r--r--OpenSim/Region/Environment/Scenes/ScenePresence.cs14
5 files changed, 60 insertions, 3 deletions
diff --git a/OpenSim/Region/Application/OpenSimMain.cs b/OpenSim/Region/Application/OpenSimMain.cs
index cae0b41..fd8b941 100644
--- a/OpenSim/Region/Application/OpenSimMain.cs
+++ b/OpenSim/Region/Application/OpenSimMain.cs
@@ -461,11 +461,12 @@ namespace OpenSim
461 /// </summary> 461 /// </summary>
462 public virtual void Shutdown() 462 public virtual void Shutdown()
463 { 463 {
464
464 if (m_startupCommandsFile != "") 465 if (m_startupCommandsFile != "")
465 { 466 {
466 RunCommandScript(m_shutdownCommandsFile); 467 RunCommandScript(m_shutdownCommandsFile);
467 } 468 }
468 469
469 m_log.Verbose("SHUTDOWN", "Closing all threads"); 470 m_log.Verbose("SHUTDOWN", "Closing all threads");
470 m_log.Verbose("SHUTDOWN", "Killing listener thread"); 471 m_log.Verbose("SHUTDOWN", "Killing listener thread");
471 m_log.Verbose("SHUTDOWN", "Killing clients"); 472 m_log.Verbose("SHUTDOWN", "Killing clients");
diff --git a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
index 8c4dba6..64f5b6d 100644
--- a/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
+++ b/OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs
@@ -1065,6 +1065,47 @@ namespace OpenSim.Region.ClientStack
1065 #endregion 1065 #endregion
1066 1066
1067 #region unimplemented handlers 1067 #region unimplemented handlers
1068 case PacketType.RequestGodlikePowers:
1069 //RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket) Pack;
1070 //RequestGodlikePowersPacket.RequestBlockBlock rblock = rglpPack.RequestBlock;
1071 //LLUUID token = rblock.Token;
1072 //RequestGodlikePowersPacket.AgentDataBlock ablock = rglpPack.AgentData;
1073
1074
1075 //GrantGodlikePowersPacket respondPacket = new GrantGodlikePowersPacket();
1076 //GrantGodlikePowersPacket.GrantDataBlock gdb = new GrantGodlikePowersPacket.GrantDataBlock();
1077 //GrantGodlikePowersPacket.AgentDataBlock adb = new GrantGodlikePowersPacket.AgentDataBlock();
1078
1079 //adb.AgentID = ablock.AgentID;
1080 //adb.SessionID = ablock.SessionID;
1081
1082 //gdb.GodLevel = (byte)100;
1083 //gdb.Token = token;
1084 //respondPacket.AgentData = (GrantGodlikePowersPacket.AgentDataBlock)ablock;
1085 //respondPacket.GrantData = gdb;
1086 //respondPacket.AgentData = adb;
1087 //OutPacket(respondPacket, ThrottleOutPacketType.Task);
1088 break;
1089 case PacketType.GodKickUser:
1090 //GodKickUserPacket gkupack = (GodKickUserPacket) Pack;
1091 //gkupack.UserInfo.GodID;
1092 //gkupack.UserInfo.AgentID;
1093 //gkupack.UserInfo.KickFlags;
1094 //gkupack.UserInfo.Reason;
1095 //KickUserPacket kupack = new KickUserPacket();
1096 //KickUserPacket.UserInfoBlock kupackib = kupack.UserInfo;
1097
1098 //kupack.UserInfo.AgentID = gkupack.UserInfo.AgentID;
1099 //kupack.UserInfo.SessionID = gkupack.UserInfo.GodSessionID;
1100
1101 //kupack.TargetBlock.TargetIP = (uint)0;
1102 //kupack.TargetBlock.TargetPort = (ushort)0;
1103 //kupack.UserInfo.Reason = gkupack.UserInfo.Reason;
1104
1105
1106 //OutPacket(kupack, ThrottleOutPacketType.Task);
1107 break;
1108
1068 case PacketType.StartPingCheck: 1109 case PacketType.StartPingCheck:
1069 // Send the client the ping response back 1110 // Send the client the ping response back
1070 // Pass the same PingID in the matching packet 1111 // Pass the same PingID in the matching packet
diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index ea3283d..7bcd7bd 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -257,6 +257,7 @@ namespace OpenSim.Region.Environment.Scenes
257 { 257 {
258 ForEachScenePresence(delegate(ScenePresence avatar) 258 ForEachScenePresence(delegate(ScenePresence avatar)
259 { 259 {
260 avatar.Kick("The region is going down.");
260 avatar.ControllingClient.Stop(); 261 avatar.ControllingClient.Stop();
261 }); 262 });
262 263
@@ -638,7 +639,7 @@ namespace OpenSim.Region.Environment.Scenes
638 { 639 {
639 640
640 // What we're *supposed* to do is raytrace from the camera position given by the client to the nearest collision 641 // What we're *supposed* to do is raytrace from the camera position given by the client to the nearest collision
641 // in the direction the client supplies (the ground level that we clicked) 642 // in the direction the client supplies (the ground level that we clicked)
642 // This function is pretty crappy right now.. so we're not affecting where the newly rezzed objects go 643 // This function is pretty crappy right now.. so we're not affecting where the newly rezzed objects go
643 // Test it if you like. The console will write where it guesses a collision took place. if it thinks one did. 644 // Test it if you like. The console will write where it guesses a collision took place. if it thinks one did.
644 // It's wrong many times though. 645 // It's wrong many times though.
diff --git a/OpenSim/Region/Environment/Scenes/SceneManager.cs b/OpenSim/Region/Environment/Scenes/SceneManager.cs
index da553bc..e71d946 100644
--- a/OpenSim/Region/Environment/Scenes/SceneManager.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneManager.cs
@@ -144,7 +144,7 @@ namespace OpenSim.Region.Environment.Scenes
144 { 144 {
145 ForEachCurrentScene(delegate(Scene scene) { scene.Backup(); }); 145 ForEachCurrentScene(delegate(Scene scene) { scene.Backup(); });
146 } 146 }
147 147
148 public void HandleAlertCommandOnCurrentScene(string[] cmdparams) 148 public void HandleAlertCommandOnCurrentScene(string[] cmdparams)
149 { 149 {
150 ForEachCurrentScene(delegate(Scene scene) { scene.HandleAlertCommand(cmdparams); }); 150 ForEachCurrentScene(delegate(Scene scene) { scene.HandleAlertCommand(cmdparams); });
diff --git a/OpenSim/Region/Environment/Scenes/ScenePresence.cs b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
index 850d3a4..0cc3a7e 100644
--- a/OpenSim/Region/Environment/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Environment/Scenes/ScenePresence.cs
@@ -1219,6 +1219,20 @@ namespace OpenSim.Region.Environment.Scenes
1219 1219
1220 #endregion 1220 #endregion
1221 1221
1222 public void Kick(string message)
1223 {
1224 KickUserPacket kupack = new KickUserPacket();
1225 KickUserPacket.UserInfoBlock kupackib = kupack.UserInfo;
1226
1227 kupack.UserInfo.AgentID = UUID;
1228 kupack.UserInfo.SessionID = this.ControllingClient.SessionId;
1229
1230 kupack.TargetBlock.TargetIP = (uint)0;
1231 kupack.TargetBlock.TargetPort = (ushort)0;
1232 kupack.UserInfo.Reason = Helpers.StringToField(message);
1233 ControllingClient.OutPacket(kupack, ThrottleOutPacketType.Task);
1234
1235 }
1222 /// <summary> 1236 /// <summary>
1223 /// 1237 ///
1224 /// </summary> 1238 /// </summary>