Files
BitburnerOLD/kill-all-simple-hack.js
T
2022-09-10 20:42:31 +02:00

44 lines
1.3 KiB
JavaScript

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