Skip to content

Conversation

@ficocelliguy
Copy link
Contributor

@ficocelliguy ficocelliguy commented May 18, 2025

New Features

  • Adds the Dark Net: a shifting, unstable collection of randomly-generated password-protected servers.

    • The network periodically has servers added, deleted, move, shift connections, or "restart"
    • The network is cyclic, and servers can have very many or very few connections
    • Some parts of the network are disconnected, and can only be reached by "riding" a server that moves between them
  • Servers provide simple clues to their "vulnerabilities"

    • Each server provides hints to their password such as "it's still the default" or "it's 23 in base 4"
    • Some servers provide interactive feedback in their server logs, accessible via API or visible on the UI
    • Harder servers have puzzles like wordle/mastermind or "yes, the password is divisible by your input"
    • Solutions for these (or at least simple approaches) can be worked out from first principles / intuition in a short time, rather than being most efficiently tackled via educational videos or deep research like many .ccts
  • Adds a new bitnode centered on the dark net

    • IN BN15, The Red Pill is only available via a server deep in the net
    • In BN15 (or after getting SF-15.1) the dark net increases in depth (and puzzle & cha requirement) as the player progresses
    • Before unlocking the full-depth and full-featured net via BN15, there is a small preview version of the 'net in all bitnodes
  • The Labyrinth in the deep

    • There are special servers at the bottom of the net that require some simple maze-solving, and award special augments
    • Completing each one, and installing, increases the depth & difficulty of the dark net, and increases the cha requirement of the next lab server
    • The fourth difficulty (requiring 2500 cha) awards The Red Pill for completing it.
  • Laying on the 'rizz

    • The darknet is largely themed around (and requires) charisma, a particularly under-utilized stat currently
    • A number of new cha-boosting augments have been added to various factions (mostly non-hacking ones)
    • A number of existing augments that thematically increase persuasion (or eyes or skin) now also increase cha

Gameplay Loop

  • Initial exploration is done via the UI

    • Early servers are easy to do manually via just experimenting by clicking on servers. ("We forgot a password!" Password length: 0)
    • Later servers take more guessing-and-checking ("The password when sorted is 145")
  • Harder servers encourage scripting

    • Servers can sometimes have valuable .cache files or data files, and manual access to open them gets slow quickly
    • Some servers have many password possibilities, encouraging a clever script to choose carefully, or to iterate through all possibilities
    • Some servers ask for math that's easier via script (evaluate an expression, or convert from roman numerals to base 10)
    • Passwords can alternatively be discovered from "listening to network traffic" via the API, or in data files discovered on servers
  • The net is designed with emergent script-coordination optimization opportunities in mind

    • Trying several passwords at once is faster than typing them in the UI
    • Passwords should ideally be stored somewhere durable, and be retrievable
    • The method to scrape server logs can pull multiple at once, encouraging making "batches" of auth attempts and feedback collection
    • Outages and server movement encourage coordination of scripts to keep tabs on their neighbor's health
  • Rewards

    • Reward cache files sometimes are found on servers, which can contain money, cha xp, port openers, spawn .ccts, or even give stock market access
    • Darknet servers whose passwords have been discovered can host "phishing attempts" which gain cha xp and occasionally money, scaling with charisma
    • Or, the servers can have their ram used to boost the volatility of a specific stock, based on player cha
    • Source-files (slightly) boost rep gain for factions and companies based on the player's charisma level

Real-life problems to solve

  • Environment unreliability hardening: servers will sometimes restart or go offline, sometimes permanently
  • Central data storage and retrieval: Recovering from setbacks is quicker with durable password storage
  • Building self-replicating web-crawlers (or other ways to extend influence in an environment that cares about the server a script is running on)
  • Version control: how to handle when two different versions of a script meet, each trying to clear servers and replicate
  • text parsing, looking for useful data amongst noise or fluff
  • Simple algorithm design: reduce the number of password guesses required or to translate the hints into passwords
  • Cyclic graph traversal

Full write-up with patch notes:
https://github.com/ficocelliguy/bitburner-src/blob/dev/src/Documentation/doc/advanced/darknet.md

Deployed environment for testing:
https://ficocelliguy.github.io/bitburner-src/

image

image

- Move testing tools / buttons to dev menu
- Require darknet navigator for darknet access (currently disabled for ease of testing)
- Improved documentation page / starter guide / example script
- Improved API documentation
- Achievements

  • Feedback on balance

@ficocelliguy ficocelliguy marked this pull request as ready for review May 18, 2025 16:56
@ficocelliguy ficocelliguy marked this pull request as draft May 18, 2025 16:56
@d0sboots
Copy link
Collaborator

O_O
Screenshot_20250518-154054

Initial comment: You misspelled "labyrinth" in the test file. XD

I guess I know what I'll be doing today...

@d0sboots
Copy link
Collaborator

OK, some other high-level feedback based solely on the description:

  • Is this a new BN? I thought it was going to be a new BN. If it's not, that's a fair chunk of rebalancing to be done, and you should be explicit about it. If it is, that's a fairly big TODO :D
  • Add a number of much smaller and simpler coding problems than CCTs (puzzles, not research projects)

I don't agree with that goal, or rather, I agree with the goal you pursued but I don't think you're phrasing it right. CCTs are the smaller/simpler coding problems: they are designed to be maybe a little complex to describe, but they have very straightforward/mechanical solutions and tend to be things you can look up on Wikipedia or YouTube.

In contrast, IIUC the puzzles you went for with darkweb are more "batching" style: easier to describe, but with more "emergent"-type gameplay solutions. Ironically, this type of problem is the kind more likely to spawn research projects. XD

I'm not sure how to phrase that succinctly, but right now the goal reads as the opposite of what it actually is.

@d0sboots
Copy link
Collaborator

On your TODO: Remove testing tools/buttons: These shouldn't be removed. They should either be moved to the dev menu, or (if the UI does not make sense) hidden behind the dev flag.

Copy link
Collaborator

@d0sboots d0sboots left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial round, based solely on the API

@ficocelliguy ficocelliguy changed the title DARKNET: Darkweb Expansion Project DARKNET: Darkweb Expansion Project & Bitnode May 19, 2025
@ficocelliguy
Copy link
Contributor Author

@d0sboots I've fleshed out the PR description, which should answer your questions from the initial high-level feedback comments.

Copy link
Collaborator

@d0sboots d0sboots left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some of this we've talked about in discord, but I wanted to get it on the review before I forgot.


Leaving the internet behind and turning to the dark web, however, comes with its risks... and potential rewards. A person with the right know-how (and enough charm to survive on their wits alone) can find their way into less-than-secure computers on that unregulated network. A person like you, perhaps.

For the full NS docs for the api, you can go to the [API documentation page](nsDoc/bitburner.darknet.md).
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's a 404. You need some .. in that relative link.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you try to specify something relative to the file position, when you click on it, the router can't find it:

installHook.js:1 Bad path ../../../../../markdown/bitburner.darknet.md from programming/darknet.md while navigating docs.

The link to the docs in the darknet UI I added takes you to the in-game markdown page, and the nsDoc/ link I have does work to take you to the in-game ns docs.

If we also want it to work on github, I suspect I'd have to do an absolute link like all of the other places in the codebase do? But then it either points to my personal branch or 404s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants