forked from PGR/ascnet
Long overdue save command
This commit is contained in:
parent
e866af9ee9
commit
e400325184
|
@ -0,0 +1,15 @@
|
||||||
|
namespace AscNet.GameServer.Commands
|
||||||
|
{
|
||||||
|
[CommandName("save")]
|
||||||
|
internal class SaveCommand : Command
|
||||||
|
{
|
||||||
|
public SaveCommand(Session session, string[] args, bool validate = true) : base(session, args, validate) { }
|
||||||
|
|
||||||
|
public override string Help => "Command to save the current session state to the database";
|
||||||
|
|
||||||
|
public override void Execute()
|
||||||
|
{
|
||||||
|
session.Save();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -227,15 +227,21 @@ namespace AscNet.GameServer
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// DB save on disconnect
|
// DB save on disconnect
|
||||||
log.Info($"Saving session state...");
|
Save();
|
||||||
player?.Save();
|
|
||||||
character?.Save();
|
|
||||||
stage?.Save();
|
|
||||||
inventory?.Save();
|
|
||||||
|
|
||||||
log.Warn($"{id} disconnected");
|
log.Warn($"{id} disconnected");
|
||||||
client.Close();
|
client.Close();
|
||||||
Server.Instance.Sessions.Remove(id);
|
Server.Instance.Sessions.Remove(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Save()
|
||||||
|
{
|
||||||
|
player?.Save();
|
||||||
|
character?.Save();
|
||||||
|
stage?.Save();
|
||||||
|
inventory?.Save();
|
||||||
|
|
||||||
|
log.Info($"Saving session state...");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue