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())); }