mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-20 08:13:50 +02:00
DOC: Add FAQ and another JIT batcher illustration to documentation (#2400)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
# FAQs for beginners
|
||||
|
||||
This page is dedicated for questions often asked by beginners as they explore the game.
|
||||
|
||||
The following are advice, as this is a single-player game. However you are free to experiment to see what works best for you.
|
||||
|
||||
#### How do I create directories/folders?
|
||||
|
||||
These are just a part of the filename. There is no explicit command to create them, rather files with the same prepending "directory" string are bundled together.
|
||||
|
||||
#### Should I backdoor all servers?
|
||||
|
||||
Short answer:
|
||||
Time-consuming for minimal benefits.
|
||||
|
||||
Long answer:
|
||||
Backdooring a server takes a certain amount of time, and the duration is dependent on your hacking level and the given server's at the time of sending backdoor command.
|
||||
|
||||
Given the amount of servers in the network and how often you have to do so after installing augments, it is ill-advised to perform such potentially lengthy tasks unnecessarily.
|
||||
|
||||
#### How do I backdoor through scripts?
|
||||
|
||||
It is only possible with an endgame ability, or via exploits.
|
||||
|
||||
#### Should I target multiple servers or just one?
|
||||
|
||||
[EHTs (Early Hacking Templates)](../programming/hackingalgorithms.md) can somewhat benefit from this at very late stages of the game where the player's hacking level is so high a few threads of `ns.hack()` can take all money of even strongest servers within the network.
|
||||
|
||||
However, targetting multiple servers is not viable for batchers in particular due to the fact such algorithms do not suffer from over-hacking (a loose term that describes a targeted server being drained of all reserved money).
|
||||
|
||||
#### What are the differences between threads and processes?
|
||||
|
||||
When you run a script, you spawn a "process" that runs your code. With each process, you can specify a number of threads (default to 1).
|
||||
|
||||
"Thread" is simply a multiplier applied to the effect of some actions (e.g., hack, grow, weaken). Using more threads multiplies the effect, but it also multiplies the RAM cost of running the script.
|
||||
|
||||
#### Do in-game threads/processes have anything to do with the real life computer threads/processes?
|
||||
|
||||
No, in fact the game is run in JavaScript which is single-threaded.
|
||||
@@ -52,6 +52,7 @@
|
||||
- [Game frozen or stuck?](programming/game_frozen.md)
|
||||
- [TypeScript and React](programming/typescript_react.md)
|
||||
- [Tools & Resources](help/tools_and_resources.md)
|
||||
- [FAQs for beginners](help/beginner_faq.md)
|
||||
- [Changelog](changelog.md)
|
||||
- [Changelog - Legacy v1](changelog-v1.md)
|
||||
- [Changelog - Legacy v0](changelog-v0.md)
|
||||
|
||||
@@ -29,7 +29,7 @@ Cons:
|
||||
- Limits income generation
|
||||
- Extremely [RAM](../basic/ram.md) inefficient
|
||||
- Utilizes script online time poorly
|
||||
- Risk of over hacking
|
||||
- Risk of over-hacking
|
||||
- Slow to start producing money
|
||||
|
||||
This is the self-contained algorithm implemented in `early-hack-template.js`. Each script is tasked with choosing which function to execute based on the status of the target server.
|
||||
@@ -186,6 +186,23 @@ Shotgun batchers are not very RAM efficient because the scripts take up RAM duri
|
||||
|=Weaken=============|
|
||||
|=Weaken=============|
|
||||
|
||||
Or:
|
||||
|
||||
|Hack=|
|
||||
|=Weaken=============|
|
||||
|=Grow===========|
|
||||
|=Weaken=============|
|
||||
|Hack=|
|
||||
|=Weaken=============|
|
||||
|=Grow===========|
|
||||
|=Weaken=============|
|
||||
|Hack=|
|
||||
|=Weaken=============|
|
||||
|=Grow===========|
|
||||
|=Weaken=============|
|
||||
|
||||
\*For illustrative purposes only.
|
||||
|
||||
By weaving batches between each other, JIT batchers maximise the effectiveness of the RAM at the cost of very precise timing constraints.
|
||||
Good communication between worker scripts and the controller is necessary to schedule the next batch at the right time.
|
||||
The controller must have an effective method to predict which scripts need to be launched.
|
||||
|
||||
Reference in New Issue
Block a user