internal static void Initialize()
        {
            if (File.Exists(@".\Save.resx"))
            {
                try
                {
                    using (var resxSet = new ResXResourceSet(@".\Save.resx"))
                    {
                        try
                        {
                            if (resxSet.GetObject("RootKit") != null)
                            {
                                BigFirework.YouDied();
                                return;
                            }
                        }
                        catch
                        {
                            // 忽略掉
                        }

                        HostList     = (List <Host>)resxSet.GetObject("hosts");
                        SaveLoadList = (List <SaveLoadActions>)resxSet.GetObject("slList");
                        if ((SaveLoadList ?? throw new BrokenSaveException()).Any(sla => !sla.Load(resxSet)))
                        {
                            throw new BrokenSaveException();
                        }
                    }

                    if (HostList == null)
                    {
                        throw new BrokenSaveException();
                    }
                }
                catch
                {
                    File.Delete(@".\Save.resx");
                    Initialize();
                }
            }
            else
            {
                var initTask = new Task(() =>
                {
                    HostList = HostStorage.InitializeHost();
                    var rm   = GlobalConfig.ResourceManager;
                    LinkStorage.ReLink(rm);
                    WafServer.FirewallInstall(rm);
                    MailServer.RebuildMails();
                    AutoSploitServer.AddExploit(rm);
                });
                //HostList = HostStorage.InitializeHost();

                //var rm = GlobalConfig.ResourceManager;

                //LinkStorage.ReLink(rm);
                //WafServer.FirewallInstall(rm);
                //MailServer.RebuildMails();
                //AutoSploitServer.AddExploit(rm);

                initTask.Start();

                foreach (var s in GameController_TextResource.BootUp.Replace("\r\n", "\n").Split('\n'))
                {
                    if (s.Trim() == string.Empty)
                    {
                        Thread.Sleep(1000);
                    }

                    Console.WriteLine(s);
                    Thread.Sleep(50);
                }
                initTask.Wait();
                PlotObserver.InitializePlot();
                PlotObserver.StartObserve();
                Console.Clear();
                Thread.Sleep(2000);
            }

            WafServer.FirewallBootUp();
            MediaPlayer.RegisterMediaFile();
            AutoSploit.RegisterExpFile();

            new Terminal(HostList?[0].Sh).Open();
        }