public override void Stop()
        {
            if (ServerState != ServerState.Stop)
            {
                StopLog();

                if (FrametimeServer.ServerState != ServerState.Stop)
                {
                    FrametimeServer?.Stop();
                }

                masmTimer?.Dispose();
                masmTimer = null;

                base.Stop();
            }
        }
        public override bool Begin()
        {
            Stop();

            ServerState = ServerState.Begin;

            masmTimer = new Timer(
                MASMTimerTicked,
                true,
                0,
                Settings.DataUpdateInterval);

            if (Settings.UseFrametimeMode == true)
            {
                if (FrametimeServer.Begin() != true)
                {
                    this.Stop();
                    return(false);
                }
            }

            return(true);
        }