* Added a nice 'The Region is going down.' message to the user when the sim owner issues 'shutdown' on the console.
parent
51d4d88985
commit
d7ec786244
|
@ -461,11 +461,12 @@ namespace OpenSim
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public virtual void Shutdown()
|
public virtual void Shutdown()
|
||||||
{
|
{
|
||||||
|
|
||||||
if (m_startupCommandsFile != "")
|
if (m_startupCommandsFile != "")
|
||||||
{
|
{
|
||||||
RunCommandScript(m_shutdownCommandsFile);
|
RunCommandScript(m_shutdownCommandsFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.Verbose("SHUTDOWN", "Closing all threads");
|
m_log.Verbose("SHUTDOWN", "Closing all threads");
|
||||||
m_log.Verbose("SHUTDOWN", "Killing listener thread");
|
m_log.Verbose("SHUTDOWN", "Killing listener thread");
|
||||||
m_log.Verbose("SHUTDOWN", "Killing clients");
|
m_log.Verbose("SHUTDOWN", "Killing clients");
|
||||||
|
|
|
@ -1065,6 +1065,47 @@ namespace OpenSim.Region.ClientStack
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region unimplemented handlers
|
#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:
|
case PacketType.StartPingCheck:
|
||||||
// Send the client the ping response back
|
// Send the client the ping response back
|
||||||
// Pass the same PingID in the matching packet
|
// Pass the same PingID in the matching packet
|
||||||
|
|
|
@ -257,6 +257,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
ForEachScenePresence(delegate(ScenePresence avatar)
|
ForEachScenePresence(delegate(ScenePresence avatar)
|
||||||
{
|
{
|
||||||
|
avatar.Kick("The region is going down.");
|
||||||
avatar.ControllingClient.Stop();
|
avatar.ControllingClient.Stop();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -638,7 +639,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
|
|
||||||
// What we're *supposed* to do is raytrace from the camera position given by the client to the nearest collision
|
// What we're *supposed* to do is raytrace from the camera position given by the client to the nearest collision
|
||||||
// in the direction the client supplies (the ground level that we clicked)
|
// in the direction the client supplies (the ground level that we clicked)
|
||||||
// This function is pretty crappy right now.. so we're not affecting where the newly rezzed objects go
|
// This function is pretty crappy right now.. so we're not affecting where the newly rezzed objects go
|
||||||
// Test it if you like. The console will write where it guesses a collision took place. if it thinks one did.
|
// Test it if you like. The console will write where it guesses a collision took place. if it thinks one did.
|
||||||
// It's wrong many times though.
|
// It's wrong many times though.
|
||||||
|
|
|
@ -144,7 +144,7 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
ForEachCurrentScene(delegate(Scene scene) { scene.Backup(); });
|
ForEachCurrentScene(delegate(Scene scene) { scene.Backup(); });
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleAlertCommandOnCurrentScene(string[] cmdparams)
|
public void HandleAlertCommandOnCurrentScene(string[] cmdparams)
|
||||||
{
|
{
|
||||||
ForEachCurrentScene(delegate(Scene scene) { scene.HandleAlertCommand(cmdparams); });
|
ForEachCurrentScene(delegate(Scene scene) { scene.HandleAlertCommand(cmdparams); });
|
||||||
|
|
|
@ -1219,6 +1219,20 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
|
|
||||||
#endregion
|
#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>
|
||||||
///
|
///
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
Loading…
Reference in New Issue