You can find the Javascript code in the /dist
folder for reference.
All of the ingame .js
scripts are executables and can be run with e.g. run scan.js --help
.
Each of the scripts has a --help
flag for explaination on how to use it.
run dist.js n00dles foodnstuff --take 0.1 --scale 0.5 --tail
Good for starting.
Will start attacking n00dles
and foodnstuff
.
It will grow servers to moneyMax
and take
10%
of the the servers moneyMax
.
Will automatically buy / upgrade servers with scale
50%
of your current money as available money (optional).
And it will display a monitor with --tail
.
run dist.js --take 0.9 --boost --aggro --cap 2PB --share --free 64 --tail
Good for mid / late game.
Will boost
scheduled work, so more work is produced.
By using aggro
a more aggressive distribution method is used, where more script instances are spawned.
The cap
is a safety mechanism so a maximum of 2PB
will be used, because boost
and aggro
with a lot of available ram capacity can crash the game.
Any unused ram (ignores cap
) will be used for ns.share()
scripts.
At your home computer there will be minimum of 64
GB free
ram.
And it will display a monitor with --tail
.
run scan.js isHackable true --filter moneyMax --filter moneyRank --sort moneyMax --desc
Will display all isHackable
servers moneyMax
and moneyRank
value only and sort by highest moneyMax
first.
run scan.js files .cct --filter files --filter path
Will show servers with certain files
.
run scan.js hostname cave --filter path
Will show you where to look for The Cave
run scan.js requiredHackingSkill <=getPlayer().hacking
Will look for servers where requiredHackingSkill
is lower or equal ns.getPlayer().hacking
.
All ns functions without an argument are supported (also other namespaces).
run scan.js isHackable true --cat moneyfarm --filter moneyMax --filter moneyRank --filter serverGrowth --filter minDifficulty --sort moneyMax --desc
Look for viable targets to attack.
run purchase.js --max
Will buy or upgrade private servers with the maximum
amount ram you can afford.
run node.js --tail
Will automatically buy or upgrade Hacknet Nodes.
run cct.js
Will look for Coding Contract
files .cct
and try to solve them.
run stats.js
Will display some information in the Overview panel.
https://github.com/bitburner-official/vscode-template
vscode-bitburner-connector (vscode extension marketplace) to upload your files into the game
vscode-eslint to use live linting in editor
auto-snippet to automate inserting the file template in .vscode/snippets.code-snippets
There is a workspace file in .vscode
which contains the recommended settings for all of these
Node.js required for compiling typescript and installing dependencies
git clone https://github.com/4rg0n/bitburner.git
npm install
npm run defs
Write all your typescript source code in the /src
directory
To autocompile as you save, run npm run watch
in a terminal
To update your Netscript Definitions, run npm run defs
in a terminal
Press F1 and Select Bitburner: Enable File Watcher
to enable auto uploading to the game
If you run watcher.js
in game, the game will automatically detect file changes and restart the associated scripts
To ensure both the game and typescript have no issues with import paths, your import statements should follow a few formatting rules:
- Paths must be absolute from the root of
src/
, which will be equivalent to the root directory of your home drive - Paths must contain no leading slash
- Paths must end with no file extension
To import helperFunction
from the file helpers.ts
located in the directory src/lib/
:
import { helperFunction } from 'lib/helpers'
To import all functions from the file helpers.ts
located in the src/lib/
directory as the namespace helpers
:
import * as helpers from 'lib/helpers'
To import someFunction
from the file main.ts
located in the src/
directory:
import { someFunction } from 'main'
For debugging bitburner on Steam you will need to enable a remote debugging port. This can be done by rightclicking bitburner in your Steam library and selecting properties. There you need to add --remote-debugging-port=9222
[Thanks @DarkMio]
In VS Code press F5
or goto Run -> Start Debugging
to connect VS Code with Bitburner.
You can then set breakpoints in VS Code as usual.
When debugging you see errors like the following:
Could not read source map for file:///path/to/Steam/steamapps/common/Bitburner/resources/app/dist/ext/monaco-editor/min/vs/editor/editor.main.js: ENOENT: no such file or directory, open '/path/to/Steam/steamapps/common/Bitburner/resources/app/dist/ext/monaco-editor/min/vs/editor/editor.main.js.map'
These errors are to be expected, they are referring to the game's files and the game does not come packaged with sourcemaps.
- OrangeDragon for his Contract Solver
- zc for his Contract Guide
- Baizey for his Distribution Scripts