/** @param {import(".").NS } ns */ import { EXCLUDE_SERVERS } from "./constants.js"; export async function main(ns) { ns.disableLog('ALL'); /** * Recursively kill simple-hack.js running on servers in the network * @async * @param {string} currentServer server to scan */ function scanServer(currentServer, previousServer = currentServer, connectString = '', scanLevel = 0) { let availableServers = ns.scan(currentServer); let nextConnectString = connectString + `connect ${currentServer}; `; ns.tprint(`${'┃ '.repeat(scanLevel)}┣${currentServer}: ${nextConnectString}`); ns.write('scan.txt', `${'┃ '.repeat(scanLevel)}┣━${currentServer}: ${nextConnectString}`+'\n', 'a'); for (let i = 0; i < availableServers.length; ++i) { let nextServer = availableServers[i]; if (nextServer != currentServer && nextServer != previousServer) { scanServer(nextServer, currentServer, nextConnectString, scanLevel+1); } } } ns.tprint(`Running scan`); ns.write('scan.txt', ``, 'w'); scanServer('home'); }