diff options
author | Teravus Ovares | 2007-11-24 00:19:48 +0000 |
---|---|---|
committer | Teravus Ovares | 2007-11-24 00:19:48 +0000 |
commit | d7ec786244cce8b856233090349d85b4aec76206 (patch) | |
tree | 78c24962ce09c5108f63fb31cba91eb4d9fed698 /OpenSim/Region | |
parent | *Fixed bug causing parcel prim counts to stop updating. (diff) | |
download | opensim-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.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.ProcessPackets.cs | 41 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/Scene.cs | 3 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneManager.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/Environment/Scenes/ScenePresence.cs | 14 |
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> |