Files
bitburner-src/markdown/bitburner.ns.purchaseserver.md
Michael Taylor dcd2f33f7c CODEBASE: Update api-documentor and api-extractor (#2320)
* Update api-documentor and api-extractor. #1566 follow-up.

I have verified that the HTML/markdown table generation bug in
[#4878](https://github.com/microsoft/rushstack/issues/4878) in rushstack
for api-documentor has been fixed as per rushstack#5256. The testcase
[repro](https://github.com/catloversg/api-documenter-bug-pr-4578) now
produces the correct expected output.

I have confirmed that the generated output in bitburner from
`npm run doc` now generated HTML tables, and correctly inserts
a blank line between the </table> and the follow line (e.g. Returns).

Stylisticly it could use some whitespace, but it is correctly rendered.

This commit is only the updated packages, not the updated generated
documentation. I assume that is automatically generated by the GitHub
workflow.

* Follow up to 5f732a6f35, include `npm run doc` changed docs.

* Add missing license info

* Fix React warning

---------

Co-authored-by: CatLover <152669316+catloversg@users.noreply.github.com>
2025-09-26 14:52:39 -07:00

2.2 KiB

Home > bitburner > NS > purchaseServer

NS.purchaseServer() method

Purchase a server.

Signature:

purchaseServer(hostname: string, ram: number): string;

Parameters

Parameter

Type

Description

hostname

string

Hostname of the purchased server.

ram

number

Amount of RAM of the purchased server, in GB. Must be a power of 2 (2, 4, 8, 16, etc.). Maximum value of 1048576 (2^20).

Returns:

string

The hostname of the newly purchased server.

Remarks

RAM cost: 2.25 GB

Purchase a server with the specified hostname and amount of RAM.

The hostname argument can be any data type, but it will be converted to a string and have whitespace removed. Anything that resolves to an empty string or IP address will cause the function to fail. If there is already a server with the specified hostname, then the function will automatically append a number at the end of the hostname argument value until it finds a unique hostname. For example, if the script calls purchaseServer(“foo”, 4) but a server named “foo” already exists, then it will automatically change the hostname to foo-0. If there is already a server with the hostname foo-0, then it will change the hostname to foo-1, and so on.

Note that there is a maximum limit to the amount of servers you can purchase.

Returns the hostname of the newly purchased server as a string. If the function fails to purchase a server, then it will return an empty string. The function will fail if the arguments passed in are invalid, if the player does not have enough money to purchase the specified server, or if the player has exceeded the maximum amount of servers.

Example

// Attempt to purchase 5 servers with 64GB of ram each
const ram = 64;
const prefix = "pserv-";
for (let i = 0; i < 5; ++i) {
   ns.purchaseServer(prefix + i, ram);
}