using System; using System.Threading; using Engine.Core; using Engine.Core.Debug; using Engine.Systems.Network; Universe universe = new(); RotatingFileLogger fileLogger = new("Logs", "MyGame", DateTime.UtcNow.ToString("yyyy-MM-dd_HH-mm-ss-ffffff")); ILogger.Shared = new LoggerWrapper(fileLogger, new ConsoleLogger()); universe.InstantiateUniverseObject().SetUniverseObject("Logger") .BehaviourController.AddBehaviour(); LiteNetLibServer server = universe.InstantiateUniverseObject().SetUniverseObject("Server").BehaviourController.AddBehaviour(); server.BehaviourController.AddBehaviour(); universe.OnPreUpdate.AddOneTimeListener((_, _) => server.Start(8888, 2)); MyUniverse.Shared.UniverseSource.ApplyUniverse(universe); DateTime lastRun = DateTime.UtcNow; TimeSpan interval = new(0, 0, 0, 0, 16); TimeSpan timeSinceStart = new(0); universe.Initialize(); while (true) { if (lastRun + interval <= DateTime.UtcNow) { lastRun += interval; timeSinceStart += interval; universe.Update(new(timeSinceStart, interval)); } Thread.Sleep(1); }