fwttnnn

Guide: Beginner's guide to Bitburner

Bitburner falls into the category of incremental, management, and puzzle games. This game is dedicated for people that has prior knowledge of programming. If you don't (ermm.. actually if you have a tiny bit), have no worries cuz I will explain it like you're 5.

Bitburner is just an incremental management game that is coated with the premise of 'hacking', not really. Most of the time you will spend writing automation code, and some statistics analyzing which server is the best to hack.

HEADS UP! Are you qualified to play Bitburner?

Before proceeding, let's ask yourself why you should play the game. In the middle of playing this game, if you don't have the courage to actually study how the game works, then this type of game won't work for you.

BITBURNER DOES NOT TEACHES YOU HOW TO CODE. That's why, you need to start with a prior knowledge of programming. But, worry not. If you just started your journey to code (+points if you have solved some programming problems), then you may proceed to read this guide.

You will read quite a lot of documentation. This is more like working than playing a game, but if you're into solving problems, then yeah. I will teach you how to read the docs, and what to focus on.

To summarize, what you need to have before playing Bitburner:

Booting up Bitburner

You will be greeted with a tutorial that teaches you how to play the game. At the end of the tutorial, you will know how to traverse the server network, run nuke to gain access, and hack. If you haven't, I highly suggest you getting back and finish the tutorial like the game intended.

If you wish to re-do the tutorial, then open up a browser in incognito mode and head to https://bitburner-official.github.io/.

Anyway, the steps to hack a server is as following:

But it's not that simple. Servers have security level, and you need to weaken it. You can also grow the server's money. That is it, the core of the game. You hack, grow, and weaken multiple times to mine the server's money. The game is centered on the mechanics of hacking, but you won't do this back to back typing commands to shell (the terminal). That is where the programming (automation) comes.

You're a Script Kiddie now!

Let's write a script, actually. Let's get the early-hack-template.js script template to hack server(s):

/** @param {NS} ns */
export async function main(ns) {
    // Defines the "target server", which is the server
    // that we're going to hack. In this case, it's "n00dles"
    const target = "n00dles";

    // Defines how much money a server should have before we hack it
    // In this case, it is set to the maximum amount of money.
    const moneyThresh = ns.getServerMaxMoney(target);

    // Defines the minimum security level the target server can
    // have. If the target's security level is higher than this,
    // we'll weaken it before doing anything else
    const securityThresh = ns.getServerMinSecurityLevel(target);

    // If we have the BruteSSH.exe program, use it to open the SSH Port
    // on the target server
    if (ns.fileExists("BruteSSH.exe", "home")) {
        ns.brutessh(target);
    }

    // Get root access to target server
    ns.nuke(target);

    // Infinite loop that continously hacks/grows/weakens the target server
    while (true) {
        if (ns.getServerSecurityLevel(target) > securityThresh) {
            // If the server's security level is above our threshold, weaken it
            await ns.weaken(target);
        } else if (ns.getServerMoneyAvailable(target) < moneyThresh) {
            // If the server's money is less than our threshold, grow it
            await ns.grow(target);
        } else {
            // Otherwise, hack it
            await ns.hack(target);
        }
    }
}

Notice that this is kind of the same like what we've learned before, the steps on how to hack a server. Only this time, you do it with code and some logic.

Game Progression

Create Program > Focus on all the programs that opens a port (cost time) Onion / TOR Router (from T) > Buy programs instantly (cost money)