diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4b5bfabfe..35898f156 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -254,3 +254,17 @@ Update the following:
- `doc/source/changelog.rst`
- post to Discord
- post to reddit.com/r/Bitburner
+
+## Adding a BN guidelines
+
+Promote:
+
+- New mechanic.
+- Coding problems based on NP problems. This makes solutions that are easy to implement inefficient and solutions that are hard to implement efficient. (e.g., Stanek)
+- Inter-mechanic synergy.
+- Simplicity (e.g., Stanek, Hashnet. Bad example: Corp)
+
+Avoid:
+
+- Failure conditions. It's very frustrating to lose several days' worth of progress.
+- Making existing mechanics harder. This makes it hard to port the content to other BNs.
diff --git a/doc/NEW_BN_GUIDELINE.md b/doc/NEW_BN_GUIDELINE.md
deleted file mode 100644
index 067b8c372..000000000
--- a/doc/NEW_BN_GUIDELINE.md
+++ /dev/null
@@ -1,11 +0,0 @@
-Promote:
-
-- New mechanic
-- Coding problems based on NP problems. This makes solution that are easy to implement inefficient and solutions that are hard to implement efficent. (eg. Stanek)
-- inter-mechanic synergy
-- Simplicity (eg. Stanek, Hashnet. bad example: Corp)
-
-Avoid:
-
-- Failure conditions, it's very frustrating to revert several days worth of progress.
-- Making existing mechanic harder. This makes it hard to port the content to other BNs.
diff --git a/doc/POTENTIAL_BN_0.md b/doc/POTENTIAL_BN_0.md
deleted file mode 100644
index 691f2dbd7..000000000
--- a/doc/POTENTIAL_BN_0.md
+++ /dev/null
@@ -1,33 +0,0 @@
-If you played Exponential Idle start with the idea that BN14 will be very similar to the Lemmas from that game.
-
-BN14 will consist of a series of mathematical equation that needs optimizing. BN14 can only be completed by obtaining enough currency from the equations. It also has no levels as the reward is based on how fast you can complete it.
-
-Each equation contains several variable that can be upgraded by spending currency specific to BN14
-
-Let's imagine a very simple equation
-
-`delta p = c1/|e-c2/c3|`
-(c1 div absolute value of the natural constant e minus c2/c3)
-
-`delta p` is the amount of currency you earn every tick
-`c1`, `c2`, `c3` are all variables that the player can upgrade in exchange for the `p` currency
-
-`c2` and `c3` increase by `1` every level and the cost to upgrade is exponential
-`c1` increases exponentially and the cost to upgrade is also exponential
-
-So the goal here is to generate as much currency as possible. For this particular equation the goal is to increase `c1` as much as possible but also to make `c2/c3` as close to `e` as possible.
-
-An equation like this represents one part of the BN. Players will be presented with MANY different equations.
-
-Every equation contributes to completing the BN faster.
-
-I need equations that test many different aspect of "math culture", it can be chaos theory, quantum mechanic, weird polynomials, etc.
-
-All variable purchasing will be scriptable.
-
-All equation must have:
-
-- several variables that can be upgraded, at least 1 variable must be strategic in it's upgrading (upgrading too much can cause drop in performance)
-- Some sort of math twist that requires some thinking, like (-2)^c1 alters between positive and negative.
-
-Equations must be of a wide variety of difficulty the more of a math nerd you are the better your time in the BN should be but math "noobs" shouldn't be unable to complete it.
diff --git a/doc/POTENTIAL_BN_1.md b/doc/POTENTIAL_BN_1.md
deleted file mode 100644
index 6a4385b2b..000000000
--- a/doc/POTENTIAL_BN_1.md
+++ /dev/null
@@ -1,78 +0,0 @@
-## Enter the Enderverse
-
-This bitnode will have your sleeves and yourself move on a 2d grid to fight the Enders.
-Players can access the Enderverse by accessing the glitch in Ishima.
-Upon doing so they will have access to a new tab in which they can view the enderverse map.
-
-The goal of this bitnode is to eliminate all the Enders in this Enderverse.
-
-### Map layout
-
-The enderverse is 10 x 10 cells big. A cell is 10 x 10 tile big. (about 4mb)
-
-Each tile has a id representing the type of terrain on it. Some terrain can be traverse/occupied by entities, others can't.
-e.g. dirt can be occupied by a sleeve but is slower than an asphalt tile.
-
-Entities also have a cell+tile coordinate but some of them can move.
-e.g. Sleeves are an entity that can be controlled by scripts.
-
-### Stats
-
-All stats but charisma are useful in the Enderverse. Althought the Enders special technology make them much less potent (like log2)
-
-Strength determines the power of your attacks
-Agility determines movement speed
-Dexterity determines accuracy of attacks
-Defense determine health points.
-
-Hacking determine the ability to interact with special objects in the world.
-
-### The base
-
-Players start in their main cell. Which contains their base. This base is where your units respawn if they die. The base can also store energy to be used later.
-
-### Moving
-
-Moving, like almost all actions, can only be done via scripts, one tile at a time. The time it takes to move to the next tile depends on the agility of the entity and the type of tile they are trying to enter. Dirt takes longer than asphalt.
-
-### Attacking
-
-An entity can chose to attack any unit within its range. At first your entities will only have a range of 1, meaning they can only attack entities directly next to them. But this can be upgraded. The damage taken is determined with the entity strength and the time is determined by agility.
-
-### Vision
-
-It's not possible to know what is on a tile unless you have a unit within range of it. Your starting units all have 3 vision, which can be upgraded.
-
-### Energy
-
-Some tiles contain minable energy. Energy can be stored in sleeves or in the base. It can be spend to upgrade your units or to build helpful tools and entities such as roads or defense systems.
-
-### Building
-
-Building can be done by any main unit to a surrounding tile. Building anything costs energy which must be carried by your unit.
-
-### Upgrades
-
-Your starting units can be upgrade with energy and rewards found in the Enderverse.
-Examples of upgradable stats:
-
-- vision range
-- attack range
-- str/agi/dex/def bonus
-- Energy capacity
-
-### Chests
-
-Chest can be found containing various improvements. From new buildings to stat upgrades for your units.
-
-### Dying
-
-When unit dies it comes back to life and gains a bonus based on it's exp. This bonus is only based on the max, it is not cummulative like gang members ascension.
-
-### Waves
-
-Every now and then the game will spawn waves of ennemies to attack the home base. If the players core is destroyed the player suffers heavy penalty. Those wave do get stronger over time but also nerfed in the event of a wipeout in order to prevent deadlock.
-
-### Non-starting cells
-
-The cells other than the starting one is where you can find better rewards but also stronger and stronger enemies. Those enemies only attack what's inside their cell and will not follow players back home. But their health is restored if none of your units are in that cell.
diff --git a/doc/POTENTIAL_BN_2.md b/doc/POTENTIAL_BN_2.md
deleted file mode 100644
index a4a039f03..000000000
--- a/doc/POTENTIAL_BN_2.md
+++ /dev/null
@@ -1,3 +0,0 @@
-A game of risk from the point of view of a politician.
-
-You allocate resources on a world map, trying to win elections.
diff --git a/doc/Quotes.txt b/doc/Quotes.txt
deleted file mode 100644
index 496bb55b3..000000000
--- a/doc/Quotes.txt
+++ /dev/null
@@ -1,45 +0,0 @@
-Collection of Quotes
-
-The past is relevant only as data.
-
-Pull on the new flesh like borrowed gloves and burn your fingers once again.
-
-A weapon is a tool. A tool for killing and destroying. And there will be times
-when you must kill and destroy. Then you will choose and equip yourself with the tools
-that you need. But remember the weakness of weapons. They are an extension --
-you are the killer and destroyer. You are whole, with or without them.
-
-For all that we have done, as a civilization, as individuals, the universe is
-not stable, and nor is any single thing within it. Stars consume themselves,
-the universe itself rushes apart, and we ourselves are composed of matter in
-constant flux. Colonies of cells in temporary alliance, replicating and
-decaying and housed within, an incandescent cloud of electrical impulse and
-precariously stacked carbon code memory. This is reality, this is self knowledge,
-and the perception of it will, of course, make you dizzy.
-
-You are still young and stupid. Human life has no value. Haven't you learned
-that yet, Takeshi, with all you've seen? It has no value, intrinsic to itself.
-Machines cost money to build. Raw materials cost money to extract. But people?"
-She made a tiny spitting sound. "You can always get some more people. they
-reproduce like cancer cells, whether you want them or not. They are abundant,
-Takeshi. Why should they be valuable? Do you know that it costs us less to
-recruit and use up a real snuff whore than it does to set up and run the virtual
-equivalent format. Real human flesh is cheaper than a machine. It's the axiomatic
-truth of our times.
-
-Peace is an illusion, no matter how tranquil the world seems, peace doesn't last long.
-Peace is a struggle against our very nature. A skin we sketch over the bone, muscle,
-and sinew of our own innate savagery.
-
-The human eye is a wonderful device. With a little effort, it can fail to see even
-the most glaring injustice.
-
-Humanity has spread to the stars. We set out like ancient seafarers to explore
-the limitless ocean of space. But no matter how far we venture into the unknown,
-the worst monsters are those we bring with us.
-
-What we believe shapes who we are. Belief can bring us salvation or destruction.
-But when you believe a lie for too long, the truth doesn't set you free. It tears
-you apart.
-
-We aren't meant to live forever. It corrupts even the best of us.
diff --git a/doc/conf.py b/doc/conf.py
deleted file mode 100644
index 6e70b8acc..000000000
--- a/doc/conf.py
+++ /dev/null
@@ -1,34 +0,0 @@
-# Configuration file for the Sphinx documentation builder.
-#
-# This file only contains a selection of the most common options. For a full
-# list see the documentation:
-# https://www.sphinx-doc.org/en/master/usage/configuration.html
-
-# -- Path setup --------------------------------------------------------------
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-import os
-import sys
-
-# -- Project information -----------------------------------------------------
-
-project = 'Bitburner'
-
-# -- General configuration ---------------------------------------------------
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = [
- ]
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This pattern also affects html_static_path and html_extra_path.
-exclude_patterns = ['*']
-exclude_patterns = ['doc/index.rst']
-
-# -- Options for HTML output -------------------------------------------------
diff --git a/doc/index.rst b/doc/index.rst
deleted file mode 100644
index c38635628..000000000
--- a/doc/index.rst
+++ /dev/null
@@ -1,5 +0,0 @@
-.. meta::
- :http-equiv=Refresh: 0; url='https://github.com/bitburner-official/bitburner-src/blob/stable/src/Documentation/doc/en/index.md'
-
-This link is outdated as documentation for Bitburner has been migrated to an in-game menu, this page should have redirected you to the new location.
-You can also click `here to go to the game's documentation `_.
diff --git a/src/Documentation/doc/en/help/beginner_faq.md b/src/Documentation/doc/en/help/beginner_faq.md
deleted file mode 100644
index 8da74fa6a..000000000
--- a/src/Documentation/doc/en/help/beginner_faq.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# 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.
diff --git a/doc/FAQ.md b/src/Documentation/doc/en/help/faq.md
similarity index 51%
rename from doc/FAQ.md
rename to src/Documentation/doc/en/help/faq.md
index 4e3b4da9d..f576097fd 100644
--- a/doc/FAQ.md
+++ b/src/Documentation/doc/en/help/faq.md
@@ -1,6 +1,56 @@
# Frequently Asked Questions
-## Can I donate to the project?
+## Beginner questions
+
+### 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, targeting 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.
+
+---
+
+## General questions
+
+### Can I donate to the project?
No, the project does not take donations.
@@ -8,19 +58,19 @@ If you still want to donate, go donate blood to your local blood bank or donate
---
-## I need help / Where can I learn?
+### I need help / Where can I learn?
The best way to get help is to join the [official discord server](https://discord.gg/TFc3hKD). People of all skill levels will be able to give you hints and tips.
---
-## Can I play the same save on browser & steam?
+### Can I play the same save on browser & steam?
Yes, just export the save file from the options menu & import it in the other platform.
---
-## Game is stuck after running scripts!
+### Game is stuck after running scripts!
You may have created an infinite loop with no sleep. You'll have to restart the game by killing all scripts.
@@ -31,43 +81,43 @@ You may have created an infinite loop with no sleep. You'll have to restart the
---
-## Steam: Where is the save game located?
+### Steam: Where is the save game located?
To maintain compatibility with the web browser version, the save game is not stored as a file on your filesystem. It lives inside the localStorage of the WebKit instance. Export the save (and back it up!) in the option menu.
---
-## Steam: Game won't stop / Game is shown as "Running"
+### Steam: Game won't stop / Game is shown as "Running"
Due to a limitation with the way Steam tracks the game, if you launch an external link (such as documentation), Steam may keep tracking the game as "Running" even after it is closed. Simply close the web browser to fix this.
---
-## Steam: How do I get to the game files?
+### Steam: How do I get to the game files?
Right-click the game in your Steam library, then go into "Manage" -> "Browse Local Files". The game can be launched directly from that location if you're having issues with Steam.
---
-## Steam: Game won't launch
+### Steam: Game won't launch
-### **On Windows**
+#### **On Windows**
If the game is installed on a network drive, it will fail to start due to a [limitation in Chromium](https://github.com/electron/electron/issues/27356).
If you cannot move the game to another drive, you'll have to add `--no-sandbox` to the launch options. In your Steam Library, right click the game and hit "Properties". You'll see the "launch options" section in the "General" window.
-### **On Linux**
+#### **On Linux**
The game is built natively. Do not use Proton unless native does not work.
-When launching the game, you will be prompted with three options. If the standard launch does not work, you may attempt the `--disable-seccomp-filter-sandbox` or `--no-sandbox` launch options. If this still does not work, the game should be able to start by launching it directly or through the terminal. See [How do I get to the game files?](#game-files).
+When launching the game, you will be prompted with three options. If the standard launch does not work, you may attempt the `--disable-seccomp-filter-sandbox` or `--no-sandbox` launch options. If this still does not work, the game should be able to start by launching it directly or through the terminal. See "How do I get to the game files?".
---
-## Steam: File locations
+### Steam: File locations
-### Logs (using [electron-log](https://github.com/megahertz/electron-log#readme))
+#### Logs (using [electron-log](https://github.com/megahertz/electron-log#readme))
You may want to access the logs to get information about crashes and such.
@@ -75,16 +125,10 @@ You may want to access the logs to get information about crashes and such.
- on macOS: `~/Library/Logs/bitburner/main.log`
- on Windows: `%USERPROFILE%\AppData\Roaming\bitburner\logs\main.log`
-### Config (using [electron-store](https://github.com/sindresorhus/electron-store#readme))
+#### Config (using [electron-store](https://github.com/sindresorhus/electron-store#readme))
Configuration files can be found in the application's data directory.
- on Linux: `~/.config/bitburner/config.json`
- on macOS: `~/Library/Application\ Support/bitburner/config.json`
- on Windows: `%USERPROFILE%\AppData\Roaming\bitburner\config.json`
-
----
-
-## Steam: What is the API Server?
-
-The API Server allows the official [Visual Studio Code Extension](https://github.com/bitburner-official/bitburner-vscode) to push script files from VSCode to your in-game home.
diff --git a/src/Documentation/doc/en/index.md b/src/Documentation/doc/en/index.md
index 440c2cc8d..3fb4947aa 100644
--- a/src/Documentation/doc/en/index.md
+++ b/src/Documentation/doc/en/index.md
@@ -52,7 +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)
+- [FAQ](help/faq.md)
- [Changelog](changelog.md)
- [Changelog - Legacy v1](changelog-v1.md)
- [Changelog - Legacy v0](changelog-v0.md)
diff --git a/src/Documentation/pages.ts b/src/Documentation/pages.ts
index 50c7925cc..b14eca0ff 100644
--- a/src/Documentation/pages.ts
+++ b/src/Documentation/pages.ts
@@ -51,7 +51,7 @@ import file48 from "./doc/en/basic/world.md?raw";
import file49 from "./doc/en/changelog-v0.md?raw";
import file50 from "./doc/en/changelog-v1.md?raw";
import file51 from "./doc/en/changelog.md?raw";
-import file52 from "./doc/en/help/beginner_faq.md?raw";
+import file52 from "./doc/en/help/faq.md?raw";
import file53 from "./doc/en/help/getting_started.md?raw";
import file54 from "./doc/en/help/tools_and_resources.md?raw";
import file55 from "./doc/en/index.md?raw";
@@ -1561,7 +1561,7 @@ AllPages["en/basic/world.md"] = file48;
AllPages["en/changelog-v0.md"] = file49;
AllPages["en/changelog-v1.md"] = file50;
AllPages["en/changelog.md"] = file51;
-AllPages["en/help/beginner_faq.md"] = file52;
+AllPages["en/help/faq.md"] = file52;
AllPages["en/help/getting_started.md"] = file53;
AllPages["en/help/tools_and_resources.md"] = file54;
AllPages["en/index.md"] = file55;