Exemplo n.º 1
0
        private static void Prompt()
        {
            Console.Clear();
            Console.WriteLine($"Current Server Directory: {ServerDirectory}");
            Console.WriteLine($"Current Backups Directory: {BackupsDirectory}");
            Console.WriteLine($"Current Server File Name (.jar file): {ServerFileName}");
            Console.WriteLine($"Current Memory Allocated (in megabytes): {Memory}");
            Console.WriteLine($"Current Daily Restart Time: {RestartTime.ToString()}");
            Console.WriteLine();
            Console.WriteLine("Enter 'C' to make changes to these settings");
            Console.WriteLine("Enter 'R' to run the server with these settings'");
            Console.Write("Input: ");
            string input = Console.ReadLine();

            switch (input.Trim().ToLower())
            {
            case "c":
            {
                bool result = false;
                while (!result)
                {
                    result = ChangeSettings();
                }
                break;
            }

            case "r":
            {
                StartProcess();
                while (true)
                {
                    if (DateTime.Now.TimeOfDay.Hours == RestartTime.Hours && DateTime.Now.TimeOfDay.Minutes == RestartTime.Minutes)
                    {
                        EndProcess();
                        BackupWorldFile();
                        StartProcess();
                        TimeSpan span = RestartTime.Add(new TimeSpan(0, 1, 0)) - DateTime.Now.TimeOfDay;
                        int      msUntilNextMinute = (int)span.TotalMilliseconds;

                        if (msUntilNextMinute >= 0)
                        {
                            Thread.Sleep(msUntilNextMinute + 5000);
                        }
                    }
                }
            }
            }
        }
Exemplo n.º 2
0
        public static void Initialize()
        {
            CommandSystem.Register("Restart", AccessLevel.Administrator, new CommandEventHandler(Restart_OnCommand));
            CommandSystem.Register("Shutdown", AccessLevel.Administrator, new CommandEventHandler(Shutdown_OnCommand));

            if (Enabled)
            {
                DateTime now = DateTime.Now;
                DateTime force = new DateTime(now.Year, now.Month, now.Day, Hour, Minutes, 0);

                if (now > force)
                {
                    force += TimeSpan.FromHours(Frequency);
                }

                RestartTime = force;

                BeginTimer();

                Utility.WriteConsoleColor(ConsoleColor.Magenta, "[Auto Restart] Configured for {0}:{1}:00, every {2} hours!", RestartTime.Hour, RestartTime.Minute, Frequency);
                Utility.WriteConsoleColor(ConsoleColor.Magenta, "[Auto Restart] Next Shard Restart: {0}", RestartTime.ToString());
            }
        }
 //Start animations back up when time restarts
 public void OnRestartTime(RestartTime evt)
 {
     animator.speed = 1;
 }