diff --git a/README.md b/README.md
index a6555d1..4ddfdeb 100644
--- a/README.md
+++ b/README.md
@@ -1,504 +1,505 @@
-
-
-
-
-
-
-
-
- ### Bitburner
-
-
- Collection of Bitburner scipts
-
-
- [![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/Bitburner&query=open_pr_counter)](https://git.zakscode.com/ztimson/Bitburner/pulls)
- [![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/Bitburner&query=open_issues_count)](https://git.zakscode.com/ztimson/Bitburner/issues)
-
-
- ---
-
-
- ---
-
-
-
-## Table of Contents
-- [Bitburner](#top)
- - [About](#about)
- - [Built With](#built-with)
- - [Quick Start](#qiuck-start)
- - [Scripts](#scripts)
- - [banner.js](#banner)
- - [botnet-manager.js (WIP)](#botnet)
- - [connect.js](#connect)
- - [copy.js](#copy)
- - [crawler.js](#crawler)
- - [find-target.js](#find-target)
- - [hacknet-manager.js](#hacknet)
- - [miner.js](#miner)
- - [network-graph.js](#network-graph)
- - [rm.js](#rm)
- - [rootkit.js](#rootkit)
- - [server-manager.js](#server-manager)
- - [update.js](#update)
- - [License](#license)
-
-## About
-A collection of scripts & information pertaining to the [open source](https://github.com/danielyxie/bitburner) game [Bitburner](https://danielyxie.github.io/bitburner/)
-
-### Built with
-[![JavaScript](https://img.shields.io/badge/JavaScript-000000?style=for-the-badge&logo=javascript)](https://javascript.com/)
-
-## Quick Start
-
-```bash
-# Download the update script in-game & run it
-wget https://gitlab.zakscode.com/ztimson/Bitburner/-/raw/develop/scripts/update.js scripts/update.js
-run scripts/update.js # Repeat to pull the latest
-
-# View the network
-run scripts/network-graph.js --verbose
-run scripts/netowkr-graph.js -v --filter CSEC # Find path to a specific device
-
-# Start the node manager in auto-mode
-run scripts/node-manager.js -a
-
-# Chain the crawler & rootkit to root all devices on the network
-run scripts/crawler.js --not-rooted /scripts/rootkit.js {{TARGET}}
-
-# Find the most profitable server & use the crawler to deploy miners on the network targeting it
-run scripts/find-target.js # Output: n00dles
-run scriipts/crawler.js --rooted --remote-exec /scripts/miner.js n00dles
-
-# Install backdoor on CSEC
-run scripts/rootkit.js CSEC
-run scripts/connect.js CSEC
-backdoor
-```
-
-## Scripts
-
-
-
- banner.js
-
-
-
-**RAM:** 1.60 GB | [Code](./src/banner.js)
-
-Aesthetic & serves no real purpose. Prints a banner to the terminal & can repeat after game restarts.
-```
-[home ~/]> run scripts/banner.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/banner.js:
-
-Display an ASCII banner.
-
-Usage: run banner.js [OPTIONS]
- run banner.js --help
-
-Options:
- -r, --reboot Automatically display after game reboots
- -h, --help Display this help message
-```
-
-
-
-
- botnet-manager.js (WIP)
-
-
-
-**RAM:** 7.15 GB | [Code](./scripts/botnet-manager.js)
-
-Late-game solution to hack servers. It orchestrates an unlimited number of servers to carry out distributed batched
-attacks against targets. It includes a bunch of utilities to quickly dispatch single commands to all workers. Manger
-can be tailed for live updates.
-```
-[home ~/]> run /scripts/botnet-manager.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/botnet-manager.js:
-
-Connect & manage a network of devices to launch distributed attacks.
-
-Usage: run botnet-manager.js [OPTIONS]
- run botnet-manager.js [OPTIONS] COMMAND
- run botnet-manager.js --help [COMMAND]
-
-Options:
- -s, --silent Suppress program output
- -h, --help Display this help message
-
-Commands:
- copy Copy file & dependencies to swarm nodes
- join Connect device as a worker node to the swarm
- kill Kill any scripts running on worker nodes
- leave Disconnect worker node from swarm
- run Copy & run script on all worker nodes
- start Start this device as the swarm manager
-```
-
-
-
-
- connect.js
-
-
-
-**RAM:** 1.85 GB | [Code](./scripts/connect.js)
-
-The built in `connect` command only allows you to connect to devices in the immediate vicinity or servers that have
-backdoors installed requiring you to make several jumps. This script will automatically find a path & connect you saving
-you some time.
-```
-[home ~/]> run /scripts/connect.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/connect.js:
-
-Connect to a server anywhere in the network without a backdoor.
-
-Usage: run connect.js [OPTIONS] SERVER
- run connect.js --help
-
- SERVER Server to connect to
-
-Options:
- -h, --help Display this help message
-```
-
-
-
-
- copy.js
-
-
-
-**RAM:** 4.20 GB | [Code](./scripts/copy.js)
-
-Scripts often import other scripts requiring multiple `scp` calls before it can be run on a remote machine. This script
-will automatically scan the file being copied for imports & recursively scan & copy the dependencies. Plus it has a
-fancy animated loading bar.
-```
-[home ~/]> run scripts/copy.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/copy.js:
-
-Copy a file & it's dependencies to a server.
-
-Usage: run copy.js [OPTIONS] FILE SERVER [ARGS]...
- run copy.js --help
-
- FILE File to copy
- SERVER Server to copy file(s) to
- ARGS Arguments to start file/script with
-
-Options:
- -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
- -e, --execute Start script after copying
- -n, --no-deps Skip copying dependencies
- -q, --quite Suppress program output
- -h, --help Display this help message
-```
-
-
-
-
- crawler.js
-
-
-
-**RAM:** 5.80 GB | [Code](./scripts/crawler.js)
-
-Mid-game solution to distribute & run scripts across the network.
-```
-[home ~/]> run scripts/crawler.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/crawler.js:
-
-Search the network for servers 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 discovered server with: {{SERVER}}
-
-Options:
- -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
- -d, --depth Depth to scan to, defaults to 3
- -k, --kill Kill all running scripts on the server
- --level Skip servers with higher hack level, defaults to current hack level
- -e, --remote-exec Execute script on remote server
- -r, --rooted Only servers that have been rooted
- -n, --not-rooted Only servers that have not been rooted
- -p, --ports Skip servers with too many closed ports
- -q, --quite Suppress program output
- -v, --verbose Display the server names in the final report
- -h, --help Display this help message
-```
-
-
-
-
- find-target.js
-
-
-
-**RAM:** 4.05 GB | [Code](./scripts/find-target.js)
-
-A utility to help figure out which server is worth hacking the most. It does this by estimating the financial yield per
-minute for each server & returns the servers in a sorted list.
-```
-[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 servers(s) to hack.
-
-Usage: run find-target.js [OPTIONS]
- run find-target.js --help
-
-Options:
- -c, --count Number of servers to return
- -r, --rooted Only servers that have been rooted
- -n, --not-rooted Only servers 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 | [Code](./scripts/hacknet-manager.js)
-
-An early game solution to automate the hacknet & get easy money.
-```
-[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 or the current number of nodes
-
-Options:
- -a, --auto-limit Automatically increase the node limit when there is nothing to do
- -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 | [Code](./scripts/miner.js)
-
-An early-game HGW script to steal money from servers. You can deploy this on each server and have them hack themselves,
-or they can all target the server with the most money which is more efficient (see [find-target.js](#find-target)).
-```
-[home ~/]> run scripts/miner.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/miner.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 or the current number of nodes
-
-Options:
- -a, --auto-limit Automatically increase the node limit when there is nothing to do
- -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
-```
-
-
-
-
- network-graph.js
-
-
-
-**RAM:** 3.85 GB | [Code](./scripts/network-graph.js)
-
-A utility to scan the network & build a visual tree of all the devices. It comes with lots of flags to narrow down the
-results. It's useful for figuring out where you are, manually finding targets & discovering the path to a server &
-connecting to it.
-```
-[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 servers and display as an ASCII tree. Servers with root access are highlighted & bold. Click to
-automatically connect.
-
-Usage: run network-graph.js [OPTIONS] [SERVER]
- run network-graph.js --help
-
- SERVER Point to start scan from, defaults to local server
-
-Options:
- -d, --depth Depth to scan to
- -f, --filter Filter to servers matching name
- -e, --regex Filter to servers matching pattern
- -l, --level Display the required hack level & number of ports to root: [level|port]
- -n, --not-rooted Filter to servers that have not been rooted
- -r, --rooted Filter to servers that have been rooted
- -s, --specs Display the server specifications: {CPU|RAM}
- -u, --usage Display the server utilization: (USG%)
- -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%)
- -h, --help Display this help message
-```
-
-
-
-
- rm.js
-
-
-
-**RAM:** 2.85 GB | [Code](./scripts/rm.js)
-
-[bitburner-connector](https://plugins.jetbrains.com/plugin/18338-bitburner-connector) would occasionally push my IDE
-files to the game, so I created this simple script to recursively search & delete files from a directory to save me
-from having to delete files one-by-one.
-```
-[home ~/scripts]> run /scripts/rm.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/rm.js:
-
-Recursively delete files inside a directory
-
-Usage: run rm.js [OPTIONS] PATH [SERVER]
- run rm.js --help
-
- PATH Path to recursively search
- SERVER Run on remote server
-
-Options:
- -f, --force Remove game files (.exe, .lit, .msg)
- -r, --recursive Delete everything inside directory
- -h, --help Display this help message
-```
-
-
-
-
- rootkit.js
-
-
-
-**RAM:** 4.65 GB | [Code](./scripts/rootkit.js)
-
-Automatically gains root on the local or remote server. A script can be passed as an additional argument; it will be
-copied and automatically executed with the maximum number of threads after being rooted.
-```
-[home ~/]> run scripts/rootkit.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/rootkit.js:
-
-Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold.
-
-Usage: run network-graph.js [OPTIONS] [SERVER]
- run network-graph.js --help
-
- SERVER Point to start scan from, defaults to local server
-
-Options:
- -d, --depth Depth to scan to
- -f, --filter Filter to servers matching name
- -e, --regex Filter to servers matching pattern
- -l, --level Display the required hack level & number of ports to root: [level|port]
- -n, --not-rooted Filter to servers that have not been rooted
- -r, --rooted Filter to servers that have been rooted
- -s, --specs Display the server specifications: {CPU|RAM}
- -u, --usage Display the server utilization: (USG%)
- -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%)
- -h, --help Display this help message
-```
-
-
-
-
- server-miner.js
-
-
-
-**RAM:** 11.35 GB | [Code](./scripts/server-manager.js)
-
-Mid-game script to handle purchasing and upgrading servers for more computer power. You can also set a script to run
-automatically after purchase. Useful to chain with `miner.js` or `botnet.js`.
-```
-[home ~/]> run /scripts/server-manager.js --help
-Running script with 1 thread(s), pid 1 and args: ["--help"].
-/scripts/server-manager.js:
-
-Automate the buying & upgrading of servers. Automatically starts script after purchase. Tail for live updates.
-
-Usage: run server-manager.js [OPTIONS] [SCRIPT] [ARGS]...
- run server-manager.js --help
-
- SCRIPT Script to copy & execute
- ARGS Arguments for script. Forward the discovered server with: {{SERVER}}
-
-Options:
- -b, --balance Prevent spending bellow point
- -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
- -l, --limit Limit the number of servers that can be purchased, defaults to 25
- -r, --ram Amount of RAM to purchase new servers with, defaults to 8 GB
- -s, --sleep Amount of time to wait between purchases, defaults to 1 (second)
- -h, --help Display this help message
-```
-
-
-
-
- update.js
-
-
-
-**RAM:** 2.65 GB | [Code](./scripts/update.js)
-
-Uses the in-game `wget` to download all the scripts in this repository. Can target remote servers to quickly copy the
-entire toolkit to the target.
-```
-[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
-```
-
-
-## License
-Copyright © 2023 Zakary Timson | Available under MIT Licensing
-
-See the [license](./LICENSE) for more information.
+
+
+
+
+
+
+
+
+ ### Bitburner
+
+
+ Collection of Bitburner scipts
+
+
+ [![Version](https://img.shields.io/badge/dynamic/json.svg?label=Version&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner/tags&query=$[0].name)](https://git.zakscode.com/ztimson/bitburner/tags)
+ [![Pull Requests](https://img.shields.io/badge/dynamic/json.svg?label=Pull%20Requests&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner&query=open_pr_counter)](https://git.zakscode.com/ztimson/bitburner/pulls)
+ [![Issues](https://img.shields.io/badge/dynamic/json.svg?label=Issues&style=for-the-badge&url=https://git.zakscode.com/api/v1/repos/ztimson/bitburner&query=open_issues_count)](https://git.zakscode.com/ztimson/bitburner/issues)
+
+
+
+ ---
+
+
+ ---
+
+
+## Table of Contents
+- [Bitburner](#top)
+ - [About](#about)
+ - [Built With](#built-with)
+ - [Quick Start](#qiuck-start)
+ - [Scripts](#scripts)
+ - [banner.js](#banner)
+ - [botnet-manager.js (WIP)](#botnet)
+ - [connect.js](#connect)
+ - [copy.js](#copy)
+ - [crawler.js](#crawler)
+ - [find-target.js](#find-target)
+ - [hacknet-manager.js](#hacknet)
+ - [miner.js](#miner)
+ - [network-graph.js](#network-graph)
+ - [rm.js](#rm)
+ - [rootkit.js](#rootkit)
+ - [server-manager.js](#server-manager)
+ - [update.js](#update)
+ - [License](#license)
+
+## About
+A collection of scripts & information pertaining to the [open source](https://github.com/danielyxie/bitburner) game [Bitburner](https://danielyxie.github.io/bitburner/)
+
+### Built with
+[![JavaScript](https://img.shields.io/badge/JavaScript-000000?style=for-the-badge&logo=javascript)](https://javascript.com/)
+
+## Quick Start
+
+```bash
+# Download the update script in-game & run it
+wget https://gitlab.zakscode.com/ztimson/Bitburner/-/raw/develop/scripts/update.js scripts/update.js
+run scripts/update.js # Repeat to pull the latest
+
+# View the network
+run scripts/network-graph.js --verbose
+run scripts/netowkr-graph.js -v --filter CSEC # Find path to a specific device
+
+# Start the node manager in auto-mode
+run scripts/node-manager.js -a
+
+# Chain the crawler & rootkit to root all devices on the network
+run scripts/crawler.js --not-rooted /scripts/rootkit.js {{TARGET}}
+
+# Find the most profitable server & use the crawler to deploy miners on the network targeting it
+run scripts/find-target.js # Output: n00dles
+run scriipts/crawler.js --rooted --remote-exec /scripts/miner.js n00dles
+
+# Install backdoor on CSEC
+run scripts/rootkit.js CSEC
+run scripts/connect.js CSEC
+backdoor
+```
+
+## Scripts
+
+
+
+ banner.js
+
+
+
+**RAM:** 1.60 GB | [Code](./src/banner.js)
+
+Aesthetic & serves no real purpose. Prints a banner to the terminal & can repeat after game restarts.
+```
+[home ~/]> run scripts/banner.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/banner.js:
+
+Display an ASCII banner.
+
+Usage: run banner.js [OPTIONS]
+ run banner.js --help
+
+Options:
+ -r, --reboot Automatically display after game reboots
+ -h, --help Display this help message
+```
+
+
+
+
+ botnet-manager.js (WIP)
+
+
+
+**RAM:** 7.15 GB | [Code](./scripts/botnet-manager.js)
+
+Late-game solution to hack servers. It orchestrates an unlimited number of servers to carry out distributed batched
+attacks against targets. It includes a bunch of utilities to quickly dispatch single commands to all workers. Manger
+can be tailed for live updates.
+```
+[home ~/]> run /scripts/botnet-manager.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/botnet-manager.js:
+
+Connect & manage a network of devices to launch distributed attacks.
+
+Usage: run botnet-manager.js [OPTIONS]
+ run botnet-manager.js [OPTIONS] COMMAND
+ run botnet-manager.js --help [COMMAND]
+
+Options:
+ -s, --silent Suppress program output
+ -h, --help Display this help message
+
+Commands:
+ copy Copy file & dependencies to swarm nodes
+ join Connect device as a worker node to the swarm
+ kill Kill any scripts running on worker nodes
+ leave Disconnect worker node from swarm
+ run Copy & run script on all worker nodes
+ start Start this device as the swarm manager
+```
+
+
+
+
+ connect.js
+
+
+
+**RAM:** 1.85 GB | [Code](./scripts/connect.js)
+
+The built in `connect` command only allows you to connect to devices in the immediate vicinity or servers that have
+backdoors installed requiring you to make several jumps. This script will automatically find a path & connect you saving
+you some time.
+```
+[home ~/]> run /scripts/connect.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/connect.js:
+
+Connect to a server anywhere in the network without a backdoor.
+
+Usage: run connect.js [OPTIONS] SERVER
+ run connect.js --help
+
+ SERVER Server to connect to
+
+Options:
+ -h, --help Display this help message
+```
+
+
+
+
+ copy.js
+
+
+
+**RAM:** 4.20 GB | [Code](./scripts/copy.js)
+
+Scripts often import other scripts requiring multiple `scp` calls before it can be run on a remote machine. This script
+will automatically scan the file being copied for imports & recursively scan & copy the dependencies. Plus it has a
+fancy animated loading bar.
+```
+[home ~/]> run scripts/copy.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/copy.js:
+
+Copy a file & it's dependencies to a server.
+
+Usage: run copy.js [OPTIONS] FILE SERVER [ARGS]...
+ run copy.js --help
+
+ FILE File to copy
+ SERVER Server to copy file(s) to
+ ARGS Arguments to start file/script with
+
+Options:
+ -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
+ -e, --execute Start script after copying
+ -n, --no-deps Skip copying dependencies
+ -q, --quite Suppress program output
+ -h, --help Display this help message
+```
+
+
+
+
+ crawler.js
+
+
+
+**RAM:** 5.80 GB | [Code](./scripts/crawler.js)
+
+Mid-game solution to distribute & run scripts across the network.
+```
+[home ~/]> run scripts/crawler.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/crawler.js:
+
+Search the network for servers 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 discovered server with: {{SERVER}}
+
+Options:
+ -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
+ -d, --depth Depth to scan to, defaults to 3
+ -k, --kill Kill all running scripts on the server
+ --level Skip servers with higher hack level, defaults to current hack level
+ -e, --remote-exec Execute script on remote server
+ -r, --rooted Only servers that have been rooted
+ -n, --not-rooted Only servers that have not been rooted
+ -p, --ports Skip servers with too many closed ports
+ -q, --quite Suppress program output
+ -v, --verbose Display the server names in the final report
+ -h, --help Display this help message
+```
+
+
+
+
+ find-target.js
+
+
+
+**RAM:** 4.05 GB | [Code](./scripts/find-target.js)
+
+A utility to help figure out which server is worth hacking the most. It does this by estimating the financial yield per
+minute for each server & returns the servers in a sorted list.
+```
+[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 servers(s) to hack.
+
+Usage: run find-target.js [OPTIONS]
+ run find-target.js --help
+
+Options:
+ -c, --count Number of servers to return
+ -r, --rooted Only servers that have been rooted
+ -n, --not-rooted Only servers 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 | [Code](./scripts/hacknet-manager.js)
+
+An early game solution to automate the hacknet & get easy money.
+```
+[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 or the current number of nodes
+
+Options:
+ -a, --auto-limit Automatically increase the node limit when there is nothing to do
+ -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 | [Code](./scripts/miner.js)
+
+An early-game HGW script to steal money from servers. You can deploy this on each server and have them hack themselves,
+or they can all target the server with the most money which is more efficient (see [find-target.js](#find-target)).
+```
+[home ~/]> run scripts/miner.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/miner.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 or the current number of nodes
+
+Options:
+ -a, --auto-limit Automatically increase the node limit when there is nothing to do
+ -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
+```
+
+
+
+
+ network-graph.js
+
+
+
+**RAM:** 3.85 GB | [Code](./scripts/network-graph.js)
+
+A utility to scan the network & build a visual tree of all the devices. It comes with lots of flags to narrow down the
+results. It's useful for figuring out where you are, manually finding targets & discovering the path to a server &
+connecting to it.
+```
+[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 servers and display as an ASCII tree. Servers with root access are highlighted & bold. Click to
+automatically connect.
+
+Usage: run network-graph.js [OPTIONS] [SERVER]
+ run network-graph.js --help
+
+ SERVER Point to start scan from, defaults to local server
+
+Options:
+ -d, --depth Depth to scan to
+ -f, --filter Filter to servers matching name
+ -e, --regex Filter to servers matching pattern
+ -l, --level Display the required hack level & number of ports to root: [level|port]
+ -n, --not-rooted Filter to servers that have not been rooted
+ -r, --rooted Filter to servers that have been rooted
+ -s, --specs Display the server specifications: {CPU|RAM}
+ -u, --usage Display the server utilization: (USG%)
+ -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%)
+ -h, --help Display this help message
+```
+
+
+
+
+ rm.js
+
+
+
+**RAM:** 2.85 GB | [Code](./scripts/rm.js)
+
+[bitburner-connector](https://plugins.jetbrains.com/plugin/18338-bitburner-connector) would occasionally push my IDE
+files to the game, so I created this simple script to recursively search & delete files from a directory to save me
+from having to delete files one-by-one.
+```
+[home ~/scripts]> run /scripts/rm.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/rm.js:
+
+Recursively delete files inside a directory
+
+Usage: run rm.js [OPTIONS] PATH [SERVER]
+ run rm.js --help
+
+ PATH Path to recursively search
+ SERVER Run on remote server
+
+Options:
+ -f, --force Remove game files (.exe, .lit, .msg)
+ -r, --recursive Delete everything inside directory
+ -h, --help Display this help message
+```
+
+
+
+
+ rootkit.js
+
+
+
+**RAM:** 4.65 GB | [Code](./scripts/rootkit.js)
+
+Automatically gains root on the local or remote server. A script can be passed as an additional argument; it will be
+copied and automatically executed with the maximum number of threads after being rooted.
+```
+[home ~/]> run scripts/rootkit.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/rootkit.js:
+
+Scan the network for servers and display as an ASCII tree. Servers with root access are highlighted & bold.
+
+Usage: run network-graph.js [OPTIONS] [SERVER]
+ run network-graph.js --help
+
+ SERVER Point to start scan from, defaults to local server
+
+Options:
+ -d, --depth Depth to scan to
+ -f, --filter Filter to servers matching name
+ -e, --regex Filter to servers matching pattern
+ -l, --level Display the required hack level & number of ports to root: [level|port]
+ -n, --not-rooted Filter to servers that have not been rooted
+ -r, --rooted Filter to servers that have been rooted
+ -s, --specs Display the server specifications: {CPU|RAM}
+ -u, --usage Display the server utilization: (USG%)
+ -v, --verbose Display level, specs & usage in that order: [HL|P] {CPU|RAM} (USG%)
+ -h, --help Display this help message
+```
+
+
+
+
+ server-miner.js
+
+
+
+**RAM:** 11.35 GB | [Code](./scripts/server-manager.js)
+
+Mid-game script to handle purchasing and upgrading servers for more computer power. You can also set a script to run
+automatically after purchase. Useful to chain with `miner.js` or `botnet.js`.
+```
+[home ~/]> run /scripts/server-manager.js --help
+Running script with 1 thread(s), pid 1 and args: ["--help"].
+/scripts/server-manager.js:
+
+Automate the buying & upgrading of servers. Automatically starts script after purchase. Tail for live updates.
+
+Usage: run server-manager.js [OPTIONS] [SCRIPT] [ARGS]...
+ run server-manager.js --help
+
+ SCRIPT Script to copy & execute
+ ARGS Arguments for script. Forward the discovered server with: {{SERVER}}
+
+Options:
+ -b, --balance Prevent spending bellow point
+ -c, --cpu Number of CPU threads to start script with, will use maximum if not specified
+ -l, --limit Limit the number of servers that can be purchased, defaults to 25
+ -r, --ram Amount of RAM to purchase new servers with, defaults to 8 GB
+ -s, --sleep Amount of time to wait between purchases, defaults to 1 (second)
+ -h, --help Display this help message
+```
+
+
+
+
+ update.js
+
+
+
+**RAM:** 2.65 GB | [Code](./scripts/update.js)
+
+Uses the in-game `wget` to download all the scripts in this repository. Can target remote servers to quickly copy the
+entire toolkit to the target.
+```
+[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
+```
+
+
+## License
+Copyright © 2023 Zakary Timson | Available under MIT Licensing
+
+See the [license](./LICENSE) for more information.