Skip to content
Riot Bits

Riot Bits

  • Home
  • News
  • Guides
  • Video Guides
  • Patch Notes
  • Report Abuse
  • Toggle search form
Bitburner

Bitburner – Hacknet Manager for All Upgrades (Full Automation)

Posted on 01/01/2022 By Laingsta No Comments on Bitburner – Hacknet Manager for All Upgrades (Full Automation)
  • Title: Bitburner
  • Release Date:
  • Developer:
  • Publisher:
Information about Bitburner is still incomplete. Please help us fill the details of the game using this contact form.

This script will fully automate the purchase of all Hacknet upgrades in the fastest method possible. The fastest method is exponential returns awarded through selecting the cheapest upgrade at all times, therefore making your money work for you faster. Determine the cheapest upgrade, wait for funds, purchase, rinse and repeat.

Note: RAM Usage is 5.7GB

Create ES5 Script

This script utilizes ES5 JavaScript interpreter, otherwise referenced as Netscript 1.0 meaning a file extension of .script is required.

While inside the Bitburner Terminal create a new script by typing the following:

nano nameOfYourFile.script

Example: nano hacknet_infinite.script

Note: This script requires 5.7GB of memory available

Script Code

Copy the contents of the script and save them into the new script file you just created.

//  Create Function to Return Balance
function myMoney() {
    return getServerMoneyAvailable("home");
}

//  Disable Logging for the Following Commands Below (We Dont Want To See Them While we Wait for Our Balance to Grow)
disableLog("getServerMoneyAvailable");
disableLog("sleep");

//  Create Function to Purchase Upgrade Based on 3 Flags for Node, Item, Qty 
//  # Note Qty is not utilised but the Framework is in Place to Future Proof
function purchase(node, item, qty){
    var node = node, item = item, qty = qty;
    
    if (item == "New Node"){
        hacknet.purchaseNode();
        print("Purchasing New Node")
    }
    if (item == "LVL"){
        hacknet.upgradeLevel(node , qty)
        print("Purchasing LVL Upgrade for Node: " + node)
    }
    if (item == "RAM"){
        hacknet.upgradeRam(node , qty)
        print("Purchasing RAM Upgrade for Node: " + node)
    }
    if (item == "CPU"){
        hacknet.upgradeCore(node , qty)
        print("Purchasing CPU Upgrade for Node: " + node)
    }
}

//  Create Function to Find the Cheapest Upgrade and Set Flags to be Used by the Purchase Function
//  We will set the Default Flags to Purchase a New Node, Only to be Overwritten if a Cheaper Option is Available
function check_cheapest() {
    var new_node_cost = hacknet.getPurchaseNodeCost();
    var node = "Default";
    var item = "New Node";
    var qty = 1;
    var cheapest = new_node_cost;
    var node_qty = hacknet.numNodes();
    
    //  Iterate Through all Node Upgrade Options, Overwrite Flags if Cheaper Upgrade is Found
    for (var i = 0; i < node_qty; i++) {
        var node_lvl = hacknet.getLevelUpgradeCost(i, 1);
        var node_ram = hacknet.getRamUpgradeCost(i, 1);
        var node_cpu = hacknet.getCoreUpgradeCost(i, 1);

        if (node_lvl < cheapest) {
               cheapest = node_lvl;
               node = i;
               item = "LVL";
        }
        if (node_ram < cheapest) {
              cheapest = node_ram;
               node = i;
               item = "RAM";
        }
        if (node_cpu < cheapest) {
               cheapest = node_cpu;
               node = i;
               item = "CPU";
        }
}

    //  I am not a JavaScript Programmer so I am not Adept at String Manipulation in this Language
    //  Print a Summary Log of Cheapest Upgrade Found
    print("")
    print("Cheapest Hacknet Upgrade Available;")
    print("Node             : " + node);
    print("Item             : " + item);
    print("Qty              : " + qty);
    print("")
    print("Current Balance  : $" + myMoney());
    print("Upgrade Cost     : $" + cheapest);
    print("")

    //  After Determining the Cheapest Upgrade we will wait for Balance to Increase Enough to Purchase (This is why we turned off logging)
    while (myMoney() < cheapest) {
        print("Waiting for funds to increase")
        sleep(3000);
    }
    
    //  Call the Purchase Function
    purchase(node, item, qty);
}

//  Run the Cheapest Upgrade Function in an Infinite Loop
while(true) {
	check_cheapest()
}

Usage

After saving the script you can run it by typing:

run nameOfYourScript.script

Example: run hacknet_infinity.script

Under the Hood

This script iterates through all upgrade options sets flags for the cheapest option and waits until there are enough funds to purchase.

Currently, it does not utilize the quantity function, as the cheapest option is always to purchase in single units to get your money working for you faster under the passive income method. This is why the variable Qty is set to 1 and not overwritten in the loop.

If you read through the Hacknet API on the official website there is an example script that uses a value of 10 when purchasing basic levels for Nodes. IMO buying single units will net you more money in the long run due to exponential returns from the smaller purchases of single levels.

I am not a JavaScript programmer, I went into this game with zero knowledge of this language only having a background in Python. Would appreciate it if somebody wants to do some string manipulation for me on the summary section of the script to tidy it up on fewer lines. \n\n 🙂

P.S This is not Asynchronous as there is no benefit in multi-threading this task. No matter how many resources you have your bottleneck is the bank balance. Therefore implementation through .script is not only appropriate it is optimal as it makes use of less memory-intensive commands.

That's everything we are sharing today for this Bitburner guide. This guide was originally created and written by Laingsta. In case we fail to update this guide, you can find the latest update by following this link.

If you believe that any of the content on this site violates your rights, including your intellectual property rights, please contact us immediately using our contact form.
Guides Tags:Bitburner

Post navigation

Previous Post: Dark Souls III Beginner’s Tips and Tricks for the Single and Multiplayer Mode
Next Post: Space Station 14 – Door Hacking Guide (Walls and Windows Included)

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

  • Title: Bitburner
  • Release Date:
  • Developer:
  • Publisher:
Information about Bitburner is still incomplete. Please help us fill the details of the game using this contact form.

Disclaimer

All content cited is derived from their respective sources. If you think we have used your content without permission, make sure to reach us and we will be taking it seriously.
  • About Us
  • Contact Us
  • Privacy Policy
  • Terms of Service

Copyright © 2025 Riot Bits.

Powered by PressBook News WordPress theme