Skip to main content
Version: V3

Script Examples

Toggle Service Power State

This script checks the current status of the service from the service manager and toggles it — starting the service if it's stopped, or stopping it if it's running.

info

ServiceManagerService requires the Run Impersonated option to be unchecked on the script.

//refAssemblies: TCAdmin.SDK.dll, TCAdmin.GameHosting.SDK.dll, TCAdmin.Scripting.dll, TCAdmin.Monitor.dll
using TCAdmin.Web.Shared.Models.Enums;

var Globals = new TCAdmin.Scripting.Engines.Addons.CSharpGameGlobals(); // DO NOT MODIFY THIS LINE

var console = Globals.ScriptConsole;
var serviceManager = Globals.ServiceManagerService;
var service = Globals.ThisService;
var serviceManagerStatus = await serviceManager.GetServiceStatus(service.ServiceId);

console.WriteLine($"Current service id is { service.ServiceId }");
console.WriteLine($"Status in database: { service.Status }");
console.WriteLine($"Status in service manager: { serviceManagerStatus.Status }");

if(serviceManagerStatus.Status == EServiceStatus.Stopped)
{
await serviceManager.StartService(service.ServiceId);
console.WriteLine("Service was started 🚀");
}
else if(serviceManagerStatus.Status == EServiceStatus.Started)
{
await serviceManager.StopService(service.ServiceId);
console.WriteLine("Service was stopped 🛑");
}