private static void ServerLoop() { _container = ChickenContainer.Instance.Resolve <IEntityManagerContainer>(); while (_running) { try { DateTime next = DateTime.UtcNow.AddMilliseconds(DelayBetweenTicks); Update(); DateTime after = DateTime.UtcNow; if (next > after) { Thread.Sleep((next - after).Milliseconds); } } catch (Exception e) { Log.Error("[SERVER_LOOP]", e); } } }