bitburner/README.md

7.6 KiB

BitBurner - Scripts

These scripts are for playing the open source game BitBurner

Table of Contents

Quick Start

# Download the update script in-game
wget https://gitlab.zakscode.com/ztimson/BitBurner/-/raw/develop/scripts/update.js scripts/update.js

# Run the update script (Repeat this to pull this repository in the future)
run scripts/update.js

# Start the node manager with 8 nodes
run scripts/node-manager.js 8

# Chain the crawler, rootkit & miner to hack everything on the network
alias hackAll="run scripts/crawler.js /scripts/rootkit.js {{TARGET}} /scripts/miner.js"
hackAll

# Identify & install a backdoor on CSEC
run scripts/network-graph.js -f CSEC
run scripts/rootkit.js CSEC
run scripts/connect.js CSEC
backdoor

Learn more about the availible scripts bellow or pass the --help flag to any of the included scripts in-game.

Scripts

botnet-manager.js (WIP)

RAM: GB

Connect & manage a network of devices to launch distributed attacks.


connect.js

RAM: 1.85 GB

Search the network for a device and connect to it.

[home ~/]> run /scripts/connect.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/connect.js: 

Search the network for a device and connect to it.

Usage:	run connect.js DEVICE
	run connect.js --help

	DEVICE			 Device to connect to

Options:
	-h --help		 Display this help message

copy.js

RAM: 3.50 GB

Copy a file/script to a device along with any dependencies.

[home ~/]> run scripts/copy.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/copy.js: 

Copy a file/script to a device along with any dependencies.

Usage:	run copy.js [OPTIONS] FILE DEVICE
	run copy.js --help

	FILE			 File to copy
	DEVICE			 Device to copy file(s) to

Options:
	-d --no-deps		 Skip copying dependencies
	-s --silent		 Surpress program output
	-h --help		 Display this help message

crawler.js

RAM: 4.10 GB

Search the network for devices to execute a script against.

[home ~/]> run scripts/crawler.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/crawler.js: 

Search the network for devices to execute a script against.

Usage:	run crawler.js [OPTIONS] SCRIPT [ARGS]...
	run crawler.js --help

	SCRIPT			 Script to copy & execute
	ARGS			 Arguments for script. Forward the current target with: {{TARGET}}

Options:
	-c --cpu		 Number of CPU threads to use with script
	-d --depth		 Depth to scan to, defaults to 3
	-l --level		 Exclude targets with higher hack level, defaults to current hack level
	-p --ports		 Exclute targets with too many closed ports
	-s --silent		 Surpress program output
	-h --help		 Display this help message

find-target.js

RAM: 6.00 GB

Scan the network for the best device(s) to mine.

[home ~/]> run scripts/find-target.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/find-target.js: 

Scan the network for the best device(s) to mine.

Usage:	run find-target.js [OPTIONS] 
	run find-target.js --help

Options:
	-c --count		 Number of devices to return in order from best to worst
	-r --rooted		 Filter to devices that have been rooted
	-n --not-rooted		 Filter to devices that have not been rooted
	-v --verbose		 Display the estimated income per minute per core
	-h --help		 Display this help message

hacknet-manager.js

RAM: 5.70 GB

Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates.

[home ~/]> run scripts/hacknet-manager.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/hacknet-manager.js: 

Buy, upgrade & manage Hacknet nodes automatically. Tail for live updates.

Usage:	run hacknet-manager.js [OPTIONS] [LIMIT]
	run hacknet-manager.js --help

	LIMIT			 Limit the number of nodes the manager will buy, defaults to 8

Options:
	-b --balance		 Prevent spending bellow point
	-s --sleep		 Amount of time to wait between purchases, defaults to 1 (second)
	-h --help		 Display this help message

miner.js

RAM: 2.45 GB

Weaken, Grow, Hack loop to "mine" device for money. Tail for live updates.

[home ~/]> run scripts/miner.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/miner.js: 

Weaken, Grow, Hack loop to "mine" device for money. Tail for live updates.

Usage:	run miner.js [DEVICE]
	run miner.js --help

	DEVICE			 Device to mine, defaults to current machine

Options:
	-h --help		 Display this help message

network-graph.js

RAM: 3.85 GB

Scan the network for devices and display as an ASCII tree.

[home ~/]> run /scripts/network-graph.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/network-graph.js: 

Scan the network for devices and display as an ASCII tree:
 home
  ├─ n00dles (ROOTED)
  |   └─ max-hardware (80|1)
  |       └─ neo-net (50|1)
  ├─ foodnstuff (ROOTED)
  └─ sigma-cosmetics (ROOTED)

Usage:	run network-graph.js [OPTIONS] [DEVICE]
	run network-graph.js --help

	DEVICE			 Point to start scan from, defaults to current machine

Options:
	-d --depth		 Depth to scan to, defaults is 3
	-f --filter		 Filter to device matching name
	-e --regex		 Filter to devices matching pattern
	-r --rooted		 Filter to devices that have been rooted
	-n --not-rooted		 Filter to devices that have not been rooted
	-v --verbose		 Display the required hack level & number of ports to root: (level|port)
	-h --help		 Display this help message

rootkit.js

RAM: 4.75 GB - 4.90 GB (depending on un-commented programs)

Automatically gain root on a target machine. A file can also be uploaded & executed.

Programs can be commented out to lower the cost of running.

[home ~/]> run scripts/rootkit.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/rootkit.js: 

Automatically gain root access to a device. A file can also be uploaded & executed.

Usage:	run rootkit.js [OPTIONS] [DEVICE] [SCRIPT] [ARGS]...
	run rootkit.js --help

	DEVICE			 Device to root, defaults to current machine
	SCRIPT			 Script to copy & execute
	ARGS			 Arguments for script. Forward the current target with: {{TARGET}}

Options:
	-c --cpu		 Number of CPU threads to use with script
	-s --silent		 Surpress program output
	-h --help		 Display this help message

update.js

RAM: 2.65 GB

Download the latest script updates from the repository using wget.

[home ~/]> run scripts/update.js --help
Running script with 1 thread(s), pid 1 and args: ["--help"].
/scripts/update.js: 

Download the latest script updates from the repository using wget.

Usage:	run update.js [OPTIONS] [DEVICE]
	run update.js --help

	DEVICE			 Device to update, defaults to current machine

Options:
	--skip-self		 Skip updating self (for debugging & used internally)
	--no-banner		 Hide the banner (Used internally)
	-h --help		 Display this help message