diff --git a/Addons/GBSUClient.cs b/Addons/GBSUClient.cs index 2fb7562..6b05a36 100644 --- a/Addons/GBSUClient.cs +++ b/Addons/GBSUClient.cs @@ -8,10 +8,17 @@ public class GBSUClient : MonoBehaviour { public static void JoinServer(string serverip, int serverport) { - LobbyManager.Instance.LobbyStates.IP = serverip; - LobbyManager.Instance.LobbyStates.Port = serverport; - LobbyManager.Instance.LobbyStates.CurrentState = LobbyState.State.Ready | LobbyState.State.InGame; - LobbyManager.Instance.LocalBeasts.SetupNetMemberContext(true); - MonoSingleton.Instance.UNetManager.LaunchClient(serverip, serverport); + if (!Helper.hosting) + { + LobbyManager.Instance.LobbyStates.IP = serverip; + LobbyManager.Instance.LobbyStates.Port = serverport; + LobbyManager.Instance.LobbyStates.CurrentState = LobbyState.State.Ready | LobbyState.State.InGame; + LobbyManager.Instance.LocalBeasts.SetupNetMemberContext(true); + MonoSingleton.Instance.UNetManager.LaunchClient(serverip, serverport); + } + else + { + GBSUGui.PushError("You are currently hosting a game! Please stop your server before attempting to join."); + } } } \ No newline at end of file diff --git a/Addons/GBSUGui.cs b/Addons/GBSUGui.cs index cac5917..24c080f 100644 --- a/Addons/GBSUGui.cs +++ b/Addons/GBSUGui.cs @@ -93,14 +93,7 @@ Make sure to download a file from the examples given and rename it to config.jso { if (LobbyManager.Instance.LobbyStates.SelfState == LobbyState.Game.Online) { - if (!Helper.hosting) - { - GBSUClient.JoinServer(Helper.serverip, Helper.serverport); - } - else - { - PushError("You are currently hosting a match! Please restart the game before attempting to join."); - } + GBSUClient.JoinServer(Helper.serverip, Helper.serverport); } else { @@ -108,10 +101,6 @@ Make sure to download a file from the examples given and rename it to config.jso } } } - else - { - PushError("Couldn't find the -ip CLI argument. Please refer to the documentation."); - } if (GUI.Button(new Rect(20f, 295f, 170f, 30f), "Cap FPS to 60")) { diff --git a/Addons/GBSUServer.cs b/Addons/GBSUServer.cs index 2197a47..157f6de 100644 --- a/Addons/GBSUServer.cs +++ b/Addons/GBSUServer.cs @@ -35,15 +35,18 @@ public class GBSUServer : MonoBehaviour public static void StartServer() { - Helper.hosting = true; - AudioListener.volume = 0; // mute game audio + if (!Helper.hosting) + { + Helper.hosting = true; + AudioListener.volume = 0; // mute game audio - Plugin.AddServerComp(); // add custom GBSU server component - - RotationConfig gameConfig = GBConfigLoader.LoadRotationConfig(null); // the argument doesn't matter as we do stuff in the method - ServerConfig serverConfig = NetConfigLoader.LoadServerConfig(); // load default server config, because it can be overridden by args like -ip and -port - MonoSingleton.Instance.UNetManager.LaunchServer(serverConfig); // launch the server with the server config - MonoSingleton.Instance.UNetManager.GetComponent().ChangeRotationConfig(gameConfig, 0); // set server's rotationconfig + Plugin.AddServerComp(); // add custom GBSU server component + + RotationConfig gameConfig = GBConfigLoader.LoadRotationConfig(null); // the argument doesn't matter as we do stuff in the method + ServerConfig serverConfig = NetConfigLoader.LoadServerConfig(); // load default server config, because it can be overridden by args like -ip and -port + MonoSingleton.Instance.UNetManager.LaunchServer(serverConfig); // launch the server with the server config + MonoSingleton.Instance.UNetManager.GetComponent().ChangeRotationConfig(gameConfig, 0); // set server's rotationconfig + } } public static void StopServer() diff --git a/Plugin.cs b/Plugin.cs index ed90b37..98947a4 100644 --- a/Plugin.cs +++ b/Plugin.cs @@ -60,6 +60,10 @@ public class Plugin : BaseUnityPlugin { Helper.serverip = CommandLineParser.Instance.GetValueForKey("-ip", false); } + else + { + GBSUGui.PushError("Couldn't find the -ip CLI argument. Please refer to the documentation."); + } if (CommandLineParser.Instance.KeyExists("-port")) { int.TryParse(CommandLineParser.Instance.GetValueForKey("-port", false), out Helper.serverport);