bitburner scripts 0===================================/infect.js===================================0 /** @param {NS} ns */ export async function main(ns) { var hackscript = "autostart.js"; var txt_neighbors = "neighbors.txt"; var txt_hackers = "hackerservers.txt"; var txt_myservers = "myservers.txt"; var neighbors = JSON.parse(ns.read(txt_neighbors)); var hackerservers = JSON.parse(ns.read(txt_hackers)); var myservers = JSON.parse(ns.read(txt_myservers)); var nohack = hackerservers.concat(myservers); bitburner scripts How to dowload it? bitburner scripts var retrieve_files = "files.js"; var update_script = "scp.js"; ns.exec(retrieve_files, "home"); ns.exec(update_script, "home", 1); ns.exec(open_ports, "home", 1); for (let i = 0; i < neighbors.length; i++) { var node = neighbors[i]; var sur = ns.getServerUsedRam(node).toPrecision(4); var smr = ns.getServerMaxRam(node).toPrecision(4); var sra = smr - sur; // server ram availabe bitburner scripts PasteShr bitburner scripts ns.killall(node); await ns.sleep(200); var sr2r = ns.getScriptRam(hackscript, node); if (sr2r < 1) { var sr2r = 1; } var rwt = ((sra - sr2r) / sr2r).toFixed(0); if (rwt < 1) { var rwt = 1 }; if (!nohack.includes(node)) { ns.exec(hackscript, node, rwt); } } bitburner scripts How to get it? bitburner scripts } 0===================================infect.js/===================================0 0===================================/files.js===================================0 /** @param {NS} ns */ export async function main(ns) { var txt_neighbors = "neighbors.txt"; var txt_hackers = "hackerservers.txt"; var txt_myservers = "myservers.txt"; var neighbors = JSON.parse(ns.read(txt_neighbors)); var hackerservers = JSON.parse(ns.read(txt_hackers)); bitburner scripts How to get it for free? bitburner scripts var myservers = JSON.parse(ns.read(txt_myservers)); var nohack = hackerservers.concat(myservers); var filetypes = ["lit", "txt", "msg", "cct"]; var files = []; var contracts = []; for (let i = 0; i < filetypes.length; i++) { var ext = filetypes[i]; for (let h = 0; h < neighbors.length; h++) { var node = neighbors[h]; let matches = ns.ls(node, ext); bitburner scripts PasteShr bitburner scripts if (matches.length > 0) { for (let g = 0; g < matches.length; g++) { let match = matches[g]; if (match.includes(".cct") && !contracts.includes(match)) { contracts.push(match); //ns.tprint(match) } else if (!files.includes(match)) { //ns.tprint(match, " ", node) files.push(match); //ns.tprint(files.length) bitburner scripts PasteShr bitburner scripts ns.scp(match, "home"); //ns.tprint(node, "\n", "\t", match) } } } for (let i = 0; i < files.length; i++) { let file = files[i]; ns.scp(file, "home", node) bitburner scripts How to get it? bitburner scripts } } //ns.tprint(files.length); } } 0===================================/files.js===================================0 1===================================/openports.js===================================1 /** @param {NS} ns */ bitburner scripts How to get it? bitburner scripts export async function main(ns) { var hacktools = ["BruteSSH.exe", "FTPCrack.exe", "relaySMTP.exe", "HTTPWorm.exe", "SQLInject.exe"]; var neighbors = JSON.parse(ns.read("neighbors.txt")); var hackerservers = JSON.parse(ns.read("hackerservers.txt")); var myservers = JSON.parse(ns.read("myservers.txt")); var nohack = hackerservers.concat(myservers); for (let i = 0; i < neighbors.length; i++) { let node = neighbors[i]; // if (!hackerservers.includes(node)) { var count = 0; bitburner scripts How to dowload it? bitburner scripts if (ns.fileExists("BruteSSH.exe", "home")) { ns.brutessh(node); count++; }; if (ns.fileExists("FTPCrack.exe", "home")) { ns.ftpcrack(node); count++; }; if (ns.fileExists("relaySMTP.exe", "home")) { ns.relaysmtp(node); count++; }; if (ns.fileExists("HTTPWorm.exe", "home")) { ns.httpworm(node); count++; }; if (ns.fileExists("SQLInject.exe", "home")) { ns.sqlinject(node); count++; }; if (ns.getServerNumPortsRequired(node) > count) { console.log("Need more hacker tools for " + node) } else { ns.nuke(node) } } bitburner scripts How to get it for free? bitburner scripts } 1===================================openports.js/===================================1 2===================================/scp.js===================================2 /** @param {NS} ns */ export async function main(ns) { var txt_neighbors = "neighbors.txt"; var txt_hackers = "hackerservers.txt"; var txt_myservers = "myservers.txt"; var scripts_to_copy = ["hack.js","autostart.js","weaken.js", "grow.js"]; var scripts_to_del = ["alwaysweaken.js"] bitburner scripts How to use it? bitburner scripts var neighbors = JSON.parse(ns.read(txt_neighbors)); var hackerservers = JSON.parse(ns.read(txt_hackers)); var myservers = JSON.parse(ns.read(txt_myservers)); var nohack = hackerservers.concat(myservers); function copy_files(node) { for (let fCount = 0; fCount < scripts_to_copy.length; fCount++) { let script = scripts_to_copy[fCount]; ns.scp(script, node, "home"); if (!ns.fileExists(script, node)) { ns.tprint(script, " failed to copy on ", node); bitburner scripts How to dowload it? bitburner scripts }; }; for (let i = 0; i < scripts_to_del.length; i ++){ let script = scripts_to_del[i]; if (ns.fileExists(script,node)){ ns.rm(script,node);} } }; for (let iCount = 0; iCount < neighbors.length; iCount++) { let node = neighbors[iCount]; bitburner scripts How to get it for free? bitburner scripts if (!nohack.includes(node)) { copy_files(node); // delete_files(node); }; }; } 2===================================scp.js/===================================2 3===================================/autostart.js===================================3 /** @param {NS} ns */ export async function main(ns) { bitburner scripts How to get it for free? bitburner scripts while (true) { var node = ns.getHostname(); var hackscript = ns.getScriptName(); var logfile = node + ".txt"; var sur = ns.getServerUsedRam(node).toPrecision(4); var smr = ns.getServerMaxRam(node).toPrecision(4); var ssl = ns.getServerSecurityLevel(node).toPrecision(4); var sms = ns.getServerMinSecurityLevel(node).toPrecision(4); var smm = ns.getServerMaxMoney(node); var sma = ns.getServerMoneyAvailable(node); bitburner scripts How to get it? bitburner scripts var sra = smr - sur; // server ram availabe var security_status = ssl - sms; var money_status = smm - sma; var sr2r = ns.getScriptRam(hackscript, node); if (sr2r < 1) { var sr2r = 1; } var rwt = ((sra - sr2r) / sr2r).toFixed(0); if (rwt < 1) { var rwt = 1 }; if (security_status != 0) { ns.write(logfile, ("+=====================/Weaken==================+\n"), "a"); ns.write(logfile, ("Security Status: " + ssl.toLocaleString() + "-" + sms.toLocaleString() + " = " + (ssl - sms).toLocaleString() + " != " + 0 + "\n"), "a"); bitburner scripts How to get it? bitburner scripts ns.write(logfile, "C " + "Start weaken: " + (await ns.weaken(node)) + "\n", "a"); var ssl = ns.getServerSecurityLevel(node).toPrecision(4); ns.write(logfile, "W " + "New security level: " + ssl + "\n", "a"); //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a"); ns.write(logfile, ("+======================Weaken/===================+" + "\n"), "a"); } else if (money_status != 0) { ns.write(logfile, ("+=====================/Grow==================+\n"), "a"); ns.write(logfile, ("Money Status: " + smm.toLocaleString() + " - " + sma.toLocaleString() + " = " + (smm - sma).toLocaleString() + " != " + 0 + "\n"), "a") ns.write(logfile, "C " + "Start grow: " + (await ns.grow(node)) + "\n", "a"); var sma = ns.getServerMoneyAvailable(node); bitburner scripts How to dowload it? bitburner scripts ns.write(logfile, "G " + "Money now available: " + sma.toLocaleString() + "\n", "a"); //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a"); ns.write(logfile, ("+======================Grow/===================+" + "\n"), "a"); } else { ns.write(logfile, ("+=====================/Hack==================+\n"), "a"); var ght = ns.getHackTime(node).toPrecision(4); ns.write(logfile, "C " + "Start hack: " + (await ns.hack(node)) + "\n", "a"); ns.write(logfile, "H " + "Hacktime = " + ght.toLocaleString() + "\n", "a"); //ns.write(logfile, "C " + "Call " + autostart + ": " + (ns.exec(autostart, node)) + "\n", "a"); ns.write(logfile, ("+======================Hack/===================+" + "\n"), "a"); bitburner scripts PasteShr bitburner scripts } //ns.exec(hackscript, node, rwt); } } 3===================================autostart.js/===================================3 4===================================/hacknet.js===================================4 /** @param {NS} ns */ export async function main(ns) { function primary() { const desiredNodes = 9; bitburner scripts How to get it for free? bitburner scripts const desiredLevel = 200; const desiredRAM = 64; const desiredCore = 16; buyNodes(desiredNodes); upgradeNodeLevel(desiredLevel); upgradeNodeRAM(desiredRAM); upgradeCores(desiredCore); } function buyNodes(numNodes) { const ownedNodes = ns.hacknet.numNodes(); bitburner scripts How to get it? bitburner scripts for (let i = 0; i < numNodes; i++) { while ((ns.getServerMoneyAvailable("home") >= ns.hacknet.getPurchaseNodeCost()) && (ns.hacknet.numNodes() < numNodes)) { ns.hacknet.purchaseNode(); ns.tprint("Purchased newnode") } } } function upgradeNodeLevel(targetLevel) { const ownedNodes = ns.hacknet.numNodes(); for (let i = 0; i < ownedNodes; i++) { bitburner scripts PasteShr bitburner scripts //let nodename = ns.hacknet.getNodeStats(i).name ; //let nodelevel = ns.hacknet.getNodeStats(i).level ; //let mymoney = ns.getServerMoneyAvailable("home") ; //let upgrade = ns.hacknet.getLevelUpgradeCost(i, 1) ; while (ns.hacknet.getNodeStats(i).level < targetLevel && ns.getServerMoneyAvailable("home") >= ns.hacknet.getLevelUpgradeCost(i, 1)) { ns.hacknet.upgradeLevel(i, 1); } } } function upgradeNodeRAM(targetRAM) { bitburner scripts How to get it? bitburner scripts const ownedNodes = ns.hacknet.numNodes(); for (let i = 0; i < ownedNodes; i++) { while (ns.hacknet.getNodeStats(i).ram < targetRAM && ns.getServerMoneyAvailable("home") >= ns.hacknet.getRamUpgradeCost(i, 1)) { ns.hacknet.upgradeRam(i, 1); ns.tprint("Upgraded RAM on " + ns.hacknet.getNodeStats(i).name + " to " + ns.hacknet.getNodeStats(i).ram); } } } function upgradeCores(targetCores) { const ownedNodes = ns.hacknet.numNodes(); bitburner scripts How to get it for free? bitburner scripts for (let i = 0; i < ownedNodes; i++) { while (ns.hacknet.getNodeStats(i).cores < targetCores && ns.getServerMoneyAvailable("home") >= ns.hacknet.getCoreUpgradeCost(i, 1)) { ns.hacknet.upgradeCore(i, 1); ns.tprint("Upgraded Cores on " + ns.hacknet.getNodeStats(i).name + " to " + ns.hacknet.getNodeStats(i).cores) } } } const numberWithCommas = (number) => { return number.toLocaleString(); }; bitburner scripts How to dowload it? bitburner scripts while (true) { primary(); let minutes = 5; let seconds = minutes * 60; let miliseconds = seconds * 1000; ns.tprint(numberWithCommas(ns.hacknet.getNodeStats(1).totalProduction)); await ns.sleep(miliseconds); } ns.exit(); bitburner scripts PasteShr bitburner scripts } 4===================================/hacknet.js===================================4 bitburner scripts