Ejemplo n.º 1
0
        public List <Computer> generateGameNodes()
        {
            var list      = new List <Computer>();
            var computer1 = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/JMailServer.xml");

            computer1.location = new Vector2(0.7f, 0.2f);
            mailServer         = computer1;
            list.Add(computer1);
            var c1 = new Computer("boatmail.com", "65.55.72.183", new Vector2(0.6f, 0.9f), 4, 3, os);

            c1.idName = "boatmail";
            c1.daemons.Add(new BoatMail(c1, "Boatmail", os));
            c1.initDaemons();
            list.Add(c1);
            var c2 =
                (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/InternationalAcademicDatabase.xml");
            var academicDatabaseDaemon = new AcademicDatabaseDaemon(c2, "Academic Databse", os);

            c2.daemons.Add(academicDatabaseDaemon);
            c2.initDaemons();
            academicDatabaseDaemon.initFilesFromPeople(People.all);
            academicDatabase = c2;
            list.Add(c2);
            var computer2 =
                (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubAssetsComp.xml");

            list.Add(computer2);
            var ch = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubComp.xml");

            os.delayer.Post(ActionDelayer.NextTick(), () =>
            {
                ch.daemons.Add(new MissionHubServer(ch, "CSEC Contract Database", "CSEC", os));
                ch.initDaemons();
            });
            list.Add(ch);
            computer2.location = ch.location + Corporation.getNearbyNodeOffset(ch.location, 1, 1, this);
            list.Add(new Computer("Cheater's Stash", "1337.1337.1337.1337", getRandomPosition(), 0, 2, os)
            {
                idName = "haxServer",
                files  =
                {
                    root      =
                    {
                        files =
                        {
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[0]],
                                          PortExploits.cracks[PortExploits.portNums[0]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[1]],
                                          PortExploits.cracks[PortExploits.portNums[1]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[2]],
                                          PortExploits.cracks[PortExploits.portNums[2]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[3]],
                                          PortExploits.cracks[PortExploits.portNums[3]])
                        }
                    }
                }
            });
            return(list);
        }
Ejemplo n.º 2
0
 private void generateMailServer()
 {
     mailServer = new Computer(name + " Mail Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
     mailServer.daemons.Add(new MailServer(mailServer, name + " Mail", os));
     mailServer.initDaemons();
     mailServer.idName = baseID + "MS";
     servers.Add(mailServer);
 }
Ejemplo n.º 3
0
 private void generateFileServer()
 {
     fileServer = new Computer(name + " File Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
     fileServer.daemons.Add(new MissionListingServer(fileServer, "Mission Board", name, os, false, false));
     fileServer.initDaemons();
     fileServer.idName = baseID + "FS";
     servers.Add(fileServer);
 }
Ejemplo n.º 4
0
        public List <Computer> generateGameNodes()
        {
            List <Computer> computerList = new List <Computer>();
            Computer        computer1    = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/JMailServer.xml", false, false);

            computer1.location = new Vector2(0.7f, 0.2f);
            this.mailServer    = computer1;
            computerList.Add(computer1);
            Computer c1 = new Computer("boatmail.com", "65.55.72.183", new Vector2(0.6f, 0.9f), 4, (byte)3, this.os);

            c1.idName = "boatmail";
            c1.daemons.Add((Daemon) new BoatMail(c1, "Boatmail", this.os));
            c1.initDaemons();
            computerList.Add(c1);
            Computer c2 = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/InternationalAcademicDatabase.xml", false, false);
            AcademicDatabaseDaemon academicDatabaseDaemon = new AcademicDatabaseDaemon(c2, "Academic Database", this.os);

            c2.daemons.Add((Daemon)academicDatabaseDaemon);
            c2.initDaemons();
            this.academicDatabase = c2;
            computerList.Add(c2);
            Computer computer2 = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubAssetsComp.xml", false, false);

            computerList.Add(computer2);
            Computer ch = (Computer)ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubComp.xml", false, false);

            this.os.delayer.Post(ActionDelayer.NextTick(), (Action)(() =>
            {
                ch.daemons.Add((Daemon) new MissionHubServer(ch, "CSEC Contract Database", "CSEC", this.os));
                ch.initDaemons();
            }));
            computerList.Add(ch);
            computer2.location = ch.location + Corporation.getNearbyNodeOffset(ch.location, 1, 1, this, 0.0f, false);
            computerList.Add(new Computer("Cheater's Stash", "1337.1337.1337.1337", this.getRandomPosition(), 0, (byte)2, this.os)
            {
                idName = "haxServer",
                files  =
                {
                    root      =
                    {
                        files =
                        {
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[0]], PortExploits.cracks[PortExploits.portNums[0]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[1]], PortExploits.cracks[PortExploits.portNums[1]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[2]], PortExploits.cracks[PortExploits.portNums[2]]),
                            new FileEntry(PortExploits.crackExeData[PortExploits.portNums[3]], PortExploits.cracks[PortExploits.portNums[3]]),
                            this.GetProgramForNum(1433),
                            this.GetProgramForNum(104),
                            this.GetProgramForNum(9),
                            this.GetProgramForNum(13),
                            this.GetProgramForNum(10)
                        }
                    }
                }
            });
            return(computerList);
        }
Ejemplo n.º 5
0
        private void generateWebServer()
        {
            webServer = new Computer(name + " Web Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
            var webServerDaemon = new WebServerDaemon(webServer, name + " Web Server", os,
                                                      "Content/Web/BaseImageWebPage.html");

            webServer.daemons.Add(webServerDaemon);
            webServer.initDaemons();
            webServerDaemon.generateBaseCorporateSite(getFullName(), "Content/Web/BaseCorporatePage.html");
            webServer.idName = baseID + "WS";
            servers.Add(webServer);
        }
Ejemplo n.º 6
0
        private static Computer addWebsiteChangeRequirements(Computer c, OS os)
        {
            WebServerDaemon webServerDaemon = new WebServerDaemon(c, MissionGenerationParser.Target + " Web Server", os, "Content/Web/BaseImageWebPage.html");

            c.daemons.Add((Daemon)webServerDaemon);
            c.initDaemons();
            if (MissionGenerator.customKeysWereSet && MissionGenerator.customFileData != null)
            {
                webServerDaemon.generateBaseCorporateSite(MissionGenerationParser.Target, MissionGenerator.customFileData);
            }
            else
            {
                webServerDaemon.generateBaseCorporateSite(MissionGenerationParser.Target, "Content/Web/BaseCorporatePage.html");
            }
            MissionGenerationParser.File = "index.html";
            MissionGenerationParser.Path = "web";
            return(c);
        }
Ejemplo n.º 7
0
 private static Computer addWebsiteChangeRequirements(Computer c, OS os)
 {
     var webServerDaemon = new WebServerDaemon(c, MissionGenerationParser.Target + " Web Server", os,
         "Content/Web/BaseImageWebPage.html");
     c.daemons.Add(webServerDaemon);
     c.initDaemons();
     if (customKeysWereSet && customFileData != null)
         webServerDaemon.generateBaseCorporateSite(MissionGenerationParser.Target, customFileData);
     else
         webServerDaemon.generateBaseCorporateSite(MissionGenerationParser.Target,
             "Content/Web/BaseCorporatePage.html");
     MissionGenerationParser.File = "index.html";
     MissionGenerationParser.Path = "web";
     return c;
 }
Ejemplo n.º 8
0
 private void generateWebServer()
 {
     webServer = new Computer(name + " Web Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
     var webServerDaemon = new WebServerDaemon(webServer, name + " Web Server", os,
         "Content/Web/BaseImageWebPage.html");
     webServer.daemons.Add(webServerDaemon);
     webServer.initDaemons();
     webServerDaemon.generateBaseCorporateSite(getFullName(), "Content/Web/BaseCorporatePage.html");
     webServer.idName = baseID + "WS";
     servers.Add(webServer);
 }
Ejemplo n.º 9
0
 private void generateMailServer()
 {
     mailServer = new Computer(name + " Mail Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
     mailServer.daemons.Add(new MailServer(mailServer, name + " Mail", os));
     mailServer.initDaemons();
     mailServer.idName = baseID + "MS";
     servers.Add(mailServer);
 }
Ejemplo n.º 10
0
 private void generateFileServer()
 {
     fileServer = new Computer(name + " File Server", getAddress(), getLocation(), baseSecurityLevel, 3, os);
     fileServer.daemons.Add(new MissionListingServer(fileServer, "Mission Board", name, os, false, false));
     fileServer.initDaemons();
     fileServer.idName = baseID + "FS";
     servers.Add(fileServer);
 }
Ejemplo n.º 11
0
 public static object loadComputer(string filename)
 {
     var rdr = XmlReader.Create(TitleContainer.OpenStream(filename));
     var str1 = "UNKNOWN";
     var compName = "UNKNOWN";
     string str2 = null;
     var seclevel = 0;
     byte compType = 1;
     var flag1 = true;
     var compIP = NetworkMap.generateRandomIP();
     while (rdr.Name != "Computer")
         rdr.Read();
     if (rdr.MoveToAttribute("id"))
         str1 = rdr.ReadContentAsString();
     if (rdr.MoveToAttribute("name"))
         compName = rdr.ReadContentAsString();
     if (rdr.MoveToAttribute("security"))
         seclevel = rdr.ReadContentAsInt();
     if (rdr.MoveToAttribute("type"))
         compType = (byte) rdr.ReadContentAsInt();
     if (rdr.MoveToAttribute("ip"))
         compIP = rdr.ReadContentAsString();
     if (rdr.MoveToAttribute("icon"))
         str2 = rdr.ReadContentAsString();
     if (rdr.MoveToAttribute("allowsDefaultBootModule"))
         flag1 = rdr.ReadContentAsBoolean();
     var computer1 = new Computer(compName, compIP, os.netMap.getRandomPosition(), seclevel, compType, os);
     computer1.idName = str1;
     computer1.AllowsDefaultBootModule = flag1;
     computer1.icon = str2;
     if (computer1.type == 4)
     {
         var folder = computer1.files.root.searchForFolder("home");
         if (folder != null)
         {
             folder.files.Clear();
             folder.folders.Clear();
         }
     }
     while (rdr.Name != "Computer")
     {
         if (rdr.Name.Equals("file"))
         {
             var path = !rdr.MoveToAttribute("path") ? "home" : rdr.ReadContentAsString();
             var str3 = filter(!rdr.MoveToAttribute("name") ? "Data" : rdr.ReadContentAsString());
             var num = (int) rdr.MoveToContent();
             var s = rdr.ReadElementContentAsString();
             if (s.Equals(""))
                 s = Computer.generateBinaryString(500);
             var dataEntry = filter(s);
             var folderFromPath = computer1.getFolderFromPath(path, true);
             if (folderFromPath.searchForFile(str3) != null)
                 folderFromPath.searchForFile(str3).data = dataEntry;
             else
                 folderFromPath.files.Add(new FileEntry(dataEntry, str3));
         }
         if (rdr.Name.Equals("encryptedFile"))
         {
             var flag2 = false;
             var path = !rdr.MoveToAttribute("path") ? "home" : rdr.ReadContentAsString();
             var s1 = !rdr.MoveToAttribute("name") ? "Data" : rdr.ReadContentAsString();
             var header = !rdr.MoveToAttribute("header") ? "ERROR" : rdr.ReadContentAsString();
             var ipLink = !rdr.MoveToAttribute("ip") ? "ERROR" : rdr.ReadContentAsString();
             var pass = !rdr.MoveToAttribute("pass") ? "" : rdr.ReadContentAsString();
             var fileExtension = !rdr.MoveToAttribute("extension") ? null : rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("double"))
                 flag2 = rdr.ReadContentAsBoolean();
             var str3 = filter(s1);
             var num = (int) rdr.MoveToContent();
             var s2 = rdr.ReadElementContentAsString();
             if (s2.Equals(""))
                 s2 = Computer.generateBinaryString(500);
             var data = filter(s2);
             if (flag2)
                 data = FileEncrypter.EncryptString(data, header, ipLink, pass, fileExtension);
             var dataEntry = FileEncrypter.EncryptString(data, header, ipLink, pass,
                 flag2 ? "_LAYER2.dec" : fileExtension);
             var folderFromPath = computer1.getFolderFromPath(path, true);
             if (folderFromPath.searchForFile(str3) != null)
                 folderFromPath.searchForFile(str3).data = dataEntry;
             else
                 folderFromPath.files.Add(new FileEntry(dataEntry, str3));
         }
         else if (rdr.Name.Equals("ports"))
         {
             var num = (int) rdr.MoveToContent();
             loadPortsIntoComputer(rdr.ReadElementContentAsString(), computer1);
         }
         else if (rdr.Name.Equals("positionNear"))
         {
             var ip_Or_ID_or_Name = "";
             if (rdr.MoveToAttribute("target"))
                 ip_Or_ID_or_Name = rdr.ReadContentAsString();
             var num = 0;
             var total = 3;
             if (rdr.MoveToAttribute("position"))
                 num = rdr.ReadContentAsInt();
             var positionNumber = num + 1;
             if (rdr.MoveToAttribute("total"))
                 total = rdr.ReadContentAsInt();
             var computer2 = Programs.getComputer(os, ip_Or_ID_or_Name);
             if (computer2 != null)
                 computer1.location = computer2.location +
                                      Corporation.getNearbyNodeOffset(computer2.location, positionNumber, total,
                                          os.netMap);
         }
         else if (rdr.Name.Equals("proxy"))
         {
             var num = 1f;
             if (rdr.MoveToAttribute("time"))
                 num = rdr.ReadContentAsFloat();
             if (num > 0.0)
             {
                 computer1.addProxy(Computer.BASE_PROXY_TICKS*num);
             }
             else
             {
                 computer1.hasProxy = false;
                 computer1.proxyActive = false;
             }
         }
         else if (rdr.Name.Equals("portsForCrack"))
         {
             var num = -1;
             if (rdr.MoveToAttribute("val"))
                 num = rdr.ReadContentAsInt();
             if (num != -1)
                 computer1.portsNeededForCrack = num - 1;
         }
         else if (rdr.Name.Equals("firewall"))
         {
             var level = 1;
             if (rdr.MoveToAttribute("level"))
                 level = rdr.ReadContentAsInt();
             if (level > 0)
             {
                 string solution = null;
                 var additionalTime = 0.0f;
                 if (rdr.MoveToAttribute("solution"))
                     solution = rdr.ReadContentAsString();
                 if (rdr.MoveToAttribute("additionalTime"))
                     additionalTime = rdr.ReadContentAsFloat();
                 if (solution != null)
                     computer1.addFirewall(level, solution, additionalTime);
                 else
                     computer1.addFirewall(level);
             }
             else
                 computer1.firewall = null;
         }
         else if (rdr.Name.Equals("link"))
         {
             var ip_Or_ID_or_Name = "";
             if (rdr.MoveToAttribute("target"))
                 ip_Or_ID_or_Name = rdr.ReadContentAsString();
             var computer2 = Programs.getComputer(os, ip_Or_ID_or_Name);
             if (computer2 != null)
                 computer1.links.Add(os.netMap.nodes.IndexOf(computer2));
         }
         else if (rdr.Name.Equals("dlink"))
         {
             var comp = "";
             if (rdr.MoveToAttribute("target"))
                 comp = rdr.ReadContentAsString();
             var local = computer1;
             postAllLoadedActions += () =>
             {
                 var computer2 = Programs.getComputer(os, comp);
                 if (computer2 == null)
                     return;
                 local.links.Add(os.netMap.nodes.IndexOf(computer2));
             };
         }
         else if (rdr.Name.Equals("trace"))
         {
             var num = 1f;
             if (rdr.MoveToAttribute("time"))
                 num = rdr.ReadContentAsFloat();
             computer1.traceTime = num;
         }
         else if (rdr.Name.Equals("adminPass"))
         {
             string newPass = null;
             if (rdr.MoveToAttribute("pass"))
                 newPass = rdr.ReadContentAsString();
             if (newPass == null)
                 newPass = PortExploits.getRandomPassword();
             computer1.setAdminPassword(newPass);
         }
         else if (rdr.Name.Equals("admin"))
         {
             var str3 = "basic";
             var flag2 = true;
             var flag3 = false;
             if (rdr.MoveToAttribute("type"))
                 str3 = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("resetPassword"))
                 flag2 = rdr.ReadContentAsBoolean();
             if (rdr.MoveToAttribute("isSuper"))
                 flag3 = rdr.ReadContentAsBoolean();
             switch (str3)
             {
                 case "fast":
                     computer1.admin = new FastBasicAdministrator();
                     break;
                 default:
                     computer1.admin = new BasicAdministrator();
                     break;
             }
             computer1.admin.ResetsPassword = flag2;
             computer1.admin.IsSuper = flag3;
         }
         else if (rdr.Name.Equals("ExternalCounterpart"))
         {
             var serverName = "";
             var idName = "";
             if (rdr.MoveToAttribute("id"))
                 serverName = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("name"))
                 idName = rdr.ReadContentAsString();
             var externalCounterpart = new ExternalCounterpart(idName,
                 ExternalCounterpart.getIPForServerName(serverName));
             computer1.externalCounterpart = externalCounterpart;
         }
         else if (rdr.Name.Equals("account"))
         {
             byte accountType = 0;
             string s1;
             var s2 = s1 = "ERROR";
             if (rdr.MoveToAttribute("username"))
                 s2 = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("password"))
                 s1 = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("type"))
                 accountType = (byte) rdr.ReadContentAsInt();
             var user = filter(s2);
             var password = filter(s1);
             var flag2 = false;
             for (var index = 0; index < computer1.users.Count; ++index)
             {
                 var userDetail = computer1.users[index];
                 if (userDetail.name.Equals(user))
                 {
                     userDetail.pass = password;
                     userDetail.type = accountType;
                     computer1.users[index] = userDetail;
                     if (user.Equals("admin"))
                         computer1.adminPass = password;
                     flag2 = true;
                 }
             }
             if (!flag2)
             {
                 var userDetail = new UserDetail(user, password, accountType);
                 computer1.users.Add(userDetail);
             }
         }
         else if (rdr.Name.Equals("missionListingServer"))
         {
             var flag2 = false;
             var _isPublic = false;
             string serviceName;
             var group = serviceName = "ERROR";
             if (rdr.MoveToAttribute("name"))
                 serviceName = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("group"))
                 group = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("assigner"))
                 flag2 = rdr.ReadContentAsBoolean();
             if (rdr.MoveToAttribute("public"))
                 _isPublic = rdr.ReadContentAsBoolean();
             computer1.daemons.Add(new MissionListingServer(computer1, serviceName, group, os, _isPublic, false)
             {
                 missionAssigner = flag2
             });
         }
         else if (rdr.Name.Equals("mailServer"))
         {
             var name = "Mail Server";
             if (rdr.MoveToAttribute("name"))
                 name = rdr.ReadContentAsString();
             var ms = new MailServer(computer1, name, os);
             if (rdr.MoveToAttribute("color"))
                 ms.setThemeColor(Utils.convertStringToColor(rdr.ReadContentAsString()));
             while (!(rdr.Name == "mailServer") || rdr.IsStartElement())
             {
                 if (rdr.Name == "email")
                 {
                     var sender = "UNKNOWN";
                     string str3 = null;
                     var subject = "UNKNOWN";
                     if (rdr.MoveToAttribute("sender"))
                         sender = rdr.ReadContentAsString();
                     if (rdr.MoveToAttribute("recipient"))
                         str3 = rdr.ReadContentAsString();
                     if (rdr.MoveToAttribute("subject"))
                         subject = rdr.ReadContentAsString();
                     var num = (int) rdr.MoveToContent();
                     var body = rdr.ReadElementContentAsString();
                     if (str3 != null)
                     {
                         var email = MailServer.generateEmail(subject, body, sender);
                         var recp = str3;
                         ms.setupComplete += () => ms.addMail(email, recp);
                     }
                 }
                 rdr.Read();
             }
             computer1.daemons.Add(ms);
         }
         else if (rdr.Name.Equals("addEmailDaemon"))
         {
             var addEmailDaemon = new AddEmailDaemon(computer1, "Final Task", os);
             computer1.daemons.Add(addEmailDaemon);
         }
         else if (rdr.Name.Equals("deathRowDatabase"))
         {
             var rowDatabaseDaemon = new DeathRowDatabaseDaemon(computer1, "Death Row Database", os);
             computer1.daemons.Add(rowDatabaseDaemon);
         }
         else if (rdr.Name.Equals("ispSystem"))
         {
             var ispDaemon = new ISPDaemon(computer1, os);
             computer1.daemons.Add(ispDaemon);
         }
         else if (rdr.Name.Equals("messageBoard"))
         {
             var messageBoardDaemon = new MessageBoardDaemon(computer1, os);
             var str3 = "Anonymous";
             if (rdr.MoveToAttribute("name"))
                 str3 = rdr.ReadContentAsString();
             messageBoardDaemon.name = str3;
             while (!(rdr.Name == "messageBoard") || rdr.IsStartElement())
             {
                 if (rdr.Name == "thread")
                 {
                     var num = (int) rdr.MoveToContent();
                     var filename1 = rdr.ReadElementContentAsString();
                     if (filename1 != null)
                         messageBoardDaemon.AddThread(Utils.readEntireFile(filename1));
                 }
                 rdr.Read();
             }
             computer1.daemons.Add(messageBoardDaemon);
         }
         else if (rdr.Name.Equals("addAvconDemoEndDaemon"))
         {
             var avconDemoEndDaemon = new AvconDemoEndDaemon(computer1, "Demo End", os);
             computer1.daemons.Add(avconDemoEndDaemon);
         }
         else if (rdr.Name.Equals("addWebServer"))
         {
             var serviceName = "Web Server";
             string pageFileLocation = null;
             if (rdr.MoveToAttribute("name"))
                 serviceName = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("url"))
                 pageFileLocation = rdr.ReadContentAsString();
             var webServerDaemon = new WebServerDaemon(computer1, serviceName, os, pageFileLocation);
             webServerDaemon.registerAsDefaultBootDaemon();
             computer1.daemons.Add(webServerDaemon);
         }
         else if (rdr.Name.Equals("addOnlineWebServer"))
         {
             var serviceName = "Web Server";
             string url = null;
             if (rdr.MoveToAttribute("name"))
                 serviceName = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("url"))
                 url = rdr.ReadContentAsString();
             var onlineWebServerDaemon = new OnlineWebServerDaemon(computer1, serviceName, os);
             if (url != null)
                 onlineWebServerDaemon.setURL(url);
             onlineWebServerDaemon.registerAsDefaultBootDaemon();
             computer1.daemons.Add(onlineWebServerDaemon);
         }
         else if (rdr.Name.Equals("uploadServerDaemon"))
         {
             var serviceName = "File Upload Server";
             string foldername = null;
             var input = "0,94,38";
             var needsAuthentication = false;
             if (rdr.MoveToAttribute("name"))
                 serviceName = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("folder"))
                 foldername = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("color"))
                 input = rdr.ReadContentAsString();
             if (rdr.MoveToAttribute("needsAuth"))
                 needsAuthentication = rdr.ReadContentAsString().ToLower() == "true";
             var themeColor = Utils.convertStringToColor(input);
             var uploadServerDaemon = new UploadServerDaemon(computer1, serviceName, themeColor, os, foldername,
                 needsAuthentication);
             uploadServerDaemon.registerAsDefaultBootDaemon();
             computer1.daemons.Add(uploadServerDaemon);
         }
         else if (rdr.Name.Equals("MedicalDatabase"))
         {
             var medicalDatabaseDaemon = new MedicalDatabaseDaemon(computer1, os);
             computer1.daemons.Add(medicalDatabaseDaemon);
         }
         else if (rdr.Name.Equals("HeartMonitor"))
         {
             var str3 = "UNKNOWN";
             if (rdr.MoveToAttribute("patient"))
                 str3 = rdr.ReadContentAsString();
             computer1.daemons.Add(new HeartMonitorDaemon(computer1, os)
             {
                 PatientID = str3
             });
         }
         else if (rdr.Name.Equals("PointClicker"))
         {
             var pointClickerDaemon = new PointClickerDaemon(computer1, "Point Clicker!", os);
             computer1.daemons.Add(pointClickerDaemon);
         }
         else if (rdr.Name.Equals("PorthackHeart"))
         {
             var porthackHeartDaemon = new PorthackHeartDaemon(computer1, os);
             computer1.daemons.Add(porthackHeartDaemon);
         }
         else if (rdr.Name.Equals("SongChangerDaemon"))
         {
             var songChangerDaemon = new SongChangerDaemon(computer1, os);
             computer1.daemons.Add(songChangerDaemon);
         }
         else if (rdr.Name.Equals("eosDevice"))
             EOSComp.AddEOSComp(rdr, computer1, os);
         rdr.Read();
     }
     computer1.initDaemons();
     os.netMap.nodes.Add(computer1);
     return computer1;
 }
Ejemplo n.º 12
0
 public List<Computer> generateGameNodes()
 {
     var list = new List<Computer>();
     var computer1 = (Computer) ComputerLoader.loadComputer("Content/Missions/CoreServers/JMailServer.xml");
     computer1.location = new Vector2(0.7f, 0.2f);
     mailServer = computer1;
     list.Add(computer1);
     var c1 = new Computer("boatmail.com", "65.55.72.183", new Vector2(0.6f, 0.9f), 4, 3, os);
     c1.idName = "boatmail";
     c1.daemons.Add(new BoatMail(c1, "Boatmail", os));
     c1.initDaemons();
     list.Add(c1);
     var c2 =
         (Computer) ComputerLoader.loadComputer("Content/Missions/CoreServers/InternationalAcademicDatabase.xml");
     var academicDatabaseDaemon = new AcademicDatabaseDaemon(c2, "Academic Databse", os);
     c2.daemons.Add(academicDatabaseDaemon);
     c2.initDaemons();
     academicDatabaseDaemon.initFilesFromPeople(People.all);
     academicDatabase = c2;
     list.Add(c2);
     var computer2 =
         (Computer) ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubAssetsComp.xml");
     list.Add(computer2);
     var ch = (Computer) ComputerLoader.loadComputer("Content/Missions/CoreServers/ContractHubComp.xml");
     os.delayer.Post(ActionDelayer.NextTick(), () =>
     {
         ch.daemons.Add(new MissionHubServer(ch, "CSEC Contract Database", "CSEC", os));
         ch.initDaemons();
     });
     list.Add(ch);
     computer2.location = ch.location + Corporation.getNearbyNodeOffset(ch.location, 1, 1, this);
     list.Add(new Computer("Cheater's Stash", "1337.1337.1337.1337", getRandomPosition(), 0, 2, os)
     {
         idName = "haxServer",
         files =
         {
             root =
             {
                 files =
                 {
                     new FileEntry(PortExploits.crackExeData[PortExploits.portNums[0]],
                         PortExploits.cracks[PortExploits.portNums[0]]),
                     new FileEntry(PortExploits.crackExeData[PortExploits.portNums[1]],
                         PortExploits.cracks[PortExploits.portNums[1]]),
                     new FileEntry(PortExploits.crackExeData[PortExploits.portNums[2]],
                         PortExploits.cracks[PortExploits.portNums[2]]),
                     new FileEntry(PortExploits.crackExeData[PortExploits.portNums[3]],
                         PortExploits.cracks[PortExploits.portNums[3]])
                 }
             }
         }
     });
     return list;
 }