public ActionResult RunGameUpdatesNow() { var master = TCAdmin.GameHosting.SDK.Objects.Server.GetEnabledServers().Cast <Server>() .FirstOrDefault(x => x.IsMaster); if (master == null) { return(Json(new { })); } var fileSystem = master.FileSystemService; var virtualDirectorySecurity = new VirtualDirectorySecurity(); var consoleLog = TCAdmin.SDK.Misc.FileSystem.CombinePath( master.ServerUtilitiesService.GetMonitorLogsDirectory(), "console.log", master.OperatingSystem); var rt = new RemoteTail(master, virtualDirectorySecurity, consoleLog, "Console Log", string.Empty, string.Empty); fileSystem.CreateTextFile( TCAdmin.SDK.Misc.FileSystem.CombinePath(master.ServerUtilitiesService.GetMonitorDirectory(), "command.do", master.OperatingSystem), Encoding.Default.GetBytes("service tcacronsGU restart")); return(Json(new { url = rt.GetUrl() })); }
public ActionResult Logs() { Globals.NexusPermissionsManager.ThrowIfCurrentUserLackPermission(NexusPermissions.ViewLogs); var server = TCAdmin.GameHosting.SDK.Objects.Server.GetServerFromCache(1); var files = server.FileSystemService.FindFiles(server.ServerUtilitiesService.GetMonitorLogsDirectory(), "*-nexus.log", false).OrderByDescending(x => x.LastWriteTime); var remoteTail = new RemoteTail(server, new VirtualDirectorySecurity(), files.First().FullName, "Console Log", string.Empty, string.Empty); return(Content( $"<iframe src='{remoteTail.GetUrl()}' style='height: 1000px; width: 100%;'>Your browser doesn't support iframes.</iframe>")); }
public ActionResult RunCronNow(int id) { var cronJob = DynamicTypeBase.GetCurrent <CronJob>(); var master = TCAdmin.GameHosting.SDK.Objects.Server.GetEnabledServers().Cast <Server>() .FirstOrDefault(x => x.IsMaster); if (master == null) { return(Json(new { })); } var virtualDirectorySecurity = new VirtualDirectorySecurity(); System.Threading.Tasks.Task.Run(() => cronJob.ExecuteCron()); var consoleLog = cronJob.GetLogFile(); var rt = new RemoteTail(master, virtualDirectorySecurity, consoleLog, "Console Log", string.Empty, string.Empty); return(Json(new { url = rt.GetUrl() })); }