aboutsummaryrefslogtreecommitdiff
path: root/ShiftOS.Server/SaveManager.cs
diff options
context:
space:
mode:
authorAShifter <[email protected]>2017-05-01 13:37:48 -0600
committerAShifter <[email protected]>2017-05-01 13:37:48 -0600
commitd30eb35c9755cf430efa124a9a2576ab6b74c8da (patch)
treebbf4c161697b390a96af01a36277c8dc4e52e1a0 /ShiftOS.Server/SaveManager.cs
parentb842c73b04fb92d9ecaf3d8fcc2df6157c2e8652 (diff)
parent7532df70757ecbcaf735a5fc50eee282f555741a (diff)
downloadshiftos_thereturn-d30eb35c9755cf430efa124a9a2576ab6b74c8da.tar.gz
shiftos_thereturn-d30eb35c9755cf430efa124a9a2576ab6b74c8da.tar.bz2
shiftos_thereturn-d30eb35c9755cf430efa124a9a2576ab6b74c8da.zip
Merge remote-tracking branch 'refs/remotes/shiftos-game/master'
Diffstat (limited to 'ShiftOS.Server/SaveManager.cs')
-rw-r--r--ShiftOS.Server/SaveManager.cs58
1 files changed, 58 insertions, 0 deletions
diff --git a/ShiftOS.Server/SaveManager.cs b/ShiftOS.Server/SaveManager.cs
index 52d665b..63aa2bf 100644
--- a/ShiftOS.Server/SaveManager.cs
+++ b/ShiftOS.Server/SaveManager.cs
@@ -32,6 +32,7 @@ using System.IO;
using Newtonsoft.Json;
using NetSockets;
using static ShiftOS.Server.Program;
+using System.Net;
namespace ShiftOS.Server
{
@@ -172,6 +173,9 @@ namespace ShiftOS.Server
try
{
+
+
+
Program.server.DispatchTo(new Guid(guid), new NetObject("auth_failed", new ServerMessage
{
Name = "mud_saved",
@@ -179,6 +183,60 @@ namespace ShiftOS.Server
}));
}
catch { }
+
+ try
+ {
+ //Update the shiftos website with the user's codepoints.
+ if (!string.IsNullOrWhiteSpace(sav.UniteAuthToken))
+ {
+ var wreq = WebRequest.Create("http://getshiftos.ml/API/SetCodepoints/" + sav.Codepoints.ToString());
+ wreq.Headers.Add("Authentication: Token " + sav.UniteAuthToken);
+ wreq.GetResponse();
+ }
+ }
+ catch { }
+
+ }
+
+ [MudRequest("mud_token_login", typeof(string))]
+ public static void TokenLogin(string guid, string token)
+ {
+ foreach (var savefile in Directory.GetFiles("saves"))
+ {
+ try
+ {
+ var save = JsonConvert.DeserializeObject<Save>(ReadEncFile(savefile));
+
+
+ if (save.UniteAuthToken==token)
+ {
+ if (save.ID == new Guid())
+ {
+ save.ID = Guid.NewGuid();
+ WriteEncFile(savefile, JsonConvert.SerializeObject(save));
+ }
+
+
+ Program.server.DispatchTo(new Guid(guid), new NetObject("mud_savefile", new ServerMessage
+ {
+ Name = "mud_savefile",
+ GUID = "server",
+ Contents = JsonConvert.SerializeObject(save)
+ }));
+ return;
+ }
+ }
+ catch { }
+ }
+ try
+ {
+ Program.server.DispatchTo(new Guid(guid), new NetObject("auth_failed", new ServerMessage
+ {
+ Name = "mud_login_denied",
+ GUID = "server"
+ }));
+ }
+ catch { }
}
[MudRequest("delete_save", typeof(ClientSave))]