bitburner 游戏新手中文教程-转载steam指南,作者:夏伊
bitburner吧
全部回复
仅看楼主
level 4
gantou411521 楼主
前言游戏十分硬核,如果对编程不感兴趣那么游戏将会变得十分无聊。
游戏没有中文,对应文档也没有中文翻译。所以需要亿点点的英语。不过通过这个游戏可以学到英语和编程的知识也是好的。
这篇指南前两章节讲解的许多内容都在游戏的教程中给出了;
本指南适合阅读人群:有一定程序基础,可以看懂JavaScript代码最好不过了。没用过JS也不用担心,这门语言非常好学。
本指南还在不断更新中。另外,如有纰漏欢迎指正。游戏背景&基础指令介绍Bitburner的是一款数值增长类游戏,这类游戏可以简单地理解为点点点的游戏。点击屏幕就可以获得金币,通过金币可以升级你的吸金能力,然后点击屏幕获得更多金币。但与其他游戏不同的地方在于,Bitburner是通过编写代码来取代点点点获取金币的游戏。换言之,你的(现实生活中的)coding能力越强,就越容易获得高额奖励。
游戏发生在2077年,货币已经去中心化,你是一名黑客,你的目标就是黑别人的电脑偷钱,好了开始干吧。
游戏的画面就是一个终端的界面。我们以后大部分的游戏都将是和这个终端交互进行的。
1 重要指令介绍
1.help
在终端上输入help可以查看所有指令。help+特定指令可以查看该指令的具体用法。想不起来的时候可以经常查看。
Type 'help name' to learn more about the command
2.scan
检索可以直接与当前机器相连的主机(服务器)。
3.connect
连接可以直接与当前机器相连的主机(服务器)。
4.hack
按百分比偷取当前主机上的刀乐儿。也就是说,不停的输入这个指令会使你的收入逐渐降低。
5.grow
按百分比增长当前主机上的刀乐儿。
6.weaken
使用hack和grow会使当前主机的安全等级上升。安全等级会影响指令运行时间。使用weaken指令就可以降低安全等级。
7.nano [file ...]
打开文本编辑器。
nano hack.script 打开/创建一个名为hack的脚本文件。
8.run
运行脚本文件或可执行文件。
成为一名超底层的黑客在终端中输入
[home ~/]> scan
Hostname IP Root Access
n00dles 3.5.9.5 N
foodnstuff 26.0.9.1 N
sigma-cosmetics 84.8.0.9 N
joesguns 93.6.2.0 N
hong-fang-tea 40.9.8.5 N
harakiri-sushi 94.1.2.1 N
iron-gym 90.8.0.8 N
将会获得所有可以直接进行连接的主机,最后的N代表no,也就是ROOT ACCESS是no。选中一个倒霉蛋然后输入
[home ~/]> connect n00dles
Connected to n00dles
提示已经连接至拉面馆。这里需要注意的是,connect命令只能连接一个节点距离的服务器。例如:foodnstuff服务器还有一个子节点叫zer0,如果输入connect zer0将会提示无法连接。就算我们直接输入IP地址也是不行的。
然后分析主机
[n00dles ~/]> analyze
Analyzing system...
[||||||||||||||||||||||||||||||||||||||||||||||||||]
n00dles:
Organization name: Noodle Bar
Root Access: NO
Required hacking skill: 1
Server security level: 1.000
Chance to hack: 42.43%
Time to hack: 49.264 seconds
Total money available on server: $70.000k
Required number of open ports for NUKE: 0
SSH port: Closed
FTP port: Closed
SMTP port: Closed
HTTP port: Closed
SQL port: Closed
可以看到当前的root权限,需要的最低黑客等级,黑入机会,黑入时间等等一系列的信息。
因为Required number of open ports for NUKE: 0所以,我们不需要打开任何端口(我们目前也没办法打开任何端口)直接就可以运行nuke.exe, 这是一个发射核弹的程序,运行之后拉面馆就会化为灰烬。
这是获取root权限的程序,运行后就可以获得拉面店的所有权限,这时hack指令就可以被运行了。另外我们也可以在这台计算机上运行自己书写的脚本程序了。
[n00dles ~/]> run nuke.exe
NUKE successful! Gained root access to n00dles
运行结果显示我们获取了拉面馆的root访问权限。
事不宜迟,先黑入一波试试。
[n00dles ~/]> hack
[||||||||||||||||||||||||||||||||||||||||||||||||||]
Hack successful! Gained $288.000 and 3.300 hacking exp
Security increased from 1.000 to 1.002
读条完毕之后,显示黑入成功(也可能会失败),获得了288块钱和3.3的黑客经验。但安全等级提升了0.002。
下面试试grow
[n00dles ~/]> grow
[||||||||||||||||||||||||||||||||||||||||||||||||||]
Available money on 'n00dles' grown by 1274.637970%. Gained 3.300 hacking exp.
Security increased from 1.002 to 1.102
可用资金大概提升了12倍,但安全等级也提升了0.1。
下面该weaken出场了
[n00dles ~/]> weaken
[||||||||||||||||||||||||||||||||||||||||||||||||||]
Security decreased from 1.102 to 1.052 (min: 1.000) and Gained 3.300 hacking exp.
通过weaken指令使安全等级降低了0.05
到此为止,我们已经可以手敲指令黑入其他主机并获得利润了。但......总这么敲不累么?
2022年01月05日 09点01分 1
level 4
gantou411521 楼主
成为一名会写傻瓜脚本的黑客
前一章节我们可以用小手不停的敲击键盘来黑入别人的电脑获取他们的金钱了。但毕竟我们是黑客,不是富士康流水线上重复单一动作的工人。所以自动化是必不可少的。
编写脚本,首先要打开文本编辑器。
通过nano指令就可以打开文本编辑器去书写代码了。
游戏中使用的编程语言叫做NetScript。其中分为NS1和NS2两种版本。NS1是JavaScript的一个子集,在游戏中运行速度较慢。NS2则是几乎涵盖了所有JavaScript的功能,运行速度飞快。NS1代码的(游戏中的)扩展名为.script。NS2代码的扩展名为.js。 详细内容点击这里 [bitburner.readthedocs.io]
当我们黑入面馆(n00dles)的电脑之后,就可以在终端上不停的键入hack来获得源源不断地金钱,但手动hack显然不是一个聪明的举动。所以我们可以编写一个简单的循环脚本来让计算机自动帮我们输入hack。
具体操作:
在终端键入并回车打开文本编辑器
[home ~/]> nano hack.script
然后编写NS1格式的脚本文件:
while (true)
hack("n00dles");
解释:while表示循环括号里面是循环的条件,条件为真时进行循环执行,条件为假时跳出循环,因为括号里时true,所以这个循环会一直执行(俗称死循环)。上面的代码将会循环执行hack。
按下ctrl+s和ctrl+b保存并关闭文本编辑器返回终端界面。
然后键入
[home ~/]> run hack.script
Running script with 1 thread(s), pid 37 and args: [].
会提示你这个脚本使用了一个线程,并且没有任何参数。然后点击左侧的Active Script可以看到当前正在运行的脚本。
很明显,当我们运行一段时间之后就会发现面馆的余额越来越少,按百分比获取金钱的hack指令每次可以获得的金钱将会越来越少,而且警戒等级也因为不停的黑入提高了,这样每次黑入的时间将会变长,我们的效率也会随之变低。all in all,一直使用hack指令将会使我们的收益逐渐降低。改变这个局面将会是必不可少的一环工作。
同样的,我们可以再建立另外两个名为grow和weaken的脚本去进行不断地增长和削弱。
grow.script
while (true)
grow("n00dles");
weaken.script
while (true)
weaken("n00dles");
目前为止我们可以自动的对n00dles进行黑入、增长、和削弱操作了。
需要说明的事情:目前三个脚本被运行在了本地主机home上。每个脚本都会占用一定的内存,例如上面的脚本占用了1.75GB的内存。我们本地主机只有8GB内存,所以大约运行四个脚本内存就会耗尽。为了解决内存问题,我们可以去电脑城购买更大的内存条或者干脆直接购买云端服务器。出生城市Sector-12的电脑配件商城叫alpha ent.在地图上用一个大写的T表示。Purchase x.00GB Server表示购买xGB的云端服务器。需要注意的事:如果想购买更大内存的服务器需要在线购买。最大可以购买2^20GB RAM的服务器。点击upgrade 'home' ram就可以升级本地设备的内存容量。下面的core指CPU核心数量,这个影响的是使用hack、grow、weaken的时间长短。
可是,以我们目前的经济实力,升级配置和购买服务器都不是一个很好的解决办法。
我们需要转换一个思路,既然我们已经获得了远程主机的root权限,那我们为什么不把脚本直接在想要黑入的服务器上运行呢?
在远程服务器运行脚本的操作和在本地一样:首先新建/拷贝脚本文件到目标远程服务器,然后输入 run 脚本名,即可执行其脚本文件。所以,每当我们解锁一个服务器的root权限之后,就在这台服务器上上传黑入三件套,然后运行。
要完成这个目标,目前还有两个问题,第一,如果我们想黑入其他服务器,那么这个脚本“n00dles”的部分就需要手动修改,第二,我们还需要手动拷贝脚本到目标服务器并手动运行。
第二个问题可以通过建立一个用于临时拷贝的脚本来应付一下:
在终端键入并回车打开文本编辑器
[home ~/]> nano copy.script
并在文件中写入
scp("hack.script","home","foodnstuff")
scp("grow.script","home","foodnstuff")
scp("weaken.script","home","foodnstuff")
//scp用法:
//scp(files: string | string[], source: string, destination: string)
解释:scp函数需要传入三个参数,第一个参数表示文件名。第二个参数表示文件所在的地址(服务器),第三个表示想要拷贝到的地址。
所以scp("hack.script","home","foodnstuff")就表示,将home主机上的hack.script文件拷贝到foodnstuff服务器上。
这样只要我们一运行copy.script就可以将hack、grow、weaken三个文件拷贝到杂货店的主机上了。
下面我们来解决主机名的问题。我们可以在home中找到一个名为hackers-starting-handbook.lit 的文件,使用 cat hackers-starting-handbook.lit 可以查看其中的内容。里面介绍了几个重要的函数。(为了更好地进行游戏中程序的编写强烈建议阅读游戏教程中的所有内容Tutorial)
例如:getHostname();就可以获得当前主机的名字。所以我们将之前的三个脚本“n00dles”的地方换成getHostname();就可以解决问题一了。但拷贝的问题还是没有完美解决。
其实,我们在终端中运行脚本文件时可以向其传递参数,传递的参数可以使用args变量来访问。稍作改变,我们的copy就变成了这样:
//var from = args[0];
var from = "home";
var to = args[0];
scp("hack.script",from,to)
scp("grow.script",from,to)
scp("weaken.script",from,to)
当我们在终端中输入 run copy.script foodnstuff 之后就可以在foodnstuff中看到这三个文件了。
下面只需要输入:
run hack.script
run grow.script
run weaken.script
就可以进行新的黑入操作了。等等,这要在终端上敲三行代码不会很麻烦吗?当然麻烦,所以我们可以再编写一个脚本去一键运行这三个代码。但这并不是最好的解决办法,所以这里留给大家独立思考,如何编写一个运行其他三个脚本的脚本。
提示:
run(script: string, numThreads?: number, ...args: string[]): number
Start another script on the current server.
2022年01月05日 09点01分 2
@游奕LIFE 你看看连接位置对不对
2024年07月18日 09点07分
为什么明明有home里面的grow.script文件,运行scp代码时它显示未找到grow.script文件呢?
2024年02月27日 10点02分
@宽恕无关慈悲 是不是更新了之后不能用?我之前的脚本都不能用了
2024年09月21日 04点09分
为啥要用黑入三件套,循环不能写成while(true){commands}的形式吗?按js语法应该可以办到。而且,使用.js脚本既然速度快,那有什么副作用吗?
2022年06月11日 08点06分
level 4
gantou411521 楼主
游戏流程(含剧透)游戏会随着一些条件的达成而收到诸如jump3R等一些组织的信息或组织邀请(比如黑客等级达到100,黑客网络节点总等级达到100等等)。这些信息会隐式的给出一个黑客组织的名字。我们要做的就是找到这个组织的服务器并且安装后门程序(连接服务器后使用backdoor指令)。成功之后会收到黑客组织的邀请。在黑客组织工作可以获得声望,来解锁增强剂的购买选项。
增强剂是一些可以增加经验获取减少黑入时间等等效果的道具,这些道具可以理解为赛博世界中的义体或植入体。然而单纯购买这些增强剂是没有用的,我们还需要进行安装。而安装将会重置技能等级和经验、金钱、除了home以外的所有脚本、购买的服务器、购买的黑客节点、帮派的声望、股票。总而言之,安装强化剂就相当于某些游戏中的转生。
所以,游戏的流程就是:1不断升级黑客能力->2收到信息->3找到对应服务器->4安装后门->进行组织工作并购买增强剂->安装增强重生加速经验获取->返回1
主线中的四个组织名和服务器名分别为:
CyberSec : CSEC
NiteSec: avmnite-02h
Black Hand: I.I.I.I
BitRunners: run4theh111z
当购买并安装所有以上四个组织的增强剂之后,在home运行fl1ght.exe程序查看新的目标
全部完成之后会收到新的邀请:Daedalus
这个组织提供一个名为The Red Pill的物品(黑客帝国梗)。购买之后将会完成第一轮大循环。
2022年01月05日 09点01分 4
level 4
gantou411521 楼主
后记想成为一名小有名气的黑客,不去读手册是不行的。 葵花宝典 [github.com]
这里列出了所有可以使用的方法。比如:获取虚弱当前服务器安全等级的用时,就可以使用这个函数:getWeakenTime(host) 等等。
游戏中还有帮派和增强剂等设定。
加入帮派并且进行帮派工作可以获得帮派声望,达到一定量的声望之后可以购买增强剂,增强剂可以增加经验金币等获取的倍数等等加成。
帮派相关 [docs.google.com]
另外游戏还有股市系统,可以购买API来编写脚本进行买卖。目前对这个系统还没有详细研究,总之如果写出一个毛耸耸算法来自动进行股市交易,应该也可以获得不菲的收益。
其实上面给出的只是基本的策略,并非(当然肯定不是)最优解。更多有意思的想法欢迎大家一起交流。
2022年01月05日 09点01分 5
我分享了一个股票交易策略,后续有空会增加更多股票策略
2022年10月05日 12点10分
level 7
帮楼主顶一下,看来玩这个游戏的人越来越多了
2022年01月05日 09点01分 6
是的 有一点C语言基础 玩的也比较吃力 所以在找攻略中。 请问一下大神 如何扫描到run4theh111z 服务器呢?
2022年01月05日 09点01分
@gantou411521 写一个脚本scan-find run4theh111z ,从home开始执行scan,然后递归调用,查找对应名字的服务器。找到后,有2种方法快速定位,第一个就是递归打印路径,然后你自己一个一个connect过去。第二种方法,document去找到终端的UI,给命令行赋值写好这一堆connect,模拟回车,自动跳转
2022年01月05日 09点01分
@千域远山 不会写脚本 只好用最笨的办法 一个一个扫描 目前已经扫描出来了 谢谢你 告诉的方法!~
2022年01月06日 03点01分
@gantou411521 下次我出一套完整的工具脚本
2022年01月06日 03点01分
level 4
gantou411521 楼主
steam指南----本文作者:夏伊
进行了订正,这回复制粘贴进游戏里的代码编辑器应该没问题了。最近会进行一次更新,随着游戏的进行,又想到了一些新的东西。
拷贝程序的解释:
两个//是注释,意思就是不执行这一行的代码。这里的本意是通过传入两个参数来进行拷贝。from和to两个变量分别代表从哪拷贝和拷贝到哪。因为我们所有的脚本都存放在home上,所以from就没有通过外部传入,而是硬编码直接写在函数里的。
更加正确且更加容易理解的写法
copy.script
var from = args[0];
var to = args[1];
scp("hack.script",from,to);
scp("grow.script",from,to);
scp("weaken.script",from,to);
用法:run copy.script home foodnstuff
2022年01月05日 09点01分 7
1