David Walker b51ed8fd59 BUG: Fix missed cases in offline server handling (#2495)
There were two large holes in the existing offline server handling:

1. It didn't include IPs, so scripts that used IPs instead of hostnames
   would get exceptions thrown for "server not found."
2. Coverage was very low for non-Darknet APIs. Maybe most of them don't
   need to be covered, but many obvious ones like "ps", "killall" and
   "hasRootAccess" were missing. IMO the only reliable answer is one
   that enforces *all* are covered via the type system.

To accomplish the second part, helpers.getServer() was changed to return
null when a server is offline. This intentionally breaks a lot of its
utility, which was to return a server unconditionally. To compensate,
its utility was increased - it now also does unknown argument
processing, allowing it to subsume a common line that all callers were
repeating.

Some callers switched to ctx.workerScript.getServer(), because they
didn't actually need to be using helpers.getServer(). Similarly, a few
callsites switched to GetServerOrThrow(), for the cases where it should
be guaranteed that the server is valid. The rest are returning a
default/failure response when the server is offline. (Except for
contracts, which threw on failure already anyway.)
2026-02-15 10:29:47 -08:00
2022-10-09 01:25:31 -04:00
2022-04-12 14:59:53 -04:00
2022-01-10 07:37:01 -05:00
2021-09-08 23:47:34 -04:00
2023-07-30 22:08:36 -04:00
2022-03-07 18:22:26 -05:00
2025-01-04 23:28:08 -08:00
2022-01-27 20:44:50 -05:00
2023-01-06 14:43:09 +02:00

Bitburner

Join Discord

Build Status

Bitburner is a programming-based incremental game that revolves around hacking and cyberpunk themes. The game can be played at https://bitburner-official.github.io/ (release build), https://bitburner-official.github.io/bitburner-src/ (development build), or installed through Steam. The location of the release build may change in the near future.

See the frequently asked questions for more information. To discuss the game or get help, join the official Discord server.

Documentation

There are 2 types of documentation:

Anyone is welcome to contribute to the documentation by editing the source files and then making a pull request with your contributions. For further guidance, please refer to the "As A Documenter" section of CONTRIBUTING.

Contribution

There are many ways to contribute to the game. It can be as simple as fixing a typo, correcting a bug, or improving the UI. For guidance on doing so, please refer to the CONTRIBUTING document.

You will retain all ownership of the Copyright of any contributions you make, and will have the same rights to use or license your contributions. By submitting a pull request you agree to grant me perpetual, worldwide, non-exclusive, transferable, royalty-free, and irrevocable rights to use, publish, and distribute your contributions to the project. A formal Contributor's License Agreement will be drawn up in the future.

If you would like to make significant contributions to the project as a collaborator, please reach out in #suggestions or #development on Discord to help coordinate the effort.

Description
Bitburner source code.
Readme 401 MiB
Languages
TypeScript 97.5%
JavaScript 2.3%
HTML 0.1%