/
Missions.code-snippets
159 lines (159 loc) · 7.6 KB
/
Missions.code-snippets
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
{
"MissionTemplate":{
"prefix": "<HacknetMission>",
"scope": "xml",
"body":
[
"<?xml version = \"1.0\" encoding = \"UTF-8\" ?>",
"<mission id=\"${1:startingMission}\" activeCheck=\"${2:false}\" shouldIgnoreSenderVerification=\"${3:false}\">",
"\t<goals>",
"\t\t<goal type=\"${4:filedeletion}\" target=\"${5:clearNode}\" file=\"${6:deleteme.txt}\" path=\"${7:home}\"/>",
"\t</goals>",
"",
"\t<missionStart val=\"${8:3}\">${9:changeSong}</missionStart>",
"\t<missionEnd>${10:loadConditionalActions:${11:Actions/MissionEnd.xml}}</missionEnd>",
"",
"\t<nextMission IsSilent=\"${12:false}\">${13:NONE}</nextMission>",
"\t<branchMissions>",
"${14:\t\t<branch>${15:Missions/BranchMission.xml}</branch>}",
"\t</branchMissions>",
"",
"\t<posting title=\"${16:New Mission!}\">$17</posting>",
"",
"\t<email>",
"\t\t<sender>${18:Bit}</sender>",
"\t\t<subject>${19:Hello}</subject>",
"\t\t<body>${20:Hi, my name is Bit. And if you're reading this, then I'm already dead.}</body>",
"\t\t<attachments>",
"\t\t\t<note title=\"${21:Important Note}\">${22:SSHCrack opens port 22. Also, these can be multiple lines.}</note>",
"\t\t\t<link comp=\"${23:linkedNodeID}\"/>",
"\t\t\t<account comp=\"${24:linkedNodeID2}\" user=\"${25:username}\" pass=\"${0:password}\"/>",
"\t\t</attachments>",
"\t</email>",
"</mission>"
],
"description": "Full template for a basic mission layout using the FileDeletion goal. Refer to the official guide for more mission goals."
},
"SequencerMission":{
"prefix": "<SequencerMission>",
"scope": "xml",
"body":
[
"<?xml version = \"1.0\" encoding = \"UTF-8\" ?>",
"<mission id=\"${1:sequencerMission}\" activeCheck=\"true\">",
"\t<goals>",
"\t\t<goal type=\"clearfolder\" target=\"${2:finaleNode}\" path=\"${3:home}\"/>",
"\t\t<goal type=\"clearfolder\" target=\"${2:finaleNode}\" path=\"${4:sys}\"/>",
"\t</goals>",
"",
"\t<missionEnd>addFlags:${5:seqComplete}</missionEnd>",
"",
"\t<nextMission IsSilent=\"false\">${6:NONE}</nextMission>",
"",
"\t<posting title=\"${7:Sequencer Mission}\">$8</posting>",
"",
"\t<email>",
"\t\t<sender>${9:Leon}</sender>",
"\t\t<subject>${10:Final Phase}</subject>",
"\t\t<body>${11:This is usually the end of the extension. Make it count.}</body>",
"\t\t<attachments>",
"\t\t\t<note title=\"${12:Goal}\">${13:Clear the home and sys folders. Grab the sequencer from the asset server.}</note>",
"\t\t\t<link comp=\"${14:assetServer}\"/>",
"\t\t\t<account comp=\"${14:assetServer}\" user=\"${15:admin}\" pass=\"${0:alpine}\"/>",
"\t\t</attachments>",
"\t</email>",
"</mission>"
],
"description": "Full template for a basic mission layout using the FileDeletion goal. Refer to the official guide for more mission goals."
},
"MissionGoalFileDeletion":{
"prefix": "<FileDeletionGoal>",
"scope": "xml",
"body": "<goal type=\"filedeletion\" target=\"${1:nodeID}\" file=\"${2:deleteme.txt}\" path=\"${0:home}\"/>",
"description": "Task to delete the file on node target, at path/file"
},
"ClearFolder":{
"prefix": "<ClearFolderGoal>",
"scope": "xml",
"body": "<goal type=\"clearfolder\" target=\"${1:nodeID}\" path=\"${0:sys}\"/>",
"description": "Task to delete ALL files on node target, in the folder at path"
},
"FileDownload":{
"prefix": "<FileDownloadGoal>",
"scope": "xml",
"body": "<goal type=\"filedownload\" target=\"${1:nodeID}\" file=\"${2:downloadme.txt}\" path=\"${0:home}\"/>",
"description": "Task to download the file at the path"
},
"FileChange":{
"prefix": "<FileChangeGoal>",
"scope": "xml",
"body": "<goal type=\"filechange\" target=\"${1:nodeID}\" file=\"${2:changeme.txt}\" path=\"${3:home}\" keyword=\"${4:hacknet}\" caseSensetive=\"${0:false}\"/>",
"description": "Task to add the text specified by keyword to the specified file. This is usually achieved by the \"replace\" command. It's possible to make the keyword a larger block and task the player to replace one file with another."
},
"FileChangeRemove":{
"prefix": "<FileChangeRemovalGoal>",
"scope": "xml",
"body": "<goal type=\"filechange\" target=\"${1:nodeID}\" file=\"${2:changeme.txt}\" path=\"${3:home}\" keyword=\"${0:kaguya}\" removal=\"true\"/>",
"description": "Task to remove the text specified by keyword to the specified file. This is usually achieved by the \"replace\" command. The extra attribute \"removal\" tasks the player with removing a block of text from a file. Combining this with another filechange task can require a \"replacement\" of text (removing some, adding a different block)."
},
"GetAdmin":{
"prefix": "<GetAdminGoal>",
"scope": "xml",
"body": "<goal type=\"getadmin\" target=\"${0:nodeID}\"/>",
"description": "Task to get admin on the target system."
},
"DelayGoal":{
"prefix": "<DelayGoal>",
"scope": "xml",
"body": "<goal type=\"delay\" time=\"$0\"/>",
"description": "This task will not complete until \"time\" seconds after the first attempt to complete it has been made."
},
"HasFlag":{
"prefix": "<HasFlagGoal>",
"scope": "xml",
"body": "<goal type=\"hasflag\" target=\"$0\"/>",
"description": "This will only accept if the target flag has been set."
},
"UploadFile":{
"prefix": "<UploadFileGoal>",
"scope": "xml",
"body": "<goal type=\"fileupload\" target=\"${1:nodeID}\" file=\"${2:uploadme.txt}\" path=\"${3:home}\" destTarget=\"${4:dropNodeID}\" destPath=\"${0:Drop}\"/>",
"description": "Task to require a string passed in via the \"Additional Info\" field in the reply email screen."
},
"UploadFileDecrypted":{
"prefix": "<UploadFileDecryptedGoal>",
"scope": "xml",
"body": "<goal type=\"uploadfile\" target=\"${1:nodeID}\" file=\"${2:uploadme}.dec\" path=\"${3:home}\" destTarget=\"${4:dropNodeID}\" destPath=\"${5:Drop}\" decrypt=\"true\" decryptPass=\"${0:password}\"/>",
"description": "For uploading encrypted files - put the encrypted name here (ending with .dec usually). It doesn't matter what the filename of the decrypted one becomes."
},
"GetString":{
"prefix": "<GetStringGoal>",
"scope": "xml",
"body": "<goal type=\"getstring\" target=\"$0\"/>",
"description": "Task to require a string passed in via the \"Additional Info\" field in the reply email screen."
},
"AddDegree":{
"prefix": "<AddDegreeGoal>",
"scope": "xml",
"body": "<goal type=\"AddDegree\" owner=\"${1:John Doe}\" degree=\"${2:Masters of Computer Science}\" uni=\"${3:Manchester University}\" gpa=\"${0:3.4}\"/>",
"description": "Task to add the degree matching the degree name and uni and GPA details for the listed owner. This task *requires* an academic server to exist."
},
"WipeDegrees":{
"prefix": "<WipeDegreesGoal>",
"scope": "xml",
"body": "<goal type=\"wipedegrees\" owner=\"${0:Jane Doe}\"/>",
"description": "Task to remove all degrees from the academic server for a specified owner. Note that for this one, you *MUST* have the ID of your database be \"academic\" or it wont find it."
},
"SendEmail":{
"prefix": "<SendEmailGoal>",
"scope": "xml",
"body": "<goal type=\"sendemail\" mailServer=\"${1:jmail}\" recipient=\"${2:mailGuy}\" subject=\"${0:Important!}\"/>",
"description": "NOTE: THIS IS KNOWN TO BE A BUGGY GOAL - Task to have an email sent to a specified address with a defined subject."
},
"GetAdminPassword":{
"prefix": "<GetAdminPasswordGoal>",
"scope": "xml",
"body": "<goal type=\"getadminpasswordstring\" target=\"${0:nodeID}\"/>",
"description": "Requires the player to respond with the current admin password for the linked server. This is useful for servers that change passwords - like ones with password resetting admins, and databases that allow for admin password reset."
}
}