aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Server/Program.cs
diff options
context:
space:
mode:
Diffstat (limited to 'ShiftOS.Server/Program.cs')
-rw-r--r--ShiftOS.Server/Program.cs24
1 files changed, 16 insertions, 8 deletions
diff --git a/ShiftOS.Server/Program.cs b/ShiftOS.Server/Program.cs
index afc2541..97c8a66 100644
--- a/ShiftOS.Server/Program.cs
+++ b/ShiftOS.Server/Program.cs
@@ -86,7 +86,18 @@ namespace ShiftOS.Server
/// <param name="args">The command-line arguments.</param>
public static void Main(string[] args)
{
-
+ System.Timers.Timer tmr = new System.Timers.Timer(5000);
+ tmr.Elapsed += (o, a) =>
+ {
+ if (server.IsOnline)
+ {
+ server.DispatchAll(new NetObject("heartbeat", new ServerMessage
+ {
+ Name = "heartbeat",
+ GUID = "server"
+ }));
+ }
+ };
if (!Directory.Exists("saves"))
{
Directory.CreateDirectory("saves");
@@ -106,11 +117,13 @@ namespace ShiftOS.Server
{
Console.WriteLine($"Server started on address {server.Address}, port {server.Port}.");
ServerStarted?.Invoke(server.Address.ToString());
- };
+ tmr.Start();
+ };
server.OnStopped += (o, a) =>
{
Console.WriteLine("WARNING! Server stopped.");
+ tmr.Stop();
};
server.OnError += (o, a) =>
@@ -283,8 +296,6 @@ namespace ShiftOS.Server
/// <param name="msg">Message.</param>
public static void Interpret(ServerMessage msg)
{
- Dictionary<string, object> args = null;
-
try
{
Console.WriteLine($@"[{DateTime.Now}] Message received from {msg.GUID}: {msg.Name}");
@@ -312,8 +323,7 @@ namespace ShiftOS.Server
try
{
object contents = null;
- bool throwOnNull = false;
-
+
if (mAttrib.ExpectedType == typeof(int))
{
@@ -341,7 +351,6 @@ namespace ShiftOS.Server
}
else if (mAttrib.ExpectedType == typeof(bool))
{
- throwOnNull = true;
if (msg.Contents.ToLower() == "true")
{
contents = true;
@@ -358,7 +367,6 @@ namespace ShiftOS.Server
}
else if (mAttrib.ExpectedType == null)
{
- throwOnNull = false;
}
else if(mAttrib.ExpectedType == typeof(string))
{