Ir para o conteúdo
Riot Bits

Riot Bits

  • Lar
  • Notícias
  • Guias
  • Guias de vídeo
  • Notas do Patch
  • Denunciar abuso
  • Alternar formulário de pesquisa
Bitburner

Bitburner – Server Purchasing Bot

postado em 01/09/2022 Por Meng 1 comentário em Bitburner – Server Purchasing Bot
  • Título: Bitburner
  • Data de lançamento:
  • Desenvolvedor:
  • Editor:
Information about Bitburner is still incomplete. Por favor, ajude-nos a preencher os detalhes do jogo usando este formulário de contato.

This is an automated script for midgame (or SF1+ games) that buys and rebuys servers. It has editable variables for extra customization.

About this Bot

This is a bot that will:

  • Buy servers of RAM you specify (default is half your home RAM, minimum of 32GB)
  • Upload and execute a script of your choosing
  • Template for uploading additional scripts of your choosing (ou seja. if your main script calls 3x scripts like mine does)
  • If you have max servers (25) and they are weak (<25% of your home RAM) and have sufficient money to upgrade, it will prompt a yes/no box to upgrade them. This deletes and rebuys.

Due to the logic inside, it is quite hefty at 13.3GB of RAM required, as such it is not really suited for a very early game.

There is some basic technical knowledge required to change a few lines of code to suit your setup. Read the how-to carefully.

You can force a server rebuy by running it with the ‘f’ argument (ou seja. “run servers.js f”)

The Script

// Server purchasing script for Bitburner - https://danielyxie.github.io/bitburner/ , written by steamid/Meng
// Runs until satisfied, will rebuy servers money is sufficient and server is worse than 25% of ram. Run with 'f' argument to force rebuy

// Versão 1.22
// Added additional comments and MAIN_SCRIPT variable so that the code will be usable for others

export async function main(ns) {

    // ~~~~~~~~~Editable variables~~~~~~~~~~~
    const SVRNAME = "plex";             // What hostname your purchased servers will have
    const MIN_RAM = 32;                 // Minimum RAM you want to buy for a server
    const SVR_RAM_RATIO = 2;            // Target RAM for server is "Lar" BATER, divided by SVR_RAM_RATIO, must = power of 2 (0.5, 1, 2, 4...). por exemplo. '2' is 50% of home RAM
    const MAIN_SCRIPT = "breaker.js"    // Name of your main script that you want to upload
    // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    let currentServers = ns.getPurchasedServers();
    let ram = calculateRam();   // Calculates how much RAM to buy for the server
    let i = currentServers.length;
    const serverMax = 25;       // hardcoded max servers as of Bitburner v1.3

    // Check and ensure servers are running scripts (recover after a forced reboot)
    // if server is not running scripts, overwrite existing breaker and run.
    ns.print('Starting scripts on existing servers...')
    para(let x = 0; x < currentServers.length; x++){
        se (!ns.isRunning(MAIN_SCRIPT, currentServers[x])){ 
            await ns.scp(MAIN_SCRIPT, currentServers[x]);
            ns.exec(MAIN_SCRIPT, currentServers[x], 1);
        }
    };

    // Server purchase info
    const serverPriceInfoText = (ns.getPurchasedServerCost(ram) / 1000000).toFixed(2);
    ns.toast(`Server price is ${serverPriceInfoText} M`, "informações");
    ns.print(`about to start buying servers @ ${ram}gb for ${serverPriceInfoText}`);
    await ns.sleep(15000)
    
    // then Continuously try to purchase servers until we've reached the maximum
    while (eu < serverMax) { // Check if we have enough money to purchase a server if (ns.getServerMoneyAvailable("lar") > ns.getPurchasedServerCost(ram)) {
            // if sufficient money, buy server, name it, upload scripts and exec MAIN_SCRIPT
            let hostname = ns.purchaseServer(SVRNAME + eu, ram);
            await ns.scp(MAIN_SCRIPT, hostname);
            // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            // Add any extra scripts you want to upload here, or delete the lines
            // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            await ns.scp("hackscript.js", hostname);
            await ns.scp("growscript.js", hostname);
            await ns.scp("weakscript.js", hostname);
            // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            ns.exec(MAIN_SCRIPT, hostname, 1);
            ns.toast(`Server ${hostname} was purchased`, "sucesso")
            ++eu;
        }
        outro {
            ns.print(`cannot buy yet - price is `+ ns.getPurchasedServerCost(ram))
            await ns.sleep(20000)
        }
    } // end of while  (ns.getPurchasedServerCost(ram) * 13) ){ // if money is sufficient for upgrade..
            let areYouSure = await ns.prompt(`do you want to rebuy servers? Est Cost: $ ${((ns.getPurchasedServerCost(ram) * 25)/1000000000).toFixed(2)} B`);
            se (areYouSure){
                para (let i = 0; eu < currentServers.length; eu++){ // Delete all existing servers ns.killall(currentServers); ns.deleteServer(currentServers); } ns.spawn("servers.js", 1); // Kills and Restarts this script to start buy process } } await ns.sleep (900000); } function calculateRam() { // Calculate how much RAM to buy for the server (set to SVR_RAM_RATIO) const myRam = ns.getServerMaxRam("lar"); const maxPossRam = 1048576; // Hardcoded value for maximum purchasable server ram @ Bitburner v1.3 if (myRam > maxPossRam){return maxPossRam}
        senão se (myRam <= MIN_RAM){return MIN_RAM}
        outro {retornar (myRam / SVR_RAM_RATIO)};
        }
    } // end of script

Como usar

Here’s how you can use this script

  • terminal > nano “servers.js”
  • paste the below code in
  • EDIT THE CODE – Linha 13 + Lines 45-50
    • Linha 13: Mudar “breaker.js” to whatever your main script filename is that you would like to execute on the remote server.
    • Lines 45-50: If you want to upload more scripts, then amend these lines as well, if you do not need them, then delete them between the lines. Note that these will not auto-execute, they assume that your main script calls them. If you need to execute them as well, then add extra lines of
      ns.exec("yourScriptNameHere.js", hostname, 1);
  • salvar
  • terminal > run servers.js

Observação: If you do not name the file servers.js, then you amend line 70 to whatever you name the file, or the rebuy function will not work.

Isso é tudo o que estamos compartilhando hoje para isso Bitburner guia. Este guia foi originalmente criado e escrito por Meng. Caso não atualizemos este guia, você pode encontrar a atualização mais recente seguindo este link.

Se você acredita que algum conteúdo deste site viola seus direitos, incluindo seus direitos de propriedade intelectual, entre em contato conosco imediatamente usando nosso formulário de contato.
Guias Tag:Bitburner

Navegação de artigos

Postagem anterior: Guia para iniciantes de superpoderes ociosos, Pontas, e truques
próxima postagem: Thrive – Long-term Cell Stage Survival Guide

Comentário (1) on “Bitburner – Server Purchasing Bot”

  1. soyaro diz:
    01/31/2022 às 4:05 SOU

    I just spent multiple minutes to fix the syntax errors before I was able to understand at least parts of it. I don’t know if the website messed it up or it was user error but like this nobody can execute it. almost all ifs are commented out, por exemplo. the linebreaks are a mess, if there are any. Multiple ; are missing. At first I thought you tried to write while else (turned out to be another commented if). Why don’t you just use let scriptArray = [“script1.js”, “script2.js”,…,”scriptn.js”]; to be used in ns.scp(scriptArray, hostname);? Does need one scp instead of 3 while uploading every amount of scripts at once. And what the heck are you trying to do in the final loop? the condition (one value multiplied by 13) would always be true if it weren’t commented out. This script would constantly spam “do you want to rebuy servers?”, probably instant-spending all the players money. Maybe you should stick to reddit with your scripts, there you’ll get instant feedback and enhancement suggestions…

    Responder

Deixe um comentário Cancelar resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  • Título: Bitburner
  • Data de lançamento:
  • Desenvolvedor:
  • Editor:
Information about Bitburner is still incomplete. Por favor, ajude-nos a preencher os detalhes do jogo usando este formulário de contato.

Isenção de responsabilidade

Todo o conteúdo citado é derivado de suas respectivas fontes. Se você acha que usamos seu conteúdo sem permissão, certifique-se de entrar em contato conosco e levaremos isso a sério.
  • Sobre nós
  • Contate-nos
  • política de Privacidade
  • Termos de serviço

direito autoral © 2025 Riot Bits.

Distribuído por PressBook Notícias tema WordPress