Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function isMyServer(ns, server) {
- let myServersList = ["home", "darkweb, server_1-0"];
- let arr = ns.read("rooted.txt").split(":");
- //ns.tprint(myServersList);
- if (myServersList.indexOf(server) >= 0) ||{
- //ns.tprint(server + " is my server. Don't hack");
- return true;
- } else {
- //ns.tprint(server + " is not my server. Hack.");
- return false;
- }
- }
- export async function main(ns) {
- let port = ns.getPortHandle(2);
- port.empty();
- ns.disableLog("sleep");
- ns.disableLog("getServerRam");
- while (true) {
- //If port 2 isn't empty
- if (ns.peek(2) !="NULL PORT DATA") {
- //Server = port 2-0, hackable = port 2-1
- let listInfo = ns.read(2);
- let server = listInfo[0];
- let hackable = listInfo[1];
- //ns.tprint (server + "is "+ hackable + " on hacking");
- //if server is hackable, and hacking level is high enough,
- //and there's enough RAM to run infect at least once, and the server is not mine
- let ram = ns.getServerRam(ns.getHostname());
- while ((ram[0] - ram[1] <= ns.getScriptRam("infect.ns"))) {
- await ns.sleep(1000);
- ram = ns.getServerRam(ns.getHostname());
- }
- //If I have root access but the server is not in my list of servers, add it
- if (ns.hasRootAccess(server) && !(ismyServer(ns, server))) {
- ns.tprint("Already root access on " + server);
- ns.write("rooted", server+":", "a");
- }
- //check for the following conditions:
- //I do not already have root access.
- //The server is not in my list of servers.
- //I have enough RAM to run infect.ns.
- //I have a high enough hacking level to hack the server.
- //There are enough open ports to hack the server (shown by if hackable is true)
- //If all of that is true...
- if (!(ns.hasRootAccess(server)) &&
- !(isMyServer(ns, server)) &&
- (ram[0] - ram[1]) >= ns.getScriptRam("infect.ns") &&
- (ns.getHackingLevel() >= ns.getServerRequiredHackingLevel(server)) &&
- (hackable === true)
- ) {
- ns.print(server + " meets every requirement - hacking");
- //run infect.ns
- await ns.run("infect.ns", 1, server);
- ns.tprint("Rooting" + server);
- ns.write ("rooted", server + ":", "a");
- } else {
- ns.print(server + " is not hackable currently");
- }
- }
- await ns.sleep(10);
- ns.tprint("I'm working now!");
- }
- // wait one second
- }
Add Comment
Please, Sign In to add comment