* Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console.

afrisby
Teravus Ovares 2007-11-24 00:19:48 +00:00
parent 51d4d88985
commit d7ec786244
5 changed files with 60 additions and 3 deletions

View File

@ -461,6 +461,7 @@ namespace OpenSim
/// </summary>
public virtual void Shutdown()
{
if (m_startupCommandsFile != "")
{
RunCommandScript(m_shutdownCommandsFile);

View File

@ -1065,6 +1065,47 @@ namespace OpenSim.Region.ClientStack
#endregion
#region unimplemented handlers
case PacketType.RequestGodlikePowers:
//RequestGodlikePowersPacket rglpPack = (RequestGodlikePowersPacket) Pack;
//RequestGodlikePowersPacket.RequestBlockBlock rblock = rglpPack.RequestBlock;
//LLUUID token = rblock.Token;
//RequestGodlikePowersPacket.AgentDataBlock ablock = rglpPack.AgentData;
//GrantGodlikePowersPacket respondPacket = new GrantGodlikePowersPacket();
//GrantGodlikePowersPacket.GrantDataBlock gdb = new GrantGodlikePowersPacket.GrantDataBlock();
//GrantGodlikePowersPacket.AgentDataBlock adb = new GrantGodlikePowersPacket.AgentDataBlock();
//adb.AgentID = ablock.AgentID;
//adb.SessionID = ablock.SessionID;
//gdb.GodLevel = (byte)100;
//gdb.Token = token;
//respondPacket.AgentData = (GrantGodlikePowersPacket.AgentDataBlock)ablock;
//respondPacket.GrantData = gdb;
//respondPacket.AgentData = adb;
//OutPacket(respondPacket, ThrottleOutPacketType.Task);
break;
case PacketType.GodKickUser:
//GodKickUserPacket gkupack = (GodKickUserPacket) Pack;
//gkupack.UserInfo.GodID;
//gkupack.UserInfo.AgentID;
//gkupack.UserInfo.KickFlags;
//gkupack.UserInfo.Reason;
//KickUserPacket kupack = new KickUserPacket();
//KickUserPacket.UserInfoBlock kupackib = kupack.UserInfo;
//kupack.UserInfo.AgentID = gkupack.UserInfo.AgentID;
//kupack.UserInfo.SessionID = gkupack.UserInfo.GodSessionID;
//kupack.TargetBlock.TargetIP = (uint)0;
//kupack.TargetBlock.TargetPort = (ushort)0;
//kupack.UserInfo.Reason = gkupack.UserInfo.Reason;
//OutPacket(kupack, ThrottleOutPacketType.Task);
break;
case PacketType.StartPingCheck:
// Send the client the ping response back
// Pass the same PingID in the matching packet

View File

@ -257,6 +257,7 @@ namespace OpenSim.Region.Environment.Scenes
{
ForEachScenePresence(delegate(ScenePresence avatar)
{
avatar.Kick("The region is going down.");
avatar.ControllingClient.Stop();
});

View File

@ -1219,6 +1219,20 @@ namespace OpenSim.Region.Environment.Scenes
#endregion
public void Kick(string message)
{
KickUserPacket kupack = new KickUserPacket();
KickUserPacket.UserInfoBlock kupackib = kupack.UserInfo;
kupack.UserInfo.AgentID = UUID;
kupack.UserInfo.SessionID = this.ControllingClient.SessionId;
kupack.TargetBlock.TargetIP = (uint)0;
kupack.TargetBlock.TargetPort = (ushort)0;
kupack.UserInfo.Reason = Helpers.StringToField(message);
ControllingClient.OutPacket(kupack, ThrottleOutPacketType.Task);
}
/// <summary>
///
/// </summary>