bitburner吧 关注:165贴子:546
  • 2回复贴,共1

Batch hacking 赚钱的一个实现, 大概 4PB 内存 => 240b/s

取消只看楼主收藏回复

算法来源:
https://bitburner.readthedocs.io/en/latest/advancedgameplay/hackingalgorithms.html?highlight=batch#batch-algorithms-hgw-hwgw-or-cycles

简单来说就是以结束时间排序, HWGW 为一个循环:
1. 保证每一个 weaken 可以消除掉上一个阶段产生的 security level 增长.
2. 保证 Grow 可以把 Hack 掉的钱完全补回去
3. 保证 4 个阶段的结束时间几乎相同, 通过延迟执行一个批次的第二个 W, G 和 H实现
4. 保证 4 个阶段严格按照 HWGW 的顺序, 实际间隔可以是 20ms 到 100 ms
这样除了 batch 结束时的那 100 多毫秒以外, 其他时间服务器的 money 和 safe level 都是稳定最佳状态. 于是在内存无穷大的情况下, 钱的速度仅仅取决于 batch 的频率乘以服务器钱数.
实现的截图:
在 4PB 的 home, 只对 b-and-a 批处理 hacking ,收入约 240 b / sec.



源码: https://github.com/MinchaoZhu/bitburner-script/tree/main/scripts/batch_hack
使用:
运行: wget "https://raw.githubusercontent.com/MinchaoZhu/bitburner-script/main/scripts/wget.ns" wget.ns
运行: run wget.ns
运行: alias BatchHack="run /scripts/batch_hack/Start.js";
最后运行 BatchHack <1|home|all>
则会为每个自己的服务器随机分配一个可以 hacking 的目标
1: 在购买的服务器上跑
home: 只在 home 上跑
all: 在 home 和购买的服务器上跑


IP属地:新加坡1楼2022-01-12 01:19回复
    当然由于 js 引擎效率不如编译型的语言, 所以如果同时执行的脚本很多的话, 就会影响批次实际的执行时间和执行的顺序. 当打乱顺序后这个算法的实际执行赚钱能力就下降了 n 个档次.
    但是实测低压笔记本在 home 上执行上面截图的, 是没有性能问题的.

    可以通过调整这三个参数来适应电脑性能:
    (20 ms 据说是 js 引擎的限制)
    defaultDelay: HWGW 结束执行时间的间隔, 越小越好, 但必须大于 20 ms, 推荐是 20-100 ms. 决定了算法的稳定性.
    hackRatio: 每次赚取最大钱数的比例, 推荐 0.5-1.0, 数值越大一个批次的内存占用越多, 可以适当调小. 决定了每批次赚的钱.
    batchDelay: 每个批次之间的执行间隔, 越小越小, 但必须大于 20 ms, 决定了批次的频率.


    IP属地:新加坡2楼2022-01-12 01:31
    收起回复
      2025-05-10 13:57:33
      广告
      sorry 很久没玩了


      IP属地:新加坡来自iPhone客户端11楼2023-02-04 10:12
      回复