/** @param {import(".").NS } ns */ export async function main(ns) { ns.disableLog('ALL'); let nukedServers = ['home', 'CSEC']; /** * Recursively kill simple-hack.js running on servers in the network * @async * @param {string} server server to scan */ async function scanServer(server, maxDepth = Number.MAX_SAFE_INTEGER, depth = 1) { if (depth <= maxDepth) { let availableServers = ns.scan(server); // hack servers in current scan for (let i = 0; i < availableServers.length; ++i) { if (nukedServers.indexOf(availableServers[i]) == -1) { nukedServers.push(availableServers[i]); await scanServer(availableServers[i], maxDepth, depth + 1); ns.scriptKill('simple-hack.js', availableServers[i]); } } } await ns.sleep(10); } let runDepth = ns.args.length ? ns.args[0] : 1; ns.tprint(`Running scan depth: ${runDepth}`); await scanServer('home',); await ns.sleep(10); }