protected override string GetResponseJson(string realmName, HttpRequest request, MySqlConnection connection) { var serverSimpleName = Convert.ToString(request["s"]); var shouldAnnounce = Convert.ToBoolean(request["a"]); var command = Convert.ToString(request["c"]); var timeToRestart = Convert.ToInt32(request["t"]); var serverModels = _serverGetter.Get(); var serverModel = serverModels.Single(x => x.Name.Equals(serverSimpleName)); _serverAdminCommandSender.Send(serverModel.WebAdminBaseUrl, "Portal", 0, command, shouldAnnounce); if (timeToRestart > 0) { new Thread(() => { Thread.CurrentThread.IsBackground = true; Thread.Sleep(timeToRestart * 1000); _serverProcessCommandSender.Restart(serverModel.InstanceIndex); }).Start(); } var result = JsonConvert.SerializeObject(new Dictionary <string, object> { { "success", true } }); return(result); }
public ActionResult Edit(bool optIn) { string message; if (optIn) { _fullSpecOptionChanger.OptIn(PlayerId); message = "You are now opted into sh_fullspec."; } else { _fullSpecOptionChanger.OptOut(PlayerId); message = "You are now opted out of sh_fullspec."; } var serverModels = _serverGetter.Get(); foreach (var serverModel in serverModels) { _serverAdminCommandSender.Send(serverModel.WebAdminBaseUrl, UserName, PlayerId, "sh_fullspec_datarefresh", false); } TempData["Success"] = message; return(RedirectToAction("Manage", "FullSpec")); }