grow helpers

This commit is contained in:
2022-09-10 20:42:31 +02:00
parent b0abc2a614
commit 7b393a7ffc
12 changed files with 281 additions and 111 deletions
+19 -11
View File
@@ -4,32 +4,40 @@ export async function main(ns) {
ns.disableLog('ALL');
let nukedServers = ['home', 'CSEC'];
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} server server to scan
* @param {string} currentServer server to scan
*/
async function scanServer(server, maxDepth = Number.MAX_SAFE_INTEGER, depth = 1) {
async function scanServer(currentServer, maxDepth = Number.MAX_SAFE_INTEGER, depth = 1, previousServer = currentServer) {
if (depth <= maxDepth) {
let availableServers = ns.scan(server);
let availableServers = ns.scan(currentServer);
// 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]);
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',);
await scanServer('home', runDepth);
await ns.sleep(10);
}
}