34 lines
956 B
JavaScript
34 lines
956 B
JavaScript
/** @param {NS} ns */
|
|
export async function main(ns) {
|
|
const bKill = ns.args[0]; // if true kill all existing processess
|
|
|
|
//host and script info
|
|
const sThisRunner = ns.getHostname();
|
|
//const sThisScript = ns.getScriptName();
|
|
const nThisPID = ns.pid;
|
|
|
|
//open log for this script
|
|
ns.tail(nThisPID, sThisRunner, ns.args);
|
|
|
|
|
|
//my servers
|
|
const nServ = ns.getPurchasedServers();
|
|
|
|
const sShareScript = "factionboost.js";
|
|
let nScripts = 0;
|
|
|
|
//kill all scripts
|
|
for (let i = 0; i < nServ.length; i++) {
|
|
|
|
nScripts = Math.floor(ns.getServerMaxRam(nServ[i]) / ns.getScriptRam(sShareScript));
|
|
|
|
if (bKill) { ns.killall(nServ[i]); }
|
|
else { ns.scriptKill(sShareScript, nServ[i]); }
|
|
ns.scp(sShareScript, nServ[i], "home");
|
|
|
|
let nShare = Math.floor(((ns.getServerMaxRam(nServ[i]) - ns.getServerUsedRam(nServ[i])) / ns.getScriptRam(sShareScript)));
|
|
if (nShare > 0) {
|
|
ns.exec(sShareScript, nServ[i], nShare);
|
|
}
|
|
}
|
|
} |