summaryrefslogtreecommitdiff
path: root/bitburnerFiles1026/hwgw
diff options
context:
space:
mode:
Diffstat (limited to 'bitburnerFiles1026/hwgw')
-rw-r--r--bitburnerFiles1026/hwgw/hacker.js255
1 files changed, 0 insertions, 255 deletions
diff --git a/bitburnerFiles1026/hwgw/hacker.js b/bitburnerFiles1026/hwgw/hacker.js
deleted file mode 100644
index c4c827b..0000000
--- a/bitburnerFiles1026/hwgw/hacker.js
+++ /dev/null
@@ -1,255 +0,0 @@
-let growhost = ["home"]; // Initialize the growhost array -- Include "home" if you want to grow servers from home as well as pservs
-let targets;
-let full = false;
-let grown = [];
-let running = [];
-const debug = false; // True to print debugging logs
-let hostmax = 25; // Set the maximum number of hosts -- Useful for changing between using home and not
-
-/** @param {NS} ns */
-export async function main(ns) {
- const hackram = ns.getScriptRam("temphack.js");
- const growram = ns.getScriptRam("tempgrow.js");
- if (ns.args[0] == "-f") {
- full = true;
- }
-
- ns.tail();
- ns.moveTail(1075, 350);
- ns.resizeTail(300, 200);
-
- ns.tail();
- if (!debug) {ns.disableLog("ALL")}
- if (debug) {ns.disableLog("sleep")}
-
- targets = Array(ns.read("moneyServers.txt"))[0].split("\n");
-
- if (debug) {ns.print("Line 27")}
- for (let i = targets.length - 1; i >= 0; i--) {
- if (ns.getRunningScript("temphack.js", "home", targets[i], true)) {
- ns.print("Already running ", targets[i]);
- running.push(targets[i]);
- }
- await ns.sleep(100);
- }
-
- gethosts(ns);
-
- if (debug) {ns.print("Line 38")}
- // if (growhost.length < 5) {
- // ns.print("waiting for pservs");
- // while (growhost.length < 5) {
- // gethosts(ns);
- // await ns.sleep(1000);
- // }
- // ns.print("done waiting for pservs");
- // }
-
- if (debug) {ns.print("Line 48")}
- let m = false;
- if (growhost.length == 1 || growhost.length == 0) {
- ns.print("Growhost length:", growhost.length);
- ns.exec("hack.js", "home", Math.floor((ns.getServerMaxRam("home") - ns.getServerUsedRam("home")) / ns.getScriptRam("hack.js")), "foodnstuff", true);
- m = true;
- }
-
- if (debug) {ns.print("Line 56")}
- if (m == true) {
- ns.kill("hack.js", "home", "foodnstuff", true);
- }
-
- // Wait until we have FTPCrack.exe
- // if (!ns.fileExists("FTPCrack.exe")) {
- // ns.print("Waiting for FTPCrack.exe");
- // while (!ns.fileExists("FTPCrack.exe")) {
- // await ns.sleep(6000);
- // }
- // }
-
- // Main Loop
- let n = 0;
- while (n < targets.length) {
- if (debug) {ns.print("Beginning of loop")}
- n = 0;
-
- // Check for new pserv's
- if (growhost.length < 25) {
- gethosts(ns);
- }
-
- // correct grown[] by reseting and counting all that are currently being grown
- // so that they can be hacked afterward
- grown = [];
- if (debug) {ns.print("Before first for loop"); ns.print("Growhost length: ", growhost.length); ns.print("Targets length: ", targets.length)}
- for (let i = 0; i < growhost.length; i++) {
- for (let j = 0; j < targets.length; j++) {
- if (debug) {ns.clearLog(); ns.print("Checking grown ", i, ":", j)}
- if (ns.getRunningScript("tempgrow.js", growhost[i], targets[j])) {
- grown.push(targets[j]);
- }
- await ns.sleep(10);
- }
- await ns.sleep(100);
- }
-
- running = [];
- if (debug) {ns.print("Before second for loop")}
- for (let i = targets.length - 1; i >= 0; i--) {
- if (ns.getRunningScript("temphack.js", "home", targets[i], true)) {
- ns.print("Already running ", targets[i]);
- running.push(targets[i]);
- }
- await ns.sleep(100);
- }
-
-
- if (debug) {ns.print("Targets: ");ns.print(targets);ns.print("Before third for loop")}
- for (let i = targets.length - 1; i >= 0; i--) { // for every target, going backwards from most to least money
- // for (let i = 0; i < targets.length; i++) { // for every target, going backwards from most to least money
- if (!grown.includes(targets[i]) && !running.includes(targets[i])) { // not running or grown
- // ns.print("Don't have ", targets[i], " running");
- let hacklevel = ns.getHackingLevel() * 0.9; // get the player's hacking level
- if (hacklevel >= ns.getServerRequiredHackingLevel(targets[i])) { // when the target is hackable
- if (!ns.hasRootAccess(targets[i])) { // if we don't have access
- ns.print(i + 1, ": ", targets[i], "\n");
- ns.brutessh(targets[i]);
- try {
- ns.ftpcrack(targets[i]);
- ns.relaysmtp(targets[i]);
- ns.httpworm(targets[i]);
- ns.sqlinject(targets[i]);
- } catch {}
- try {
- ns.nuke(targets[i]);
- ns.print("Gained root access to ", targets[i]);
- } catch {
- continue;
- }
- }
- if (ns.getServerMoneyAvailable(targets[i]) != ns.getServerMaxMoney(targets[i])) { // if it needs to be grown
- let host = ghost(ns);
- ns.print("Host: ", host);
- if (!ns.getRunningScript("tempgrow.js", host, targets[i])) {
- ns.print("Host: ", host);
- let threads = growthreads(ns, targets[i]);
- if (threads * growram > netram(ns, host)) {
- threads = Math.floor(netram(ns, host) / growram);
- }
- ns.print("Host: ", host);
- if (threads > 0) {
- ns.print("Growing ", targets[i]);
- ns.exec("tempgrow.js", host, threads, targets[i]);
- grown.push(targets[i]);
- break;
- }
- }
- } else { // if it can now be hacked
- let threads = hackthreads(ns, targets[i]);
- let host = "home"
- if (threads * hackram < netram(ns, host)) {
- if (threads > 0) {
- ns.print("Threads for: ", targets[i], ", ", hackthreads(ns, targets[i]), "\n");
- ns.exec("temphack.js", "home", threads, targets[i], true);
- running.push(targets[i]);
- }
- } else {
- host = ghost(ns);
- if (threads * hackram > netram(ns, host)) {
- threads = Math.floor(netram(ns, host) / hackram);
- }
- if (threads > 0) {
- ns.exec("temphack.js", host, threads, targets[i], true);
- running.push(targets[i]);
- }
- }
- }
- }
- }
- await ns.sleep(100);
- }
- if (debug) {ns.print("End of loop")}
- display(ns);
- await ns.sleep(100);
- }
- ns.tprint("All targets grown and being hacked");
-}
-
-function netram(ns, serv) {
- ns.print("netram");
- return ns.getServerMaxRam(serv) - ns.getServerUsedRam(serv);
-}
-
-// Finds the minimum number of threads to hack a target server
-function hackthreads(ns, serv) {
- ns.print("hackthreads");
- try {
- return Math.ceil(1 / (ns.formulas.hacking.hackPercent(ns.getServer(serv), ns.getPlayer())));
- } catch {
- return 1000
- }
-}
-
-function ghost(ns) {
- ns.print("ghosts");
- for (let i = 0; i < growhost.length; i++) {
- if (ns.getServerUsedRam(growhost[i]) == 0) {
- return growhost[i];
- }
- }
- for (let i = 0; i < growhost.length; i++) {
- if (netram(ns, growhost[i]) > 2000) {
- return growhost[i];
- }
- }
- return growhost[0];
-}
-
-function growthreads(ns, serv) {
- ns.print("growthreads");
- try {
- return Math.max(
- (ns.formulas.hacking.growThreads(ns.getServer(serv), ns.getPlayer(), ns.getServerMaxMoney(serv))) * 2,
- Math.ceil((ns.getServerSecurityLevel(serv) - ns.getServerMinSecurityLevel(serv)) / 0.05)
- );
- } catch {
- return 500;
- }
-}
-
-function gethosts (ns) {
- ns.print("gethosts");
- for (let s = growhost.length - 1; s < 25; s++) {
- if (s < 10) {
- if (ns.serverExists("pserv-0" + s) && !growhost.includes("pserv-0" + s)) {
- growhost.push("pserv-0" + s);
- ns.scp("tempgrow.js", growhost[growhost.length - 1]);
- ns.scp("temphack.js", growhost[growhost.length - 1]);
- }
- } else {
- if (ns.serverExists("pserv-" + s) && !growhost.includes("pserv-" + s)) {
- growhost.push("pserv-" + s);
- ns.scp("tempgrow.js", growhost[growhost.length - 1]);
- ns.scp("temphack.js", growhost[growhost.length - 1]);
- }
- }
- }
-}
-
-function display(ns) {
- ns.clearLog();
- for (let i = 0; i < targets.length; i++) {
- if (ns.getRunningScript("temphack.js", "home", targets[i], true)) {
- ns.print(targets[i], ": Running\n");
- } else if (full == true) {
- ns.print(targets[i], ": Idle\n");
- } else {
- for (let j = 0; j < growhost.length; j++) {
- if (ns.getRunningScript("tempgrow.js", growhost[j], targets[i])) {
- ns.print(targets[i], ": Growing\n");
- break;
- }
- }
- }
- }
- ns.print("Growhosts: ", growhost.length);
-} \ No newline at end of file