aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Server
diff options
context:
space:
mode:
authorMichael VanOverbeek <[email protected]>2017-03-07 14:17:58 +0000
committerMichael VanOverbeek <[email protected]>2017-03-07 14:18:03 +0000
commit9c143b1249e03fa63492c7aa5283bf60f88c118b (patch)
treec4f5aeca7c0f6e5ff417854d5f6aef3f0999b67b /ShiftOS.Server
parenta28a68bcf8ef5e1e9d7d049d8d25515f43d5407f (diff)
downloadshiftos_thereturn-9c143b1249e03fa63492c7aa5283bf60f88c118b.tar.gz
shiftos_thereturn-9c143b1249e03fa63492c7aa5283bf60f88c118b.tar.bz2
shiftos_thereturn-9c143b1249e03fa63492c7aa5283bf60f88c118b.zip
auto crash handling
Diffstat (limited to 'ShiftOS.Server')
-rw-r--r--ShiftOS.Server/Program.cs21
-rw-r--r--ShiftOS.Server/RandomUserGenerator.cs7
2 files changed, 26 insertions, 2 deletions
diff --git a/ShiftOS.Server/Program.cs b/ShiftOS.Server/Program.cs
index 7e5a517..9093c35 100644
--- a/ShiftOS.Server/Program.cs
+++ b/ShiftOS.Server/Program.cs
@@ -123,6 +123,27 @@ namespace ShiftOS.Server
Console.WriteLine("Client connected.");
server.DispatchTo(a.Guid, new NetObject("welcome", new ServerMessage { Name = "Welcome", Contents = a.Guid.ToString(), GUID = "Server" }));
};
+
+ server.OnClientDisconnected += (o, a) =>
+ {
+ Console.WriteLine("Client disconnected.");
+ };
+
+ server.OnClientRejected += (o, a) =>
+ {
+ Console.WriteLine("FUCK. Something HORRIBLE JUST HAPPENED.");
+ };
+
+ AppDomain.CurrentDomain.UnhandledException += (o, a) =>
+ {
+ ChatBackend.Broadcast("**Automatic Broadcast:** The multi-user domain is restarting because of a crash.");
+#if DEBUG
+ ChatBackend.Broadcast("Crash summary: " + a.ExceptionObject.ToString());
+#endif
+ if(server.IsOnline == true)
+ server.Stop();
+ System.Diagnostics.Process.Start("ShiftOS.Server.exe");
+ };
server.OnReceived += (o, a) =>
{
diff --git a/ShiftOS.Server/RandomUserGenerator.cs b/ShiftOS.Server/RandomUserGenerator.cs
index 672f25d..3a62f9c 100644
--- a/ShiftOS.Server/RandomUserGenerator.cs
+++ b/ShiftOS.Server/RandomUserGenerator.cs
@@ -114,7 +114,7 @@ namespace ShiftOS.Server
sve.Codepoints = rnd.Next(startCP, maxAmt);
//FS treasure generation.
-
+ /*
//create a ramdisk dir
var dir = new ShiftOS.Objects.ShiftFS.Directory();
//name the directory after the user
@@ -181,16 +181,19 @@ namespace ShiftOS.Server
WriteAllBytes(kv.Value, File.ReadAllBytes(file));
}
}
- }
+ }*/
//save the save file to disk.
File.WriteAllText("deadsaves/" + sve.Username + ".save", Newtonsoft.Json.JsonConvert.SerializeObject(sve, Newtonsoft.Json.Formatting.Indented));
//We don't care about the encryption algorithm because these saves can't be logged into as regular users.
+ /*
//Now we export the mount.
string exportedMount = ExportMount(mountid);
//And save it to disk.
File.WriteAllText("deadsaves/" + sve.Username + ".mfs", exportedMount);
+ */
+
Thread.Sleep((60 * 60) * 1000); //approx. 1 hour.