public void Start(bool server = false, bool client = false) { Stop(); if (Settings.IsHost || server) { Server = new GhostNetServer(Celeste.Instance); if (!_StartHeadless) { Celeste.Instance.Components.Add(Server); } Server.OPs.Add(0); Server.Start(); } if (!Settings.IsHost && server && !client) { return; } try { Client = new GhostNetClient(Celeste.Instance); if (!_StartHeadless) { Celeste.Instance.Components.Add(Client); } Client.Start(); } catch (Exception e) { Logger.Log(LogLevel.Warn, "ghostnet", "Failed starting client"); e.LogDetailed(); if (Settings.EnabledEntry != null) { Settings.EnabledEntry.LeftPressed(); } Stop(); } }