public override void Load()
        {
            if (!Environment.GetCommandLineArgs().Contains("-launcher"))
            {
                return;
            }

            // Set the configuration
            IPCM.IPCType = EIPCType.CONSOLE;

            // Setup the keys
            IPCM.AddKey("PlayerCount", UnturnedServer.Players.Length.ToString());
            IPCM.AddKey("Players", (UnturnedServer.Players.Length > 0 ? string.Join(",", UnturnedServer.Players.Select(a => a.PlayerName).ToArray()) : ""));

            // Setup the events
            ServerEvents.OnPlayerConnected    += new ServerEvents.PlayerConnectionHandler(OnPlayerUpdate);
            ServerEvents.OnPlayerDisconnected += new ServerEvents.PlayerConnectionHandler(OnPlayerUpdate);
            ServerEvents.OnConsoleOutput      += new ServerEvents.ConsoleOutputHandler(OnServerOutput);
        }
 private void OnServerOutput(ref object text, ref ConsoleColor color, ref bool cancel) => IPCM.HookOutput(text.ToString());
 private void OnPlayerUpdate(UnturnedPlayer player)
 {
     IPCM.SetValue("PlayerCount", UnturnedServer.Players.Length.ToString());
     IPCM.SetValue("Players", string.Join(",", UnturnedServer.Players.Select(a => a.PlayerName).ToArray()));
 }