示例#1
0
        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()
            }));
        }
示例#2
0
        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()
            }));
        }