35 lines
1.1 KiB
JavaScript
35 lines
1.1 KiB
JavaScript
/** @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);
|
|
} |