Esempio n. 1
0
        static void Main(string[] args)
        {
            DashCMD.Start();
            DashCMD.Title = "Ace Of Spades Server";
            DashCMD.WriteLine("Game Version: {0}", ConsoleColor.Magenta, GameVersion.Current);

            SimulatedGame game = null;

            ProgramExceptionHandler.RunMainWithHandler(
                () => // tryAction
            {
                LoadServerConfig();

                game = new ServerGame();
                game.Start("AOSServer Game Thread");

                DashCMD.Listen(false);
            },
                () => // finallAyction
            {
                DashCMD.Stop();
            },
                () => // shutdownAction
            {
                if (game.IsRunning)
                {
                    game.Stop();
                }

                Console.WriteLine("Press any key to exit...");
                Console.ReadKey();
            });
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            DashCMD.Start();
            DashCMD.Listen(true);

            ProgramExceptionHandler.RunMainWithHandler(
                () => {
                using (MainWindow window = new MainWindow())
                    window.Run(60);
            },                             //try
                () => { DashCMD.Stop(); }, //finally
                () => { } //shutdown action
                );
        }
Esempio n. 3
0
        static int Main()
        {
            DashCMD.Start();
            DashCMD.Listen(true);

            ProgramExceptionHandler.RunMainWithHandler(
                () =>
            {
                using (MainWindow window = new MainWindow())
                {
                    window.Run(60);
                }
            },
                () => { DashCMD.Stop(); },
                () => { }
                );

            return(0);
        }
        void InitializeDebugging()
        {
            DashCMD.AddCommand("endpoint", "Displays the server's ip endpoint.",
                               (args) =>
            {
                DashCMD.WriteLine("Bound IPEndPoint: {0}", AOSServer.Instance.BoundEndPoint);
                DashCMD.WriteLine("Receive IPEndPoint: {0}", AOSServer.Instance.ReceiveEndPoint);
                DashCMD.WriteLine("");
            });

            DashCMD.AddCommand("exit", "Stops the server.",
                               (args) =>
            {
                DashCMD.WriteImportant("Shutting down server...");
                AOSServer.Instance.Shutdown("Server shutting down...");
                Stop();
                DashCMD.Stop();
            });

            DashCMD.AddScreen(new DashCMDScreen("dt", "", true,
                                                (screen) =>
            {
                screen.WriteLine("DeltaTime: {0}s", lastDeltaTime);
            })
            {
                SleepTime = 30
            });

            DashCMD.AddScreen(new DashCMDScreen("network", "", true,
                                                (screen) =>
            {
                screen.WriteLine("General Stats:", ConsoleColor.Green);
                screen.WriteLine("Heartbeat Compution Time: {0}ms", AOSServer.Instance.HeartbeatComputionTimeMS);

                int totalPhysicalPS = 0;
                int totalVirtualPS  = 0;

                foreach (NetConnection client in server.Connections.Values)
                {
                    totalPhysicalPS += client.Stats.PhysicalPacketsReceivedPerSecond;
                    totalVirtualPS  += client.Stats.PacketsReceivedPerSecond;
                }

                screen.WriteLine("Total PPackets r/s: {0}", totalPhysicalPS);
                screen.WriteLine("Total VPackets r/s: {0}", totalVirtualPS);

                screen.WriteLine("");
                foreach (NetConnection client in server.Connections.Values)
                {
                    screen.WriteLine("[{0}]:", ConsoleColor.Green, client);
                    screen.WriteLine("Send Rate: {0}", client.PacketSendRate);
                    screen.WriteLine("MTU: {0}", client.Stats.MTU);
                    screen.WriteLine("Ping: {0}", client.Stats.Ping);
                    screen.WriteLine("VPackets s/s: {0}", client.Stats.PacketsSentPerSecond);
                    screen.WriteLine("VPackets r/s: {0}", client.Stats.PacketsReceivedPerSecond);
                    screen.WriteLine("Packets Lost: {0}", client.Stats.PacketsLost);
                    screen.WriteLine("PPackets s/s: {0}", client.Stats.PhysicalPacketsSentPerSecond);
                    screen.WriteLine("PPackets r/s: {0}", client.Stats.PhysicalPacketsReceivedPerSecond);
                }
            }));
        }