private void CreateGame() { var game = new GameCore( new NLogLogger(Logger.Instance), Engine.Gamemodes.Gamemode.ReflectiveInitialize("CoreAssets+DeathMatchGamemode"), Modding.ModLoader.LoadedMods["core-assets.mod"].GetAsset("abetterplace.json"), EngineSettings.GetInstance() ); //game.Timescale = GameCore.TimescaleValue.OneSixteenth; game.Authoritative = true; game.FriendlyFireEnabled = true; if (IsHost) { Client = new NetClient( "localhost", 33132, new NLogLogger(Logger.Instance), AOTConfig.Password); //And set up server, default port Server = new Server(new Configuration() { MaxPlayers = 32, //Non-configurable -- use dedicated server for more players Password = AOTConfig.Password, Port = 33132, StateSyncRate = TimeSpan.FromMilliseconds(1000) }, game, true, new NLogLogger(Logger.Instance)); //TODO: Remove this DUMMY PLAYER /* * * * * * * * Whitespace is here to make this super obvious * We auto add a dummy player, but we NEED to remove it before shipping. * * * * * * * * */ for (var i = 0; i < 10; i++) { Server.AddPlayer(new ServerPlayer(Server, new NetworkPlayer { Username = "******", UniqueId = Guid.NewGuid(), SelectedTankReflectionName = "BasicTankMPCopy", IsReady = true })); } } else { Client = new NetClient( AOTConfig.Ip, AOTConfig.Port, new NLogLogger(Logger.Instance), AOTConfig.Password); } Client.GameInstance.GameChanged += delegate { GameRenderer.Game = Client.GameInstance.Game; SoundPlayer.Game = Client.GameInstance.Game; }; GameRenderer.Game = Client.GameInstance.Game; SoundPlayer.Game = Client.GameInstance.Game; //And initialize the debug system DebugDrawer?.Dispose(); DebugDrawer = new DebugDrawer(this, Client); }