DennisSkov

Untitled

Apr 27th, 2022
3,801
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.92 KB | None | 0 0
  1. //If your script uses other assemblies you can reference them here:
  2. //refAssemblies: System.dll, TCAdmin.SDK.dll,TCAdmin.GameHosting.SDK.dll, TCAdmin.TaskScheduler.SDK.dll
  3.  
  4. using System;
  5. using System.Collections.Generic;
  6. using TCAdmin.TaskScheduler.SDK.Objects;
  7. public class CSharpScript : CSharpScriptBase
  8. {
  9.  
  10.     public void Main() {
  11.         DateTime today = DateTime.UtcNow;
  12.             DateTime tomorrow = today. AddDays(1);
  13.         var rtask = new RecurringTask();
  14.         rtask.UserId = ThisService.UserId;
  15.         rtask.Name = "Steam Update";
  16.         rtask.Enabled = true;
  17.         rtask.Source = ThisService.GetType().ToString();
  18.         rtask.SourceId = ThisService.ServiceId.ToString();
  19.         rtask.UserId = ThisService.UserId;
  20.         rtask.Notes = "Updates your server";
  21.  
  22.         var trigger = new Trigger();
  23.         trigger.TriggerType = TriggerType.Daily;
  24.         trigger.Daily = new TriggerDaily();
  25.         trigger.Daily.StartTimeUtc = DateTime.SpecifyKind(tomorrow, DateTimeKind.Utc);
  26.         trigger.Daily.RecurDays = 1;
  27.         rtask.Triggers = new Trigger[] { trigger };
  28.  
  29.         var step = new RecurringStep();
  30.         step.ModuleId = "d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9";
  31.         step.ProcessId = 18;
  32.         step.ServerId = ThisService.ServerId;
  33.         var args = new TCAdmin.SDK.Database.XmlField();
  34.         args["ScheduledScript.ServiceId"] = ThisService.ServiceId;
  35.         args["ScheduledScript.ScriptId"] = "steam";
  36.         args["ScheduledScript.ForceExecution"] = false;
  37.         args["ScheduledScript.WaitEmpty"] = true;
  38.         args["ScheduledScript.SkipExecution"] = false;
  39.         args["ScheduledScript.CheckSteamApiUpdate"] = true;
  40.         step.Arguments = args.ToString();
  41.         rtask.Steps = new RecurringStep[] { step };
  42.  
  43.         rtask.AppData["d3b2aa93-7e2b-4e0d-8080-67d14b2fa8a9"] = string.Format("<?xml version=\"1.0\" encoding=\"utf-16\" standalone=\"yes\"?><values>  <add key=\"ScriptId\" value=\"{0}\" type=\"System.String,mscorlib\" /></values>", args["ScheduledScript.ScriptId"]);
  44.         rtask.GenerateKey();
  45.         rtask.Save();
  46.         rtask.ScheduleNextTask();
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment