Advertisement
spezticle

bitburner - learning - benshack.js

Mar 9th, 2024
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /** @param {NS} ns */
  2. export async function main(ns) {
  3.     var nohack = ["CSEC", "avmnite-02h", "I.I.I.I", "run4theh111z", ".", "icarus", "darkweb"]
  4.  
  5.     const int_sst = 5 // set how high above security level we want to wait for
  6.     const int_smt = .75 // set how close to max server money we want to wait for
  7.     const vHOST = ns.getHostname()
  8.     const sn = ns.getScriptName()
  9.     const smr = ns.getServerMaxRam(vHOST)
  10.     const smm = ns.getServerMaxMoney(vHOST)
  11.     const sms = ns.getServerMinSecurityLevel(vHOST)
  12.     function get_gt() {
  13.         // get grow time with 2 decimal
  14.         var gt = ns.getGrowTime(vHOST).toFixed(2)
  15.         return gt
  16.     }
  17.     function get_gr() {
  18.         var gr = ns.getServerGrowth(vHOST)
  19.         return gr
  20.     }
  21.     function get_ht() {
  22.         // get hack time with 2 decimal
  23.         var ht = ns.getHackTime(vHOST).toFixed(2)
  24.         return ht
  25.     }
  26.     function get_phl() {
  27.         // get player hack level
  28.         var phl = ns.getHackingLevel()
  29.         return phl
  30.     }
  31.     function get_sma() {
  32.         // get server money available
  33.         var sma = ns.getServerMoneyAvailable(vHOST)
  34.         return sma
  35.     }
  36.     function get_spr() {
  37.         // get server ports required to hack
  38.         var spr = ns.getServerNumPortsRequired(vHOST)
  39.         return spr
  40.     }
  41.     function get_shlr() {
  42.         // get server required hacking level
  43.         var shlr = ns.getServerRequiredHackingLevel(vHOST)
  44.         return shlr
  45.     }
  46.     function get_swt() {
  47.         // get server weaken time
  48.         var swt = ns.getWeakenTime(vHOST).toFixed(2)
  49.         return swt
  50.     }
  51.     function get_sur() {
  52.         // get server used ram
  53.         var sur = ns.getServerUsedRam(vHOST)
  54.         return sur
  55.     }
  56.     function get_sar() {
  57.         //get server available ram
  58.         var sar = smr - get_sur()
  59.         return sar
  60.     }
  61.     function get_sr() {
  62.         // get script ram requirements
  63.         var sr = ns.getScriptRam(sn)
  64.         return sr
  65.     }
  66.     function get_ras() {
  67.         // get ram available after script run
  68.         var ras = get_sar() - get_sr()
  69.         return ras
  70.     }
  71.     function get_ssl() {
  72.         // get server security level
  73.         var ssl = ns.getServerSecurityLevel(vHOST).toFixed(2)
  74.         return ssl
  75.     }
  76.     function get_sst() {
  77.         // get security level we want to run at
  78.         var sst = sms + int_sst
  79.         return sst
  80.     }
  81.     function get_smt() {
  82.         // get amount of money we want to attack at
  83.         var smt = smm * int_smt
  84.         return smt
  85.     }
  86.     ns.brutessh(vHOST)
  87.     ns.relaysmtp(vHOST)
  88.     ns.httpworm(vHOST)
  89.     ns.sqlinject(vHOST)
  90.     ns.ftpcrack(vHOST)
  91.  
  92.     if (!nohack.includes(vHOST)) {
  93.         while (true) {
  94.             if (get_ssl() > get_sst()) {
  95. //              ns.tprint("need to weaken " + vHOST)
  96.                 await ns.weaken(vHOST)
  97. //              ns.tprint(ns.weakenAnalyze() + " points in " + ns.getWeakenTime().toFixed(2) + " miliseconds")
  98.             } else if (get_sma() > get_smt()) {
  99. //              ns.tprint("hacking " + vHOST)
  100.                 await ns.hack(vHOST)
  101.             } else {
  102. //              ns.tprint("growing " + vHOST)
  103.                 await ns.grow(vHOST)
  104. //              ns.tprint(ns.grow)
  105.  
  106.             }
  107.         }
  108.     }
  109. }
Tags: Bitburner
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement