Hacknet Guide

(beta)中文翻译:Hacknet扩展模组教程(原文:Hacknet Extensions Guide [Official]) for Hacknet

(beta)中文翻译:Hacknet扩展模组教程(原文:Hacknet Extensions Guide [Official])

Overview

感谢 杠精一百八十五号. 大佬的翻译!同时欢迎加入Hacknet吧正式Mod研究所!{LINK REMOVED}https://jq.qq.com/?_wv=1027&k=5Z702WY这是Hacknet扩展及Mod开发的官方指南,用于帮助你开始,并提供一份所有可用特性的概览。不过我鼓励诸位大佬社区成员制作属于自己的关于用扩展实现特殊用途的指南。

扩展的介绍

我强烈推荐你使用IntroExtension这个Mod。
这个Mod里有一些指南性文件。

你也可以加入一个组织,跟其他的开发人员获得帮助。
[link]
计算机
[link]


[link]

派别/行动
[link]

您自己的扩展

第一件事,找到您Hacknet扩展安装的文件夹。
您可以通过右击Steam,属性,本地文件选项卡,点击浏览本地文件按钮来快速浏览。

找到BlankExtension文件夹,整个复制一个副本。并且重命名此文件夹为你的扩展文件夹。

打开该文件夹,更改

EDIT_ME_ExtensionInfo.xml

ExtensionInfo.xml

这样您的扩展就会显示在Hacknet中了。打开此文件夹并开始制作您的Mod。

可以根据下一章更改”ExtensionInfo.xml”文件。

一旦你更改了任何文件,记着要打开Hacknet,去扩展界面。并且找到您的Mod。
单机”运行验证测试”来自动测试你的Mod。你应该习惯于点击这个按钮。
因为他会检查您Mod的每一次更新后的所有问题及错误。

ExtensionInfo.xml

所有的扩展都需要他们自己的文件夹。其中包含了一个名为ExtensionInfo的文件。
这个文件详细介绍了扩展的元数据。
(副本1-1)

主机基础

Hacknet中的计算机各个属性都自定义在XML文件中。为此添加和删除标签,并且更改值会更改计算机具有的功能,安全性以及其他方面。

一个具有完成属性的实例功能在这里可以找到:
(副本2-1)

定义基本原理的起始标签如下所示:

<Computer id=”advExamplePC” name=”Extension Example PC” ip=”167.194.132.7″ security=”2″ allowsDefaultBootModule=”false” icon=”chip” type=”1″ >

对于标签类型(type):1=公司 2=主页 3=服务器 4=空
您也可以使用”空”一次来确保它不会生成垃圾文件和IRC。

安全等级(security)是从0到5的数字,代表它是多么难以攻击。
从1-4开始,需要许多端口打开,4以上才能自动打开。
添加其他安全性可轻松扩展,您可以覆盖下面的细节(推荐)

AllowDefaultBootModule的默认值为true,表示连接到节点时,
它将自动启动它的程序(在此文件中定义的最后一个守护文件)并且把它放在显示模块上。

主机安全

这个标签可以添加到主机文件中以描述计算机的安全功能。

账号

<adminPass pass=”password” />

设置此计算机的管理员密码。

<account username=”Matt” password=”testpass” type=”ALL” />

在此计算机上添加一个账户。
类型表示它的特权:
Admin = 0;
All = 1;(可以删除文件)
MAIL = 2;(邮箱账号)
任务列表 = 3;(用于任务列表服务器账号)

您可以使用该号码或类型的名称。

<account username=”mailGuy” password=”mailPass” type=”2″ />

为这样的邮件服务器帐号。

安全
<ports>21, 22, 25, 80, 1433, 104, 6881, 443, 192, 554</ports>

有效端口:21,22,25,80,43,104,6881,443,192

<proxy time=”2″ />

代理服务器。
将值设置为-1,将会消失。
时间是基准时间的乘数(30秒)。时间1是“正常”,2是“长”。
在这里使用乘数来改变它的长短。

<portsForCrack val=”0″ />

要打开以允许porthack运行的端口数。
如果设置为100以上,计算机将显示”INVIOLABILITY ERROR”消息。

<firewall level=”6″ solution=”Scypio” additionalTime=”1.0″/>

将防火墙设置为-1,将会消失。
solution是玩家需要找到的解决方案。
级别应该等于解决方案的长短,但是可以更长(不要短)!
额外的时间是Hacknet求解器每一步的非标准需要的额外时间。

<trace time =“5678”/>

添加一个跟踪定时器的描述。设置为-1以删除。

<admin type=”fast” resetPassword=”false” isSuper=”false”/>

自动管理员加法器。当玩家断开连接时,会重置端口和内容。可用类型为”basic”,”progress”和”fast”。基本尽在15秒后左右重置。
进度管理员重置端口,防火墙和代理进度。但只有玩家不是管理员的时候。
超级管理员可以在快速模式下立即重置密码。

对于断开连接时使用的服务器:

<admin type=”fast” resetPassword=”true” isSuper=”true” />

对于通用计算机,最佳做法是使用”progress”管理员,除非您希望在断开连接之间保持端口更改。

<admin type=”progress” />

对于具有标题设置为”security”等级为4以上的计算机,请使用以下方式删除自动添加的管理员。

<admin type =“none”/>

<portRemap>web=1234,22=2</portRemap>

将端口从定义的默认值重新映射到任何所需位置。左侧是默认/原始值,或者是昵称。
支持的集成:ssh,ftp,web,torrent,medical,smtp,sql。
它还支持任何实际的端口号。

<tracker />

跟踪器是”被动跟踪”。
如果将此标签位于此处,则在玩家断开与本机的连接后,如果已经留下了下载日志或者删除文件日志,则会被自动生成的AI黑科攻击,并将尝试重置他们,或者如果玩家有FLAG时候,他们可以做ETAS:
“CSEC_Member”。

主机的链接和定位

<dlink target=”advExamplePC2″ />

这将会把这台主机连接到另一个计算机(单向),如果从他扫描,它会显示连接。
您可以添加许多这样的标记来添加多个连接。

<positionNear target=”advExamplePC2″ position=”1″ total=”3″ extraDistance=”0.1″ force=”false”/>

这将会设置主机在网络地图上的目标。
位置是围绕它的位置,总是是其径向周围节点的数量,这样可以创建炫酷的网络。

ExtraDistance应该在-0.6和0.3之间,任何更大的数字似乎真的能离得很远。甚至可能会导致问题,0.1是一个好的位置!

文件

正常的文件可以这样做:

<file path=”home” name=”Test_File.txt”>This is a test file in the home directory</file>

<file path=”home” name=”asdf.txt”>This is A Multiline File. Note that it doesn’t have whitespace on the left side. That causes formatting issues!</file>
<file path=”home” name=”downloadFile.txt”>This is a file for some of the goals in ExampleMission.xml</file>

<file path=”home” name=”changeFile.txt”>This is too!</file>

<file path=”bin” name=”Binary_File”>#BINARY#</file>

<file path=”home/NewDirectory” name=”Test_File”> This is a longer file that also creates a new directory by adding something to path. #BINARY# This generates some binary (2000 chars of it) #BINARYSMALL# This generates some binary (1000 chars of it) #PLAYER_IP# Becomes the IP of the player’s computer #PLAYERNAME# the above string converts itself into the player’s name #RANDOM_IP# A fresh, randomly generated IP Address test test </file>

有几个”通配符”可以在加载时自动替换特定的内容。
这通常是类似于.exe文件或标准主题内容的确切数据。
以下是可以使用的通配符。

<file path=”bin” name=”SSHCrack.exe”>#SSH_CRACK#</file> <file path=”bin” name=”FTPBounce.exe”>#FTP_CRACK#</file> <file path=”bin” name=”WebServerWorm.exe”>#WEB_CRACK#</file> <file path=”bin” name=”SMTPOverflow.exe”>#SMTP_CRACK#</file> <file path=”bin” name=”SQLBufferOverflow.exe”>#SQL_CRACK#</file> <file path=”bin” name=”HexClock.exe”>#HEXCLOCK_EXE#</file> <file path=”bin” name=”Clock.exe”>#CLOCK_PROGRAM#</file> <file path=”bin” name=”Decypher.exe”>#DECYPHER_PROGRAM#</file> <file path=”bin” name=”DECHead.exe”>#DECHEAD_PROGRAM#</file> <file path=”bin” name=”KBTPortTest.exe”>#MEDICAL_PROGRAM#</file> <file path=”bin” name=”ThemeChanger.exe”>#THEMECHANGER_EXE#</file> <file path=”bin” name=”eosDeviceScan.exe”>#EOS_SCANNER_EXE#</file> <file path=”bin” name=”SecurityTracer.exe”>#SECURITYTRACER_PROGRAM#</file> <file path=”bin” name=”Tracekill.exe”>#TRACEKILL_EXE#</file>

专门的扩展程序!
RTSPCrack用来破解554端口。
ESequencer是一个可以自定义的音序程序,由ExtensionInfo.xml中的字段控制。
OpShell具有-s和-o选项,可以保存当前的shell位置,并在以后快速重新打开它们。

<file path=”bin” name=”RTSPCrack.exe”>#RTSP_EXE#</file> <file path=”bin” name=”ESequencer.exe”>#EXT_SEQUENCER_EXE#</file> <file path=”bin” name=”OpShell.exe”>#SHELL_OPENER_EXE#</file>

主题

<file path=”sys” name=”White-Theme.sys”>#WHITE_THEME#</file> <file path=”sys” name=”Green-Theme.sys”>#GREEN_THEME#</file> <file path=”sys” name=”Yellow-Theme.sys”>#YELLOW_THEME#</file> <file path=”sys” name=”Teal-Theme.sys”>#TEAL_THEME#</file> <file path=”sys” name=”Base-Theme.sys”>#BASE_THEME#</file> <file path=”sys” name=”LE-Theme.sys”>#PURPLE_THEME#</file> <file path=”sys” name=”Mint-Theme.sys”>#MINT_THEME#</file>

通配符总是#WILDCARDS_ARE_ALWAYS#这样的。

特殊文件

自定义主题文件

自定义主题将在后面进行更详细的讨论,但是为了我也本节的内容,这里是你如何在电脑上定义它们。

<customthemefile path=”sys” name=”Custom_x-server.sys” themePath=”Themes/TestTheme2.xml”/>

加密文件

可以使用DECHead.exe跟踪加密的文件,并且使用Decypher.exe进行解码。下面是您定义它们的方法:

实例一:

<encryptedFile path=”home” name=”encrypted_File.dec” extension=”.txt” ip=”192.168.1.1″ header=”This is the header” pass=”decryptionPassword”> This generates an encrypted file that can be decrypted using the password above. It decrypts to have the extension .txt </encryptedFile>

实例二:

<encryptedFile path=”home” name=”easy_encrypted_File.dec” ip=”192.168.1.1″ header=”This is the header”> By simply not providing a password like this one, it can be decrypted without a password </encryptedFile>

实例三:

<encryptedFile path=”home” name=”asdf2.dec” ip=”192.168.1.1″ header=”This is the header” pass=”password”> This is an encrypted file referenced in ExampleMission.xml </encryptedFile>

守护进程

守护进程是在执行任务的节点上运行的”程序”
[/previewicon]
上图的图像显示了IntroExtension中单个计算机上列出的所有以下守护程序。下面,您可以看到所有可以使用的守护程序以及其选项。
通常最好的做法是每个节点只使用一个进程守护,尽管他支持很多种。

<deathRowDatabase />

死亡行数据库加载预设的记录集合。

<academicDatabase />

这来自People.All来源。关于人民系统的更多细节。

<ispSystem />

一个ISP系统,如ETAS(紧急跟踪反转序列)中使用的系统。

<MedicalDatabase />

这来自People.All来源。

<uploadServerDaemon name=”Upload Dropbox” folder=”Drop” needsAuth=”false” color=”204,116,212″/>

这是一种特殊的服务器,允许您在没有管理员权限的情况下将文件上传到该服务器。

<addWebServer name=”Website Server” url=”Web/ExampleWebsite/ExampleWebsite.html” />

Web服务器是这样添加的。您可以将自己的网页添加到网络预设文件夹,并将它们显示在游戏中!它呈现适当的HTML和所有内容(虽然它不接受输入)。指南中的网站模式详细信息。

<messageBoard name=”Custom Board Name!”> <thread>Docs/MessageBoardThreads/ExampleThread1.txt</thread> <thread>Docs/MessageBoardThreads/ExampleThread2.txt</thread> </messageBoard>

/el风格留言板。查看您在这里看到的路径上的介绍扩展文件,以查看这些线程的格式!您也可以使用这些功能,如果使用动作系统动态添加线程来添加操作。

<mailServer name=”Example Mail Server” color=”50,237,212″ generateJunk=”true”> <email recipient=”mailGuy” sender=”Sender Guy” subject=”Adding an email!”> This is how you add emails to the mail server – logging in with someone’s account will show these just like the way the player gets emails. </email> <email recipient=”mailGuy” sender=”Spam” subject=”amazing features”> You can have as many of these as you want </email> <email recipient=”Matt” sender=”Spam” subject=”re: amazing features”> Different users too </email> <email recipient=”Matt” sender=”Spam” subject=”re: re: amazing features”> The generateJunk flag will specify if this server will generate junk emails for non-player accounts on it. </email> </mailServer>
<HeartMonitor patient=”J_Stalvern”/>

患者是个人ID,他们的姓名+下划线+姓氏。
如果他们被射死,它将添加标志。
PatientID:DEAD
在这种情况下,PatientID是”J_Stalbern”。

特别注意:可能不要在你的MOD中使用这个来实际杀死任何人。 那一刻是Hacknet独一无二的。 因此,我不会在这里显示如何生成有效的起搏器文件。 这可以用于叙述性的原因。

<PointClicker />

这来自People.All来源。

<SongChangerDaemon />

<variableMissionListingServer name=”example listing server” iconPath=”Logo.png” articleFolderPath=”Docs/ListingServerArticles” color=”120,200,2″ assigner=”false” public=”true” title=”This is the rendered title of the server” />

列出新闻文章和任务,如Entropy或者SlashBot。

<missionHubServer groupName=”ExTech” serviceName=”Example Tech Contract Hub” missionFolderPath=”Missions/Misc” themeColor=”200,10,10″ lineColor=”255,80,80″ backgroundColor=”20,20,20″ allowAbandon=”false”/>

创建一个CSEC风格的任务面板。

<CreditsDaemon Title=”intro Extension Ending Credits” ButtonText=”Complete” ConditionalActionSetToRunOnButtonPressPath=”Actions/CreditsRunActions.xml”/>

信用服务器。这将加载以上述信用档案中定义的格式存储的信用额度!读这个!

eOs设备

<eosDevice name=”Deliliah’s ePhone 4S” id=”eosIntroPhone” icon=”ePhone2″ empty=”true” passOverride=”notAlpine”>
<note>TestNote
More text</note>
<note>Note filenames
Note filenames are generated automatically by taking the first line of the file
(in this case “Note Filenames”) and replacing spaces with underscores.</note>
<mail username=”[email protected] pass=”thisIstheaccountpass” />
<mail username=”[email protected] pass=”YouCanHaveLotsOfThese” />
<file path=”eos/test” name=”crackedFile.txt”>This is mostly useful for jailbroken phones</file>
</eosDevice>

添加此部分将穿件一个加载的第二台计算机,附加到这是一个eos设备,全部设置,并附上这些文件。它还会生成一些应用程序,并保存文件和东西,以获取兴趣。

一台电脑可以有多个Eos设备.

注意:上面的代码必须添加到<Computer>标签内部!它将描述为计算机的一部分,并在此文件加载时被分解自己的东西。

例如,具有eOS设备的非常简单的计算机可能如下所示:

<?xml version = “1.0” encoding = “UTF-8” ?>
<Computer id=”eosTestComp”
name=”eOS Host Computer”
security=”3″ >

<eosDevice name=”testePhone” id=”testePhone” icon=”ePhone2″ >
<note>TestNote</note>
<mail username=”[email protected] pass=”thisIstheaccountpass” />
</eosDevice>

</Computer>

迷宫式主机功能

<Memory>
<Commands>
<Command>cd /log</Command>
<Command>rm *.log</Command>
<Command>cd /log</Command>
<Command>rm *.log</Command>
</Commands>
<Data>
<Block>This appears in the “files” section</Block>
<Block>
more
and longer, multi line notes!
!
asdf
</Block>
</Data>
<Images>
<Image>DLC/Sprites/Misc/DraculaTank</Image>
</Images>
</Memory>
这是使用MemDumpGenerator.exe将其变成内存转储的内存。

<memoryDumpFile name=”testDump.md” path=”home”>
<Memory>
<Data>
<Block>test string one</Block>
<Block>test string two</Block>
</Data>
<Commands>
<Command>connect 123.123.123.123</Command>
</Commands>
<Data>
<Block>1234432</Block>
<Block>gfdgfdgdf</Block>
<Block>asdf</Block>
</Data>
</Memory>
</memoryDumpFile>
内存转储文件-可以使用MemForensics.exe进行下载和分析。

迷宫式守护进程

<DHSDaemon groupName=”NewFaction Hub” addsFactionPointOnMissionComplete=”true” autoClearMissionsOnPlayerComplete=”true” themeColor=”255, 255, 161″ allowContractAbbandon=”false”>
<agent name=”Tyson” pass=”rockemsockem” color=”209,74,48″/>
<agent name=”DependableSkeleton” pass=”d832n3msad” color=”112,198,255″/>
<agent name=”HA0″ pass=”kolgateryu” color=”58,202,146″/>
</DHSDaemon>
创建留言本(DLC IRC服务器)。可以用于通过派系系统注入任务和信息。

<CustomConnectDisplayDaemon />
将默认的链接显示更改为”River”在迷宫中的显示。

<LogoDaemon Name=”Logo Display Test” ShowsTitle=”true” TextColor=”0, 220, 220, 200″ LogoImagePath=”Logo.png”>
Lines
Here
Appear under
The Logo
</LogoDaemon>
在服务器前面显示一个大标志,下面显示可选的信息。如果您不提供图像路径,它将显示一个随机的加载。并且进行稍微更改。

<LogoCustomConnectDisplayDaemon logo=”Logo.png” title=”Logo.png” overdrawLogo=”true” buttonAlignment=”left” />
自定义链接显示屏上带有名牌和标题的图形,如PacificAir在迷宫中。
按钮对其可以是”left”,”middle”或者”right”

<IRCDaemon themeColor=”67,204,148″ name=”Misc IRC Channel” needsLogin=”false”>
<user name=”Vegas” color=”0,209,232″/>
<user name=”bprm” color=”202,98,0″/>
<user name=”Care_ey” color=”0,196,82″/>

<post user=”Vegas”>Post IRC Messages here!</post>
<post user=”bprm”>dont forget to set the users</post>
<post user=”Care_ey”>Yep, this can also be used in the faction scripts to add messages etc to.</post>
<post user=”Vegas”>That’s so cool!</post>
</IRCDaemon>
创建一个IRC守护进程(没有任务-只是聊天)。这可以动态添加到以后的动作。

☆☆☆白名单服务器☆☆☆
白名单服务器看起来有点棘手。这个同样的标签可能意味着这个服务器会检查一个远程白名单来验证用户,或者它本身就是白名单服务器。
这可能有点混乱,所以这里只是概述一下实例。

<WhitelistAuthenticatorDaemon SelfAuthenticating=”false” />
这是您的基本白名单服务器”主机”类型,它不会根据其列表检查到本身的传入链接。它只是对其他的服务器提供保护功能。

<WhitelistAuthenticatorDaemon Remote=”RemoteServerID”/>
一个远程到远程主机,并检查该主机的白名单。

<WhitelistAuthenticatorDaemon SelfAuthenticating=”true”/>
这个代码保护除了自己的所有连接。通常为”不可破坏”没有脚本。

迷宫程序

<file path=”bin” name=”TorrentStreamInjector.exe”>#TORRENT_EXE#</file>
<file path=”bin” name=”SSLTrojan.exe”>#SSL_EXE#</file>
<file path=”bin” name=”FTPSprint.exe”>#FTP_FAST_EXE#</file>
<file path=”bin” name=”SignalScramble.exe”>#SIGNAL_SCRAMBLER_EXE#</file>
<file path=”bin” name=”MemForensics.exe”>#MEM_FORENSICS_EXE#</file>
<file path=”bin” name=”MemDumpGenerator.exe”>#MEM_DUMP_GENERATOR#</file>
<file path=”bin” name=”PacificPortcrusher.exe”>#PACIFIC_EXE#</file>
<file path=”bin” name=”NetmapOrganizer.exe”>#NETMAP_ORGANIZER_EXE#</file>
<file path=”bin” name=”ComShell.exe”>#SHELL_CONTROLLER_EXE#</file>
<file path=”bin” name=”DNotes.exe”>#NOTES_DUMPER_EXE#</file>
<file path=”bin” name=”Tuneswap.exe”>#DLC_MUSIC_EXE#</file>

任务基础

与主机不同,Hacknet任务需要以正确的顺序定义项目。他们的解析器或许更加标准。
所以在制作新的任务时候要非常小心。不改变以前的内容是Hacknet”不重写”政策的一部分。
所以一些元素对于排序和区分大小是非常严格的。小心!并且多测试!

一个完成的任务文件和正确的顺序在这里可以找到完成内容。
(副本3-1)

<mission id=”testMission0″ activeCheck=”true” shouldIgnoreSenderVerification=”false”>

id:任务ID。这不是使用代码,但是有时在调试或者测试中有很大的用途。

activeChect:如果这个设置为true。当这个任务处于任务状态时候,Hacknet会时时刻刻检测你是否已经完成了任务。而不是回复邮件时候才会检测。

shouldIgnoreSenderVerification:这样可以防止检查回复邮件时候,回复的人。(官方意思不明确,下面按照自己意思翻译:
是否要取消回复邮件时候验证收件人,如果取消则为true,不取消则为false。)

任务目标

任务可以用一个或多个目标进行定义。在任务完成之前,加入任务的所有目标都必须完成。

<goal type=”filedeletion” target=”advExamplePC” file=”asdf.txt” path=”home”/>
任务删除节点目标上的文件,路径/文件。
这个代码要求在机器名为”missionTestNode”上删除home/asdf.txt文件。

<goal type=”clearfolder” target=”advExamplePC” path=”home”/>
任务要求删除节点目标上的所有文件,路径中的文件夹。

<goal type=”filedownload” target=”advExamplePC” file=”downloadFile.txt” path=”home”/>
任务要求下载文件。
这个条目要求玩家下载(SCP)机器上的home/asdf.txt。主机ID为为”missionTestNode”。

<goal type=”filechange” target=”advExamplePC” file=”changeFile.txt” path=”home” keyword=”extension” caseSensitive=”true”/>
将关键字指定的文本添加到文件的任务。这通常通过”replace”命令来实现。
对于修改关键字较多的文件。可以直接替换文件。
该条目要求玩家在ID为”taskTestNode”的主机上添加条目”extension”在home/asdf.txt文件中的顶部。

<goal type=”filechange” target=”advExamplePC” file=”changeFile.txt” path=”home” keyword=”data” removal=”true”/>
将关键字指定的文本添加到文件的任务。这通常通过”replace”命令来实现。
额外的属性”删除”任务,玩家从文件中删除文本快。
该条目要求玩家在ID为”taskTestNode”的主机上删除条目”extension”在home/asdf.txt文件中。

<goal type=”getadmin” target=”advExamplePC”/>
在目标系统上获取管理员的任务。
注意:如果玩家是该系统的管理员,任务会直接通过。
具有自动重置密码的”管理员”字段的服务器会让这个任务无法完成。

<goal type=”getstring” target=”password” />
要求通过回复电子邮件中的附加信息传入字段或信息。
这个任务要求玩家使用添加的字符串”password”进行回复。

<goal type=”delay” time=”10.0″/>
在接受任务之后[time]秒后,这个任务将不会被完成。这主要适用于任务设置为true的”activeCheck”标志类型的任务。
超过这个时限之后,任务将不会被完成。而在任务期间,系统将会自动检查。
这可以为任务添加人性化的计时器。

<goal type=”hasflag” target=”flagName”/>
只有当任务目标被设置时候,这才能接受。
如果结束函数可以使用添加函数addFlags:[flagname],[flagname2],[etc]来设置标志,那么如果设置了一个标志,你只可以有完成任务。

一些守护进程在时间发生时候添加标志。例如,起搏器服务器在患者死亡时候添加标志”PATIENT_NAME:DEAD”。

<goal type=”fileupload” target=”advExamplePC” file=”asdf.txt” path=”home” destTarget=”introFactionHomeNode” destPath=”Drop/Uploads”/>
将bitMission00上的bin/target_filename.txt上传到id为”destComp”的文件夹”bin”中的任务。
文件夹名称Dest/Uploads是使用上载服务器守护程序时文件上传到的文件夹,因此它通常是最有用的位置。

<goal type=”fileupload” target=”advExamplePC” file=”asdf2.dec” path=”home” destTarget=”introFactionHomeNode” destPath=”home” decrypt=”true” decryptPass=”password”/>
对于上传任务,添加标志decrypt=true要求玩家在上传文件之前对其解密。如果该文件受密码保护,则必须使用密码解密。
在目标中使用decryptPass=”passwold”。
用于上传加密文件,将加密名称放在这里(通常以.dec结尾)。解密后文件的文件名没有任何影响。
代码将检查正确的内容。

<goal type=”AddDegree” owner=”John Stalvern” degree=”Masters in Digital Security” uni=”Manchester University” gpa=”3.0″/>
任务,添加学位名称。Uni和GPA的详细任务。
这个任务需要一个学术服务器存储。
所有者由名称定义。并且将人添加到模拟中,在People文件夹中定义它们,并通过名称引用它们。
学术服务器必须具有以下属性:
1. ID必须是”academic”。
2. 它必须包含一个学术数据库守护进程。

<goal type=”wipedegrees” owner=”John Stalvern”/>
从指定所有者的学术服务器中删除人学位的任务。
请注意,对于这一个任务。请确保数据库的ID是”academic”。否则将找不到学术服务器。

<goal type=”sendemail” mailServer=”jmail” recipient=”mailuser123″ subject=”Email Subject!”/>
将电子邮件发送到具有定义主题的指定地址的任务。这需要一封电子邮件发送到[email protected],并且称为”Email Subject!”。
更具体的说,它要求改文件存在这个邮箱服务器的”jmail”的收件箱文件夹中。
这对于从医疗数据库中检测发送的医疗记录非常有用。
医疗记录的主题:”MedicalRecord – Lastname _Firstname”。

<goal type=”getadminpasswordstring” target=”advExamplePC”/>
需要玩家使用连接服务器的当前管理员密码进行回答。这对于更改密码的服务器以及允许重置管理员密码的数据库非常有用。

任务功能

任务功能可以从动作或者任务开始或者任务结束进行运行。
在任务中触发任务的功能如下。

<missionStart val=”7″>changeSong</missionStart>
一旦任务从中枢服务器接受,或者它在电子邮件中启动,这将立即激活。Val允许您将整数数据(没有小数点的整数)传递给函数。这是可选的,只适用于其中的几个(如changeSong和addRank,需要一个数字传递给它们)。

<missionEnd val=”1″>addRank</missionEnd>
与任务开始一样(这也是可选的),但是当任务完成时候触发功能。
请注意,如果任务被放弃或者以其他方式丢失,这将永远不会触发。

☆☆☆可用任务功能☆☆☆
setFaction:FACTION_ID
使用像setFaction:FACTION_ID,将玩家的当前派系设置为具有指定idName的派系。

addRank
这为玩家目前的派系增加了等级。

addRankSilent
与addRank不同的是,这不会发送电子邮件的更新。

addRankFaction:[FACTION NAME]
这会将val添加到指定的派系。
例:”addRankFaction:CSEC”。

addFlags:flagname1,flagname2,flagname3,etc
将定义(1个或多个)标志添加到当前对话。
标志可以解锁任务并执行其他任务。

removeFlags:flagname1,flagname2,flagname3,etc
删除列出的标志(如果存在)

changeSong
通过val定义更改歌曲。
case 1: Revolve
case 2: The_Quickening
case 3: TheAlgorithm
case 4: Ryan3
case 5: Bit(Ending)
case 6: Rico_Puestel-Roja_Drifts_By
case 7: out_run_the_wolves
case 8: Irritations
case 9: Broken_Boy
case 10: Ryan10
case 11: tetrameth

loadConditionalActions:DLC/ActionScritps/HermeticAlchemistsActions.xml
加载条件动作集。这些将在后面的指南中介绍。

setHubServer:[SERVER ID]
将具有给定ID的服务器设置为netmap上的新服务器。
这添加了小东西,像CSEC在基础游戏中一样。

setAssetServer:[SERVER ID]
将具有给定ID的服务器设置为netmap上的新资产服务器。
这添加了一些小星星在里面。

playCustomSong:[PATH_TO_SONG]
将音乐淡入指定的歌曲文件。
需要整个路径,如Music/Song.ogg。
歌曲必须是Ogg Vorbis(.ogg)格式。
自定义歌曲不会再XNA分支上播放。

playCustomSongImmediatley:[PATH_TO_SONG]
播放上述指定的歌曲,而不会淡入。很突然!

☆☆☆仅限迷宫式任务功能☆☆☆
changeSongDLC
Values:
case 1: Remi2
case 2: snidelyWhiplash
case 3: Slow_Motion
case 4: World_Chase
case 5: HOME_Resonance
case 6: Remi_Finale
case 7: RemiDrone
case 8: DreamHead
case 9: Userspacelike
case 10: CrashTrack

任务延续及分支

要定义在完成任务时会发生什么,还有nextMission标签:

<nextMission IsSilent=”false”>NONE</nextMission>
这定义了下一个任务文件的路径。此路径上的任务文件将会被加载,并在当前任务完成时发送电子邮件。
IsSilent的标志是……肯定在这里是个可怕的设置。它静音了任务,而不是下一个任务。
这意味着如果您将IsSilent设置为true,则任务在加载时候不会发送邮件和加载。

任务完成的重要细节:对于工作回复,玩家目前所在的任务具有与他们在收件箱中回复的电子邮件相同的电子邮件发件人名称。这意味着,如果你有一个沉迷的连接器的任务,确保它在电子邮件字段中填入相同的发送者。

如果您希望在此之后没有任务。(例如,将您引导到中心服务器的点右键任务,请将nextMission设置为”NONE”)。

☆☆☆分支机构(可选)☆☆☆
分支任务在本任务的加载阶段加载,一行一行的。
每一帧(如果是ActiveChect),或者每次电子邮件相应时候,任务系统将检查当前任务(这个文件)的目标,如果不通过,它将检查(按顺序)目标——这里定义的所有分支任务。
如果成功,分支任务的”nextMission”将被加载。

<branchMissions>
<branch>Missions/BranchExample/TestBranchMission.xml</branch>
<!– You can have more than one branch mission here –>
</branchMissions>

您可以让您自己来分配故事路径,变量测试,并为各种目标提供不同的答复。
使用起来会有一些奇怪,所以我建议您非常仔细的测试所有分支。
请注意,分支任务的电子及邮件将不会被发送——它们都以静默方式加载。

任务供求和电子邮件

任务供求

任务的”Posting”(发布)是读取并放在任务列表上的,如基于Hacknet的CSEC或Entropy。

<posting title=”Do the Extension Test Mission” reqs=”someCustomFlag” requiredRank=”3″ >
This is the body text of the posting that will appear when the mission is clicked on. It should contain a basic outline, with any warnings the player needs.
Once accepted, the email should contain full details.
</posting>

标题是列表中显示的任务标题行。
在这个任务可以从Hub服务器接受之前,reqs是一个逗号分隔的必须标志在列表中。
在满足要求和所需等级之前,任务将显示为锁定(如Junebug)。

RequiredRank是玩家在此任务解锁之前需要拥有的等级(玩家排名必须≥这个数字)。

邮箱

这是当该任务被接受或继续时候玩家将发送的电子邮件的数据。
<email>
<!– The sender field is very important for branching or silent mission chains. Even if this file you’re editing isn’t the email on the server the player will be responding to, it will still run it’s completion checks as long as the player is responding to any email from the same sender. This doesn’t affect basic and normal missions, so if you’re not doing anything too fancy, don’t worry about it.–>
<sender>Matt</sender>
<subject>Test Mission Email</subject>
<body>This is the body of the email.
Be careful with your formatting! The Hacknet parser does not account for auto-whitespace added to the left here.
Email contents are very important – small changes in wording can dramatically change how easy or hard a mission is.
Be very conscious about how much you are hinting at and guiding the player, and understand that it will be much harder
for everyone that’s not you.

Good luck,
-Matt
</body>
<!– The attachments are the clickable items at the bottom of the email with a small “+” You can have as many attachments as you want, of any kind, but I recommend keeping the number small whenever possible, so the player can be focused on a single goal, and not be too overwhelmed. Even if you have no attachments, make sure you include the opening and closing tag (with nothing inside).
They are required for the formatting.–>
<attachments>
<note title=”An example note”>Experiment with note formatting!
Remember that the note space is very small, so text overflow onto new lines happens quickly.

Guide the player! Hacknet missions are very frustrating when the player has too little direction and cant continue.
</note>
<!– A link takes in the idName of a computer and links to it on the netmap –>
<link comp=”missionTestNode” />

<!– this scans for the computer with ID “missionTestNode”, then searches it’s accounts for the provided username and password, and adds it to the list of known accounts for auto completion. It’s a good way of providing the password to a server. –>
<account comp=”missionTestNode” user=”TestUser” pass=”testpass” />

</attachments>
</email>

基础动作

Hacknet中的操作可以通过以下几种方式触发:
MissionStart或者MissionEnd功能。
Faction rank progressing。
ConditionalActionSet有条件满足的时候。

你会看到如何尽快利用这些功能的方法,但现在最好还是了解一下可以采取的动作。以下是您可以使用的基本动作。

<RunFunction FunctionName=”changeSong” FunctionValue=”6″ />
运行”任务功能”——有关这些的列表以及如何使用它们,请参考副本任务文件。

<LoadMission MissionName=”Missions/ExampleMission.xml” />
立即加载任务,取代目前的任务并发送电子邮件。

<AddAsset FileName=”MemForensics.exe” FileContents=”#MEM_FORENSICS_EXE#” TargetComp=”advExamplePC” TargetFolderpath=”bin” />
在指定的文件夹路径中,在主机为targetComp的计算机上创建列出内容的文件。
指定的文件夹再运行前必须存在。
此处的文件内东不支持换行符或超长内容,建议仅适用通配符创造项(如程序)
有关通配符的完整列表,请参考示例主机文件。

<CopyAsset DestFilePath=”linkNode1″ DestComp=”advExamplePC” SourceComp=”advExamplePC” SourceFileName=”Test_File.txt” SourceFilePath=”home” />
这会将文件从一台计算器复制到另一台计算机。
DestFilePath + DestComp是DESTINATION电脑——从哪里复制或粘贴。
SourceFileName,SourceFilePath和SourceComp是SOURCE主机——文件存在并被去除。如果该文件不存在的时候被复制,则此操作将不起作用。

这对于会话创建后将复杂文件添加到服务器非常有用。创建一个不可能找到的新的隐藏服务器,定义所需的所有文件,然后将它们复制到以后需要的位置。

<AddMissionToHubServer MissionFilepath=”Missions/TestExtensionMission1.xml” TargetComp=”advExamplePC” AssignmentTag=”HA0″/>
这为中心服务器添加了新的任务。这适用于任何HUBServer服务器(CSEC style),missionListingServers(Entropy style)和DHSDaemon服务器(Bibliotheque style)。

CSEC系统
<AddMissionToHubServer MissionFilepath=”Missions/TestExtensionMission1.xml” TargetComp=”advExamplePC” />
书目类型:作业标签是任务开始分配给服务器用户列表的人员。如果该标签存在,则玩家不能声明任务。
请注意,将任务添加到Entropy样式服务器中,您可以将AssignmentTag设置为”top”以添加到列表的顶部。否则将添加到底部。

<RemoveMissionFromHubServer MissionFilepath=”Missions/TestExtensionMission1.xml” TargetComp=”advExamplePC” />
这将从中心服务器(如果存在)中移除任务。使用与上述三项。

<AddThreadToMissionBoard ThreadFilepath=”Nodes/MessageBoardThreads/ExampleThread1.txt” TargetComp=”advExamplePC” />
将线程添加到/el留言板-线程文件应为UTF-8纯文本文件。

<AddIRCMessage Author=”HA0″ TargetComp=”advExamplePC” Delay=”3.0″>Hey @#PLAYERNAME# – check out the new asset that got added a few lines ago.</AddIRCMessage>

<AddIRCMessage Author=”DependableSkeleton” TargetComp=”advExamplePC” Delay=”8.0″>@channel this notifies everyone!</AddIRCMessage>

向DHSDaemon或IRCDaemon IRC添加消息。延迟是直到文本出现的秒数。

<CrashComputer TargetComp=”linkNode1″ CrashSource=”advExamplePC” DelayHost=”advExamplePC” Delay=”5.5″ />
崩溃主机名为TargetComp的主机。如果这是”playerComp”,它会立即让玩家自己的主机崩溃。
如果是另一台计算机,则将其从netmap中删除15秒左右,如果连接到玩家,请断开连接。
CrashSource是崩溃日记将指向的计算机的ID。

注意:玩家很可能会将整个日志文件夹删除,因此不要让这部分东西放在关键路径,几乎不可能找到。除了秘密。

DelayHost是可以承载可延迟操作的计算机的ID。有效的主机需要在这些守护进程之上。
IRCDaemon或者DLCHubServer。

<DeleteFile TargetComp=”advExamplePC” FilePath=”bin” FileName=”Binary_File” DelayHost=”advExamplePC” Delay=”5.5″/>
从目标计算机中删除文件。如果该文件不存在,则不执行任何操作。

<AddConditionalActions Filepath=”ExampleConditionalActionSet.xml” DelayHost=”advExamplePC” Delay=”5.5″/>
从文件加载一组新的条件操作。查看这里列出的文件,说明您可以做说明。

<SaveGame DelayHost=”advExamplePC” Delay=”20.5″/>
保存游戏!玩家肯定会频繁的拯救电脑问题。如果您没有电子邮件回复或任何其他保存触发器。这个功能将会非常长。请使用这个功能保持玩家的保存和更新。

高级动作

这些可以像基本操作一样使用,但是Steam指南的单一限制的限制范围太多,所以这里是一些更高级的。

<LaunchHackScript Filepath=”HackerScripts/ExampleHack.txt” DelayHost=”advExamplePC” Delay=”5.5″ SourceComp=”advExamplePC” TargetComp=”playerComp” RequireLogsOnSource=”false” RequireSourceIntact=”true”/>

在下面定义的Hacker脚本中加载从现在开始的5.5秒,来自源advExamplePC并以playerComp(玩家节点ID)为目标。
这些可以是任何你喜欢的目标,并且成为盟友的脚本。
RequireLogsOnSource意味着只有当源主机在玩家中删除、移动或者复制文件的时候,才会执行该操作。
您可以使用ID或IP作为源和目标——可以使用。
RequireSourceIntact意味着如果目标丢失,它是/sys中的网络文件,则hack不会发生。
这意味着一个瘫痪的电脑已经不能hack回来了。

<SwitchToTheme ThemePathOrName=”Themes/ExampleTheme.xml” FlickerInDuration=”3.0″ DelayHost=”advExamplePC” Delay=”15.5″ />
切换到列出的主题。您可以直接指定任何Hacknet核心主题。
TerminalOnlyBlack, HacknetBlue, HacknetTeal, HacknetYellow, HacknetWhite, HacknetPurple, HacknetMint, HackerGreen,或者您可以指定自定义主题文件的路径。

<StartScreenBleedEffect AlertTitle=”Title” CompleteAction=”Actions/HackerScriptActions.xml” TotalDurationSeconds=”12.5″ DelayHost=”advExamplePC” Delay=”3.5″>Line one
Line two
Line Three!</StartScreenBleedEffect>
开始”屏幕流血”效果!这是红线从屏幕顶部向下移动的地方。
该标签的标题和前三行内容显示在左下角的报警窗口中。只有当红色屏幕到底部并且玩家耗尽时间的时候,才会运行CompleteAction条件动作集。TotalDurationSeconds是从上到下屏幕渗出所需要的总时间。
我建议您同步其他各种其他效果,如果玩家完成某项任务,您可以取消该效果。

<CancelScreenBleedEffect DelayHost=”advExamplePC” Delay=”9.5″ />
取消以上标记开始的渗血效果。

<AppendToFile DelayHost=”advExamplePC” Delay=”12.5″ TargetComp=”advExamplePC” TargetFolderpath=”Whitelist” TargetFilename=”list.txt”>#PLAYER_IP#</AppendToFile>
将标签的内容追加到指定的文件上。添加了额外的数据,让世界感觉更加有活力。
添加到白名单等。

<KillExe DelayHost=”advExamplePC” Delay=”15.5″ ExeName=”ssh” />
取消所有包含所提及的字符串的exes,或者所有的。
这是不区分大小写的。所以一下将会取消”SSHCrackExe”进程。
但将其改为”s”将会以所有名称杀死所有exes。

这对于执行ESequencer.exe是有用的。或者让对手的黑客关闭所有对玩家的攻击。

<HideNode DelayHost=”advExamplePC” Delay=”15.5″ TargetComp=”advExamplePC” />
如果目标计算机节点可见,则从netmap隐藏目标计算机节点。

<GivePlayerUserAccount DelayHost=”advExamplePC” Delay=”15.5″ TargetComp=”advExamplePC” Username=”mailGuy” />
向玩家显示此用户账户,当玩家登陆时候,它的详细信息显示在自动完成选项中。

<ChangeIP DelayHost=”advExamplePC” Delay=”15.5″ TargetComp=”advExamplePC” NewIP=”111.111.123.124″ />
将ID为targetComp主机的计算机IP更改为新的IP地址。

<HideAllNodes DelayHost=”advExamplePC” Delay=”21.5″/>
从netmap中揭开所有可见节点。

<ShowNode DelayHost=”advExamplePC” Delay=”21.5″ Target=”advExamplePC” />
在netmap上显示一个节点。

盖面邮件图标

最后的操作可以让您更改邮件图标。

<ChangeAlertIcon Target=”advExamplePC” Type=”irc” DelayHost=”advExamplePC” Delay=”9.5″/>
更改警报图标(右上角)以指向新的服务器!
目标是它应该连接到的服务器的名称。
类型可以使4个选项之一。
mail、irc、irchub、board

邮箱是邮件服务器,就像Jmail那样。如果你使用这个,那么它指向的邮件服务器必须由一个MATER ACCOUNT FOR THE PLAYER。
如果没有,当玩家点开图标并尝试转到他们不存在的账户时,它将崩溃。

board是一个/el风格的留言板。每当添加包含任何其他上述IRC提及字符串的消息或线程时候,玩家将被通知。

☆☆☆仅限迷宫用户☆☆☆
Irchub是像Labyrinths这样使用的DLCHubServer。只有迷宫玩家采铀。
Irc是标准的IRC服务器。每当添加了@#PLAYERNAME#或@Channel的IRC日志时,玩家将收到通知。

重要提示:只有安装Hacknet Labyrinths DLC,才能将类型更改为邮件以外的其他内容。

条件动作集

条件动作集是一组条件,每个条件都包含要满足条件的运行的操作列表。
您可以通过Action:

<AddConditionalActions Filepath=”ExampleConditionalActionSet.xml” DelayHost=”advExamplePC” Delay=”5.5″/>

和任务功能:
loadConditionalActions:Path/To/Actions.xml

一个完整的条件动作集示例在这个文件里:
(副本4-1)

☆☆☆可用条件☆☆☆
<OnConnect target=”advExamplePC” needsMissionComplete=”true” requiredFlags=”decypher”>
<!– You can put any action that was described in the Actions section here –>
</OnConnect>
当玩家连接到目标字段中具有ID的PC时,将检查这个。NeedsMissionComplete和reqiuredFlags是可以应用的可选附加检查。

<HasFlags requiredFlags=”decypher,otherFlag”>
<!– Actions here –>
</HasFlags>
触发器一旦发现玩家在所有的标志以逗号分隔列表中的requiredFlags:

<OnAdminGained target=”advExamplePC”>
<!– Actions here –>
</OnAdminGained>
一旦玩家获得管理员访问目标机器的触发。

<Instantly>
<!– Actions here –>
</Instantly>
立即触发,一旦加载完毕!操作将按照它们在此文件中显示的顺序进行。

<Instantly needsMissionComplete=”true”>
<!–You can also have the needs mission complete flag on instantly actions–>
<AddIRCMessage Author=”DependableSkeleton” TargetComp=”advExamplePC” Delay=”0.3″>Second, if mission complete!</AddIRCMessage>
</Instantly>

<DoesNotHaveFlags Flags=”SomeFlag,MoreFlags”>
<!– Actions here –>
</DoesNotHaveFlags>
如果玩家没有列表中的标志,则触发。

<OnDisconnect target=”advExamplePC”>
<!–Actions here–>
</OnDisconnect>
当玩家断开任何东西或者连接到自己的电脑时候触发。
当玩家与任何东西断开链接时,您可以删除目标标签(或者设置为“NONE”)以用来触发这个条件。

派系

一个派别本质上只是一些事情。
名称,代表玩家在阵营中的位置的数字,以及一组可以出发更改游戏状态以响应动作的动作。

它们可以用于排序时间,启动Action集合并将玩家指向新事物。

一个完整的示例派系文件可以在这里找到:
(副本5-1)

☆☆☆定义一个派系☆☆☆
要加载一个派系,它必须添加到IntroExtension.xml中。
使用以下标签之一。
<Faction>Path/To/Faction.xml</Faction>

你的派系文件应该从这里开始。
<CustomFaction name=”Example Faction” id=”examplefaction” playerVal=”0″>
你可以使用上面playerVal字段更改起初玩家的值。

从那里可以包含多个由集合特定条件触发的Action集合。可用条件是:
<Action ValueRequired=”1″>
<!– Actions Here! –>
</Action>
需要条件行动的价值是最基本的。一旦玩家的值从改数字下降到等于或大于该值,则触发。

<Action Flags=”decypher”>
<!– Actions Here! –>
</Action>
一旦玩家获得”decipher”标志,此操作就会触发。

<Action ValueRequired=”5″ Flags=”decypher”>
<!– Actions Here! –>
</Action>
而且这一个只有在玩家拥有标志并且得分大于或等于所需值时才触发。

自定义主题


首先,查看上面截图中生成主题的示例主题文件:

你会注意到它又一堆标签的颜色名称,3或4个数字代表颜色本身,像这样:
<defaultHighlightColor>255,41,63</defaultHighlightColor>

这些数字使用预乘α方法定义一个颜色,所以:

R,G,B,A
A是不透明度和加和性。这些是字节,所以它们的范围是从0到255,不带小数位。这有点复杂,所以我会用一些例子来解释它。

纯黑色是0,0,0,255
纯白色是255,255,255,255

如果最右边的数字(alpha)为0,则提供的颜色值将添加到其下方的像素。这可以让您做出突出亮点,使其背后的东西变得光亮,并且看起来“透明”。

这是一个很酷的效果,Hacknet使用它很多,但记住要品味它——例如这样的北京使文本难以阅读。

有一些奇怪的颜色是什么,因为主题设置在开发过程中被超前的添加,有些东西从奇怪的地方拉出颜色。例如,探测器屏幕上的代理/防火墙栏从外壳和顶部栏颜色绘制颜色。

一、 布局
您可以使用标签更改主题中的窗口布局:
<themeLayoutName>mint</themeLayoutName>
有效的布局:
blue,green,white,mint,greencompact,riptide,colamaeleon和riptide2。

二、 测试功能
您可以使用命令”reloadtheme”,如果您用了调试指令,会即时重启加载您当前有效的主题,并查看您所做的任何更改。

三、 自定义背景
您可以在扩展程序中包含自己的图像,并引用它们作为自定义主题背景。请注意,如果您想通过Steam发布您的Mod,您将需要使用图像的权利!确保您获得了许可。

背景应该是1920*1080像素和透明的.png或.jpg格式。
如果没有指定后台,Hacknet将自动生成一个十六进制单元格。

四、 添加主题到您的扩展
您可以使用标签将您的主题添加到电脑游戏中。
<customthemefile path=”sys” name=”Custom_x-server.sys” themePath=”Path/To/Theme.xml”/>

或者您可以使用”动作”来自动切换玩家。
<SwitchToTheme ThemePathOrName=”Path/To/Theme.xml” FlickerInDuration=”3.0″ DelayHost=”advExamplePC” Delay=”15.5″ />

音乐

可以使用任务功能”playCustomSong:[SONG_PATH]”播放自定义歌曲。
您也可以使用playCustomSongImmediatley:[SONG_PATH]跳过歌曲之间的渐变并立即启动。

歌曲必须为Ogg Vorbis(.ogg)格式!

还要注意,现在,歌曲将无法再XNA分支上工作——因为.ogg格式处理代码在FNA中完成。因此XNA版本没有代码来支持这些文件。
我可以解决这个问题,但是由于有很少的人使用这个分支机构,所以现在是一个较低的优先级,抱歉!
一个策略是指定一个基本的游戏歌曲,首先播放,立即用你想要的自定义歌曲覆盖它——这样XNA播放器仍然会得到音乐编发。

您还可以使用”runFunction”标签从条件操作集中执行此操作。

玩家系统

几个守护进程使用人员系统来填充他们的数据集。

人员系统定义(并生成)一组表示跨多个服务器具有账户和记录的单个个人的数据。这有助于在游戏中创造一致性和身份感,并允许玩家追踪有关一个人在各种服务器上所有数据点。
要定义将被加载并添加到相关服务器的人员,请将个人描述符文件添加到/People/文件夹中。

你可以在这里看到一个示例人员文件:
(副本7-1)

您可以根据需要添加任意数量的人员文件。Hacknet将自动生成随机人员,以便列表在新会话加载时候自动生成最少100个人,以便其他服务器得到满足。

使用数据形式的人员系统的守护进程:
数据库
学术守护者
医疗守护进程
PointClicker
JMail垃圾账户

网站

网站,搬运无数黑客的噩梦。
这些只不过是从第一天开始的噩梦,而且由于显然所有的跨平台工作的网页呈现服务器都像一些东西一样无聊,许多玩家使用-disableweb启动参数来阻止网站呈现。
这意味着您需要确保您的任务是从这些阅读网站来源的人员中获得的。

出于安全考虑,Hacknet中的网站仅限于一个文件夹中,所以您在网站中引用的所有内容需要与扩展文件夹中的Web/Cache相关。
在查看文件之前,首先访问网站本身,连接到下面。

您的网站本身(HTML文件)可以在您的扩展文件夹中存储,但您所用的所有图像和.css文件必须位于/Web/Cache文件夹(或其中的子文件夹)中。

概要:
随时随地创建您的网站HTML文件。
将要使用的所有图像和CSS文件添加到文件夹Web/Cache或其中的子文件夹中。
仅在网站内使用相对路径引用这些内容。
将URL服务器守护程序添加到您的节点,URL指向您的html文件。

更换Jmail和玩家主机

一、 Jmail
可以通过将任何主机的id设置为”jmail”来替换Jmail。如果您没有将邮件图标更改为其他内容,则默认情况下将指向此服务器。请注意,如果要使用新的服务器作为默认的邮件图标目的地,它必须包含一个MailServer守护程序和玩家的邮箱账户,如下所示。

<account username=”#PLAYERNAME#” password=”reptile” type=”mail” />

<mailServer name=”Example Mail Server” color=”50,237,212″>

</mailServer>

请注意,您仍然可以在这里正常添加额外的账户等。

二、 玩家电脑
通过将任何计算机的名称设置为”playerComp”可以覆盖玩家计算机。请注意,这是最终玩家计算机的ID,用于通过ID引用其他位置。
这个没有什么特别的要求。请注意,如果您执行此操作,计算机可能不会位于netmap的正常位置。

黑客脚本

以下是其中列出的所有选项的示例黑科脚本

config [TARGET_COMP] [SOURCE_COMP] 0.2 $#%#$
config [目标计算机] [来源计算机] 每行与每行的延迟时间(0.2s) $#%#$(不要动)

connect $#%#$
从源头连接到目标计算机

delay 2 $#%#$
延迟时间 2=2tick

openPort 21 $#%#$
打开目标端口

stopMusic $#%#$
如果玩家是目标,则停止音乐

startMusic $#%#$
如果玩家是目标,则播放音乐

clearTerminal $#%#$
清除玩家的终端,如果他们是目标

write WHO $#%#$
write DO $#%#$
write YOU $#%#$
write THINK $#%#$
write YOU $#%#$
write ARE $#%#$
write ? $#%#$
你可以写到终端到同一行,像上面那样,或像这样的一条全线!

write_silent Shhhh $#%#$
让你写东西不会产生声音和闪烁

writel $#%#$
向终端推出空行符。

hideNetMap $#%#$
hideRam $#%#$
hideDisplay $#%#$
如果玩家连接到这些命令,这些命令会隐藏东西。一定要谨慎,因为玩家无法让它回来。

showNetMap $#%#$
showRam $#%#$
showDisplay $#%#$
showTerminal $#%#$
显示东西

trackseq $#%#$
这标志着它,如果玩家在CSEC中,将会收到一个forkbomb,玩家不得不ETAS。

instanttrace $#%#$
这是一个残酷的命令,可以为玩家立即启动ETAS

forkbomb $#%#$
在目标上发射DDOS,如果不是玩家,计算机立即崩溃。

flash $#%#$
如果以玩家为目标,则以戏剧性的方式闪烁用户界面一下

delete /sys x-server.sys $#%#$
删除文件。您可以删除文件夹或文件,或者该文件夹中的所以文件。”*”

setAdminPass newpass $#%#$
将此计算机的管理员密码设置为newpass或者您想要的。

makeFile home Filename.txt Everything past the first space there goes into the file! $#%#$
在第一个参数中命名的文件夹中创建一个新文件,名称为Filename.txt,并且加上内容。

makeFile bin SSHCrack.exe #SSH_CRACK# $#%#$
你可以添加这样的程序。请参阅ExampleComputer.xml中的通配符的完整列表。

openCDTray $#%#$
打开CD托盘。

delay 5 $#%#$
延迟5秒。

closeCDTray $#%#$
关闭CD托盘。

disconnect $#%#$
断开连接。

开发调试命令

要在开发过程中自动启动您的Mod,请用参数启动Hacknet
-extstart[YOUR_MOD_FOLDERNAME]

要在第二个监视器上启动Hacknet,如果有的话,请使用参数
-altmonitor

你可能还想用力完成开发
-enablefc

调试命令
-enabledebug

启动Debug命令后:
FH——立即打入任何电脑
dscan[ID]——通过ID名称显示一台电脑
RA——一次性打开netmap上的所有内容
reloadext——从源文件重新加载当前扩展中的所有节点,并在当前保存中更新它们。
printflags——输出玩家对终端的所有标志
runhackscript Script/Path/Name.txt——用您自己的黑科脚本的文件路径替换路径,以测试它——这也会向终端打印错误。

出版到创意工坊

副本集合

SteamSolo.com