Merge branch 'dev' of github.com:danielyxie/bitburner into dev

This commit is contained in:
Olivier Gagnon 2022-03-17 14:00:27 -04:00
commit 726e9f38cb
10 changed files with 23 additions and 26 deletions

@ -21,23 +21,19 @@ can be used to check how much RAM a server has.
Identifying Servers Identifying Servers
^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^
A server is identified by two properties: its IP address and its hostname. A server is identified by its hostname.
An IP address is a 32-bit number represented in dot-decimal notation. A hostname is a label assigned to a server.
For example, "56.1.5.0" and "86.5.1.0" might be two IP addresses
you see in the game. A hostname is a label assigned to a server.
A hostname will usually give you a general idea of what the server A hostname will usually give you a general idea of what the server
is. For example, the company Nova Medical might have a server with is. For example, the company Nova Medical might have a server with
the hostname "nova-med". the hostname "nova-med".
Hostnames and IP addresses are unique. This means that if one Hostnames are unique. This means that if one
server has the IP address "1.1.1.1" and the hostname server has the the hostname "some-server", then no other server
"some-server", then no other server in the game can have that in the game can have that that hostname.
IP address or that hostname.
There are many :ref:`Netscript Functions <netscriptfunctions>` There are many :ref:`Netscript Functions <netscriptfunctions>`
and :ref:`terminal` commands in the game and :ref:`terminal` commands in the game
that will require you to target a specific server. This is done using that will require you to target a specific server by hostname.
either the IP address or the hostname of the server.
Player-owned Servers Player-owned Servers
^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^

@ -239,7 +239,7 @@ connect
$ connect [hostname/ip] $ connect [hostname/ip]
Connect to a remote server. The hostname or IP address of the remote server must Connect to a remote server. The hostname of the remote server must
be given as the argument to this command. Note that only servers that are immediately be given as the argument to this command. Note that only servers that are immediately
adjacent to the current server in the network can be connected to. To see which adjacent to the current server in the network can be connected to. To see which
servers can be connected to, use the 'scan' command. servers can be connected to, use the 'scan' command.

@ -108,6 +108,7 @@ export const RamCosts: IMap<any> = {
hackAnalyzeSecurity: RamCostConstants.ScriptHackAnalyzeRamCost, hackAnalyzeSecurity: RamCostConstants.ScriptHackAnalyzeRamCost,
hackAnalyzeChance: RamCostConstants.ScriptHackAnalyzeRamCost, hackAnalyzeChance: RamCostConstants.ScriptHackAnalyzeRamCost,
sleep: 0, sleep: 0,
asleep: 0,
share: 2.4, share: 2.4,
getSharePower: 0.2, getSharePower: 0.2,
grow: RamCostConstants.ScriptGrowRamCost, grow: RamCostConstants.ScriptGrowRamCost,

@ -102,7 +102,7 @@ export class WorkerScript {
scriptRef: RunningScript; scriptRef: RunningScript;
/** /**
* IP Address on which this script is running * hostname on which this script is running
*/ */
hostname: string; hostname: string;

@ -363,11 +363,11 @@ export class PlayerObject implements IPlayer {
this.companyName = ""; // Name of Company. Must match a key value in Companies ma; this.companyName = ""; // Name of Company. Must match a key value in Companies ma;
// Servers // Servers
this.currentServer = ""; //IP address of Server currently being accessed through termina; this.currentServer = ""; //hostname of Server currently being accessed through termina;
this.purchasedServers = []; //IP Addresses of purchased server; this.purchasedServers = []; //hostnames of purchased server;
// Hacknet Nodes/Servers // Hacknet Nodes/Servers
this.hacknetNodes = []; // Note= For Hacknet Servers, this array holds the IP addresses of the server; this.hacknetNodes = []; // Note= For Hacknet Servers, this array holds the hostnames of the server;
this.hashManager = new HashManager(); this.hashManager = new HashManager();
//Factions //Factions
@ -483,11 +483,11 @@ export class PlayerObject implements IPlayer {
// Let's get a hash of some semi-random stuff so we have something unique. // Let's get a hash of some semi-random stuff so we have something unique.
this.identifier = cyrb53( this.identifier = cyrb53(
"I-" + "I-" +
new Date().getTime() + new Date().getTime() +
navigator.userAgent + navigator.userAgent +
window.innerWidth + window.innerWidth +
window.innerHeight + window.innerHeight +
getRandomInt(100, 999), getRandomInt(100, 999),
); );
this.init = generalMethods.init; this.init = generalMethods.init;

@ -2785,7 +2785,7 @@ export interface Bladeburner {
* *
* Note that this is meant to be used for Contracts and Operations. * Note that this is meant to be used for Contracts and Operations.
* This function will return Infinity for actions such as Training and Field Analysis. * This function will return Infinity for actions such as Training and Field Analysis.
* This function will return 1 for BlackOps not yet completed regardless of wether * This function will return 1 for BlackOps not yet completed regardless of whether
* the player has the required rank to attempt the mission or not. * the player has the required rank to attempt the mission or not.
* *
* @param type - Type of action. * @param type - Type of action.
@ -2825,7 +2825,7 @@ export interface Bladeburner {
getActionCurrentLevel(type: string, name: string): number; getActionCurrentLevel(type: string, name: string): number;
/** /**
* Get wether an action is set to autolevel. * Get whether an action is set to autolevel.
* @remarks * @remarks
* RAM cost: 4 GB * RAM cost: 4 GB
* *

@ -76,7 +76,7 @@ export class BaseServer {
// Script files on this Server // Script files on this Server
scripts: Script[] = []; scripts: Script[] = [];
// Contains the IP Addresses of all servers that are immediately // Contains the hostnames of all servers that are immediately
// reachable from this one // reachable from this one
serversOnNetwork: string[] = []; serversOnNetwork: string[] = [];

@ -190,7 +190,7 @@ export const HelpTexts: IMap<string[]> = {
connect: [ connect: [
"Usage: connect [hostname]", "Usage: connect [hostname]",
" ", " ",
"Connect to a remote server. The hostname or IP address of the remote server must be given as the argument ", "Connect to a remote server. The hostname of the remote server must be given as the argument ",
"to this command. Note that only servers that are immediately adjacent to the current server in the network can be connected to. To ", "to this command. Note that only servers that are immediately adjacent to the current server in the network can be connected to. To ",
"see which servers can be connected to, use the 'scan' command.", "see which servers can be connected to, use the 'scan' command.",
" ", " ",

@ -167,7 +167,7 @@ export function ls(
function postSegments(segments: string[], style?: any, linked?: boolean): void { function postSegments(segments: string[], style?: any, linked?: boolean): void {
const maxLength = Math.max(...segments.map((s) => s.length)) + 1; const maxLength = Math.max(...segments.map((s) => s.length)) + 1;
const filesPerRow = Math.floor(80 / maxLength); const filesPerRow = Math.ceil(80 / maxLength);
for (let i = 0; i < segments.length; i++) { for (let i = 0; i < segments.length; i++) {
let row = ""; let row = "";
for (let col = 0; col < filesPerRow; col++) { for (let col = 0; col < filesPerRow; col++) {

@ -56,7 +56,7 @@ export function ServerAccordions(props: IProps): React.ReactElement {
for (const ws of props.workerScripts.values()) { for (const ws of props.workerScripts.values()) {
const server = GetServer(ws.hostname); const server = GetServer(ws.hostname);
if (server == null) { if (server == null) {
console.warn(`WorkerScript has invalid IP address: ${ws.hostname}`); console.warn(`WorkerScript has invalid hostname: ${ws.hostname}`);
continue; continue;
} }