mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-18 07:18:38 +02:00
Massive doc update
This commit is contained in:
@@ -59,6 +59,7 @@ Here is everything you will KEEP when you install an Augmentation:
|
||||
* Scripts on your home computer
|
||||
* RAM/Core Upgrades on your home computer
|
||||
* World Stock Exchange account and TIX API Access
|
||||
* Previously installed Augmentations
|
||||
|
||||
.. _gameplay_augmentations_purchasingmultiple:
|
||||
|
||||
|
||||
@@ -11,3 +11,7 @@ While working for a company, you can click "Do something else simultaneously" to
|
||||
to do things while you continue to work in the background. There is a 20% penalty to the
|
||||
related gains. Clicking the "Focus" button under the overview will return you to the
|
||||
current work.
|
||||
|
||||
If you've been hired to do a job you can click that "Apply for X Job" button again to get a
|
||||
promotion if you meet the requirements. You can see the requirements by hovering your cursor
|
||||
over the button. Higher positions give increased rewards.
|
||||
@@ -24,7 +24,7 @@ Crimes are not always successful. Your rate of success is determined by your
|
||||
stats (and Augmentation multipliers) and can be seen on the crime-selection
|
||||
page. If you are unsuccessful at committing a crime you will gain EXP,
|
||||
but you will not earn money. If you are successful at committing the crime
|
||||
you will gain extra EXP (double of what an unsuccessful attempt would give)
|
||||
you will gain extra EXP (4x of what an unsuccessful attempt would give)
|
||||
and earn money.
|
||||
|
||||
Harder crimes are typically more profitable, and also give more EXP.
|
||||
|
||||
@@ -207,18 +207,18 @@ List of Factions and their Requirements
|
||||
.. raw:: html
|
||||
|
||||
</details>
|
||||
<details><summary><a>Endgame Factions</a></summary>
|
||||
<details><summary><a>Midgame Factions</a></summary>
|
||||
|
||||
.. _gameplay_factions::
|
||||
|
||||
+---------------------+----------------+-----------------------------------------+-------------------------------+
|
||||
| Endgame | Faction Name | Requirements | Joining this Faction prevents |
|
||||
| Midgame | Faction Name | Requirements | Joining this Faction prevents |
|
||||
| Factions | | | you from joining: |
|
||||
+ +----------------+-----------------------------------------+-------------------------------+
|
||||
| | The Covenant | * 20 Augmentations | |
|
||||
| | | * $75b | |
|
||||
| | | * Hacking Level of 850 | |
|
||||
| | | * All Combat Stats of 850 | |
|
||||
| | | * or All Combat Stats of 850 | |
|
||||
+ +----------------+-----------------------------------------+-------------------------------+
|
||||
| | Daedalus | * 30 Augmentations | |
|
||||
| | | * $100b | |
|
||||
@@ -230,6 +230,26 @@ List of Factions and their Requirements
|
||||
| | | * Hacking Level of 1500 | |
|
||||
| | | * All Combat Stats of 1200 | |
|
||||
+---------------------+----------------+-----------------------------------------+-------------------------------+
|
||||
.. raw:: html
|
||||
|
||||
</details>
|
||||
<details><summary><a>Endgame Factions</a></summary>
|
||||
|
||||
.. _gameplay_factions::
|
||||
|
||||
+---------------------+----------------+--------------------------------------------------------------+-------------------------------+
|
||||
| Endgame | Faction Name | Requirements | Joining this Faction prevents |
|
||||
| Factions | | | you from joining: |
|
||||
+ +----------------+--------------------------------------------------------------+-------------------------------+
|
||||
| | Bladeburners | * Join Bladeburner Division | |
|
||||
| | | * Have 25 Rank | |
|
||||
| | | * Be in BitNode 6 or 7 | |
|
||||
| | | * or have Source-File 6 or 7 | |
|
||||
+ +----------------+--------------------------------------------------------------+-------------------------------+
|
||||
| | Church of the | * Have not installed any augmentations in the current BitNode| |
|
||||
| | Machine God | * Be in BitNode 13 | |
|
||||
| | | * or have Source-File 13 | |
|
||||
+---------------------+----------------+--------------------------------------------------------------+-------------------------------+
|
||||
.. raw:: html
|
||||
|
||||
</details><br>
|
||||
|
||||
@@ -33,11 +33,11 @@ infiltration will immediately end.
|
||||
|
||||
** Slash when his guard is down! **
|
||||
|
||||
Press space when the guard is attacking you.
|
||||
There's 3 phase
|
||||
Press space when the guard is preparing to attack you.
|
||||
There's 3 phases
|
||||
The first is guarding, where attacking back will result in failure.
|
||||
The 2nd is preparing, this informs you that in 250ms there will be an opening window to attack.
|
||||
The 3rd is attack, during this phase you can press space to slash and kill the enemy.
|
||||
The 2nd is preparing, where attacking will result in a victory.
|
||||
The 3rd is attack, where the guard will attack you resulting in failure.
|
||||
|
||||
** Close the brackets **
|
||||
|
||||
|
||||
@@ -78,11 +78,11 @@ with scripts:
|
||||
Prints the logs of the script specified by the name and arguments to
|
||||
Terminal. Arguments should be separated by a space. Remember that scripts
|
||||
are uniquely identified by their arguments as well as their name. For
|
||||
example, if you ran a script `foo.script` with the argument `foodnstuff`
|
||||
example, if you ran a script `foo.hs` with the argument `foodnstuff`
|
||||
then in order to 'check' it you must also add the `foodnstuff` argument
|
||||
to the check command::
|
||||
|
||||
$ check foo.script foodnstuff
|
||||
$ check foo.js foodnstuff
|
||||
|
||||
**free**
|
||||
|
||||
@@ -93,11 +93,11 @@ Shows the current server's RAM usage and availability
|
||||
Stops a script that is running with the specified script name and
|
||||
arguments. Arguments should be separated by a space. Remember that
|
||||
scripts are uniquely identified by their arguments as well as
|
||||
their name. For example, if you ran a script `foo.script` with
|
||||
the argument 1 and 2, then just typing "`kill foo.script`" will
|
||||
their name. For example, if you ran a script `foo.js` with
|
||||
the argument 1 and 2, then just typing "`kill foo.js`" will
|
||||
not work. You have to use::
|
||||
|
||||
$ kill foo.script 1 2
|
||||
$ kill foo.js 1 2
|
||||
|
||||
**mem [script] [-t] [n]**
|
||||
|
||||
@@ -125,26 +125,30 @@ with no arguments.
|
||||
|
||||
Examples:
|
||||
|
||||
Run 'foo.script' single-threaded with no arguments::
|
||||
Run 'foo.js' single-threaded with no arguments::
|
||||
|
||||
$ run foo.script
|
||||
$ run foo.js
|
||||
|
||||
Run 'foo.script' with 10 threads and no arguments::
|
||||
Run 'foo.js' with 10 threads and no arguments::
|
||||
|
||||
$ run foo.script -t 10
|
||||
$ run foo.js -t 10
|
||||
|
||||
Run 'foo.script' single-threaded with three arguments: [foodnstuff, sigma-cosmetics, 10]::
|
||||
Run 'foo.js' single-threaded with three arguments: [foodnstuff, sigma-cosmetics, 10]::
|
||||
|
||||
$ run foo.script foodnstuff sigma-cosmetics 10
|
||||
$ run foo.js foodnstuff sigma-cosmetics 10
|
||||
|
||||
Run 'foo.script' with 50 threads and a single argument: [foodnstuff]::
|
||||
Run 'foo.js' with 50 threads and a single argument: [foodnstuff]::
|
||||
|
||||
$ run foo.script -t 50 foodnstuff
|
||||
$ run foo.js -t 50 foodnstuff
|
||||
|
||||
|
||||
**tail [script] [args...]**
|
||||
|
||||
Displays the logs of the script specified by the name and arguments. Note that scripts are uniquely identified by their arguments as well as their name. For example, if you ran a script 'foo.script' with the argument 'foodnstuff' then in order to 'tail' it you must also add the 'foodnstuff' argument to the tail command as so: tail foo.script foodnstuff
|
||||
Displays the logs of the script specified by the name and arguments. Note that scripts
|
||||
are uniquely identified by their arguments as well as their name. For example, if you
|
||||
ran a script 'foo.js' with the argument 'foodnstuff' then in order to 'tail' it you
|
||||
must also add the 'foodnstuff' argument to the tail command as so: tail foo.js
|
||||
foodnstuff
|
||||
|
||||
**top**
|
||||
|
||||
|
||||
@@ -8,8 +8,11 @@ game are connected to each other to form a large, global network.
|
||||
To learn about how to navigate this network and connect to other
|
||||
servers, see the :ref:`Terminal` page.
|
||||
|
||||
Server RAM
|
||||
^^^^^^^^^^
|
||||
Server Statistics
|
||||
^^^^^^^^^^^^^^^^^
|
||||
Each server has it's own statistics, such as RAM, required hacking level and number of
|
||||
ports required to successfully NUKE it.
|
||||
|
||||
Perhaps the most important property of a server to make note of is its RAM,
|
||||
which refers to how much memory is available on that machine. RAM is
|
||||
important because it is required to run Scripts. More RAM allows
|
||||
@@ -19,6 +22,9 @@ a script with :ref:`more threads <gameplay_scripts_multithreadingscripts>`.
|
||||
The `free`, `scan-analyze`, and `analyze` Terminal commands
|
||||
can be used to check how much RAM a server has.
|
||||
|
||||
Some servers have some randomized statistics, such as RAM, max Money or
|
||||
required hacking level. These statistics are randomly genererated from a range of values.
|
||||
|
||||
Identifying Servers
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
A server is identified by its hostname.
|
||||
@@ -64,3 +70,10 @@ and exp. See the :ref:`gameplay_hacking` page for more details.
|
||||
|
||||
Different servers have different levels of security, but also offer
|
||||
different rewards when being hacked.
|
||||
|
||||
Server Connections
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
The servers are in a randomly organized tree-structure. The distance from
|
||||
the home computer to each server is fixed, but the exact route to them is
|
||||
randomized when you install :ref:`gameplay_augmentations`. In general the
|
||||
further away from home computer a server is the higher it's statistics are.
|
||||
@@ -33,7 +33,7 @@ In order to create a directory, simply name a file using a full absolute Linux-s
|
||||
This will automatically create a "directory" called :code:`scripts`. This will also work
|
||||
for subdirectories::
|
||||
|
||||
/scripts/hacking/helpers/myHelperScripts.script
|
||||
/scripts/hacking/helpers/myHelperScripts.js
|
||||
|
||||
Files in the root directory do not need to begin with a forward slash::
|
||||
|
||||
@@ -72,9 +72,9 @@ Note that in order to reference a file, :ref:`netscript` functions require the
|
||||
|
||||
.. code:: javascript
|
||||
|
||||
run("/scripts/hacking/helpers.myHelperScripts.script");
|
||||
rm("/logs/myHackingLogs.txt");
|
||||
rm("thisIsAFileInTheRootDirectory.txt");
|
||||
ns.run("/scripts/hacking/helpers.myHelperScripts.js");
|
||||
ns.rm("/logs/myHackingLogs.txt");
|
||||
ns.rm("thisIsAFileInTheRootDirectory.txt");
|
||||
|
||||
.. note:: A full file path **must** begin with a forward slash (/) if that file
|
||||
is not in the root directory.
|
||||
@@ -150,13 +150,17 @@ This can pass faction tests or give bonsues such as discounts from companies.
|
||||
buy
|
||||
^^^
|
||||
|
||||
$ buy [-l/program]
|
||||
$ buy [-l/-a/program]
|
||||
|
||||
Purchase a program through the Dark Web. Requires a TOR Router to use.
|
||||
|
||||
If this command is ran with the '-l' flag, it will display a list of all programs
|
||||
that can be purchased through the Dark Web, as well as their costs.
|
||||
|
||||
If this command is ran with the '-a' flag, it will attempt to buy all programs
|
||||
that can be purchased through the Dark Web and if the player can't afford all of them
|
||||
none will be bought.
|
||||
|
||||
Otherwise, the name of the program must be passed in as a parameter. This name
|
||||
is NOT case-sensitive::
|
||||
|
||||
@@ -205,11 +209,11 @@ Each argument must be separated by a space.
|
||||
**Remember that a running script is uniquely identified both by its name and the arguments that are used to start it**. So,
|
||||
if a script was ran with the following arguments::
|
||||
|
||||
$ run foo.script 1 2 foodnstuff
|
||||
$ run foo.js 1 2 foodnstuff
|
||||
|
||||
Then to run the 'check' command on this script you would have to pass the same arguments in::
|
||||
|
||||
$ check foo.script 1 2 foodnstuff
|
||||
$ check foo.js 1 2 foodnstuff
|
||||
|
||||
clear/cls
|
||||
^^^^^^^^^
|
||||
@@ -275,7 +279,7 @@ hack
|
||||
|
||||
Attempt to hack the current server. Requires root access in order to be run.
|
||||
|
||||
Related: Hacking Mechanics (TODO Add link here when page gets made)
|
||||
Related: Hacking Mechanics :ref:`hacking`
|
||||
|
||||
help
|
||||
^^^^
|
||||
@@ -302,29 +306,27 @@ hostname
|
||||
|
||||
Prints the hostname of the server you are currently connected to.
|
||||
|
||||
ifconfig
|
||||
^^^^^^^^
|
||||
|
||||
Prints the IP address of the server you are currently connected to.
|
||||
|
||||
kill
|
||||
^^^^
|
||||
|
||||
$ kill [script name] [args...]
|
||||
$ kill [pid]
|
||||
|
||||
Kill the script specified by the script filename and arguments OR by its PID.
|
||||
Kill the script specified by the script filename and arguments OR by its PID. If
|
||||
filename and arguments are used the kill is server-specific, so if you're connected
|
||||
to home and want to kill a script running on n00dles, you have to either use it's PID
|
||||
or :code:`connect` to n00dles first and then use the the kill command.
|
||||
|
||||
If you are killing the script using its filename and arguments, then each argument
|
||||
must be separated by a space. Remember that a running script is uniquely identified
|
||||
by both its name and the arguments that are used to start it. So, if a script
|
||||
was ran with the following arguments::
|
||||
|
||||
$ run foo.script 50e3 sigma-cosmetics
|
||||
$ run foo.js 50e3 sigma-cosmetics
|
||||
|
||||
Then to kill this script the same arguments would have to be used::
|
||||
|
||||
$ kill foo.script 50e3 sigma-cosmetics
|
||||
$ kill foo.js 50e3 sigma-cosmetics
|
||||
|
||||
If you are killing the script using its PID, then the PID argument must be numeric.
|
||||
|
||||
@@ -362,7 +364,7 @@ Examples::
|
||||
// List files/directories with the '.js' extension in the root directory
|
||||
$ ls / -l --grep .js
|
||||
|
||||
// List files/directories with the word 'purchase' in the name, in the :code:`scripts` directory
|
||||
// List files/directories with the word 'purchase' in the name, in the 'scripts' directory
|
||||
$ ls scripts -l --grep purchase
|
||||
|
||||
|
||||
@@ -384,12 +386,12 @@ a script with multiple threads using the '-t' flag. If the '-t' flag is
|
||||
specified, then an argument for the number of threads must be passed in
|
||||
afterwards. Examples::
|
||||
|
||||
$ mem foo.script
|
||||
$ mem foo.script -t 50
|
||||
$ mem foo.js
|
||||
$ mem foo.js -t 50
|
||||
|
||||
The first example above will print the amount of RAM needed to run 'foo.script'
|
||||
The first example above will print the amount of RAM needed to run 'foo.js'
|
||||
with a single thread. The second example above will print the amount of RAM needed
|
||||
to run 'foo.script' with 50 threads.
|
||||
to run 'foo.js' with 50 threads.
|
||||
|
||||
.. _mv_terminal_command:
|
||||
|
||||
@@ -467,9 +469,9 @@ Run a program::
|
||||
|
||||
$ run BruteSSH.exe
|
||||
|
||||
Run *foo.script* with 50 threads and the arguments [1e3, 0.5, foodnstuff]::
|
||||
Run *foo.js* with 50 threads and the arguments [1e3, 0.5, foodnstuff]::
|
||||
|
||||
$ run foo.script -t 50 1e3 0.5 foodnstuff
|
||||
$ run foo.js -t 50 1e3 0.5 foodnstuff
|
||||
|
||||
Run a Coding Contract::
|
||||
|
||||
@@ -500,7 +502,26 @@ execute 'scan-analyze' with a depth up to 5 and 10, respectively.
|
||||
|
||||
The information 'scan-analyze' displays about each server includes whether or
|
||||
not you have root access to it, its required hacking level, the number of open
|
||||
ports required to run NUKE.exe on it, and how much RAM it has.
|
||||
ports required to run NUKE.exe on it, and how much RAM it has. When used the
|
||||
information is structured like:
|
||||
|
||||
n00dles
|
||||
--Root Access: YES, Required hacking skill: 1
|
||||
--Number of open ports required to NUKE: 0
|
||||
--RAM: 4.00GB
|
||||
|
||||
----zer0
|
||||
------Root Access: NO, Required hacking skill: 75
|
||||
------Number of open ports required to NUKE: 1
|
||||
------RAM: 32.00GB
|
||||
|
||||
foodnstuff
|
||||
--Root Access: NO, Required hacking skill: 1
|
||||
--Number of open ports required to NUKE: 0
|
||||
--RAM: 16.00GB
|
||||
|
||||
In this case :code:`n00dles` and :code:`foodnstuff` are connected to the current server
|
||||
and :code:`zer0` is connected to :code:`n00dles`.
|
||||
|
||||
.. _scp_terminal_command:
|
||||
|
||||
@@ -529,11 +550,11 @@ Each argument must be separated by a space. Remember that a running script is
|
||||
uniquely identified by both its name and the arguments that were used to run
|
||||
it. So, if a script was ran with the following arguments::
|
||||
|
||||
$ run foo.script 10 50000
|
||||
$ run foo.js 10 50000
|
||||
|
||||
Then in order to check its logs with 'tail' the same arguments must be used::
|
||||
|
||||
$ tail foo.script 10 50000
|
||||
$ tail foo.js 10 50000
|
||||
|
||||
top
|
||||
^^^
|
||||
@@ -590,26 +611,28 @@ There are two main points:
|
||||
2. Anything that can represent a number is automatically cast to a number, unless its
|
||||
surrounded by quotation marks.
|
||||
|
||||
Here's an example to show how these rules work. Consider the following script `argType.script`::
|
||||
|
||||
tprint("Number of args: " + args.length);
|
||||
for (var i = 0; i < args.length; ++i) {
|
||||
tprint(typeof args[i]);
|
||||
Here's an example to show how these rules work. Consider the following script `argType.js`::
|
||||
|
||||
export async function main(ns) {
|
||||
ns.tprint("Number of args: " + args.length);
|
||||
for (var i = 0; i < ns.args.length; ++i) {
|
||||
ns.tprint(typeof ns.args[i]);
|
||||
}
|
||||
}
|
||||
|
||||
Then if we run the following terminal command::
|
||||
|
||||
$ run argType.script 123 1e3 "5" "this is a single argument"
|
||||
$ run argType.js 123 1e3 "5" "this is a single argument"
|
||||
|
||||
We'll see the following in the Terminal::
|
||||
|
||||
Running script with 1 thread(s) and args: [123, 1000, "5", "this is a single argument"].
|
||||
May take a few seconds to start up the process...
|
||||
argType.script: Number of args: 4
|
||||
argType.script: number
|
||||
argType.script: number
|
||||
argType.script: string
|
||||
argType.script: string
|
||||
argType.js: Number of args: 4
|
||||
argType.js: number
|
||||
argType.js: number
|
||||
argType.js: string
|
||||
argType.js: string
|
||||
|
||||
Chaining Commands
|
||||
-----------------
|
||||
@@ -618,4 +641,4 @@ with a semicolon (;).
|
||||
|
||||
Example::
|
||||
|
||||
$ run foo.script; tail foo.script
|
||||
$ run foo.js; tail foo.js
|
||||
|
||||
@@ -10,3 +10,7 @@ In Bitburner, the world consists of six different cities:
|
||||
* New Tokyo
|
||||
* Chongqing
|
||||
* Volhaven
|
||||
|
||||
Each city has it's own map and :ref:`faction`. Each city also
|
||||
offers different services, such as gyms, universities, hardware
|
||||
stores and places of work.
|
||||
Reference in New Issue
Block a user