Daemons

**Daemons** are a optional elements of Nodes\_(Extensions).

## Description

Daemons are the "programs" running on nodes that do things.

Above shows all of the below daemons listed on a single computer in the IntroExtension. Below, you can see all the available daemons with their options. It's generally best practice to only use a single daemon per node, but it does support as many as you like.

```
<deathRowDatabase />

```

Death row database loads a pre-set collection of records.

```
<academicDatabase />
```

This draws from the People.All source. More details on the People system later!

```
<ispSystem />
```

An ISP system, like the one used in the ETAS (Emergency Trace Aversion Sequence).

```
<MedicalDatabase />
```

This draws from the People.All source.

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

This is a special sort of server that allows you to upload files to it without admin permissions.

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

Web servers are added like this - you can add your own web pages to the web presets folder and have them show up in-game too! it renders proper html and everything (though it doesn't accept input yet). Mode details on websites later in the guide.

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

/el style message board. Check out the intro extension files at the path you see here to see the format of those threads! You can do fancy stuff with this too, like add threads dynamically in response to player actions using the Action system.

```
<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>
```

This is a mailserver.

```
<HeartMonitor patient="J_Stalvern"/>
```

Patient is the person ID - their firstname initial underscore, then their last name.
If they are killed, it will add the flag
PatientID:DEAD
Where PatientID is, in the case here, "J\_Stalvern"

SPECIAL NOTE: probably don't use this in your mods to actually kill anyone. That moment was special for Hacknet alone. For that reason, I wont show how to generate valid pacemaker files in here. This can be used for narrative reasons though.

```
<PointClicker />
```

This draws from the People.All source.

```
<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" />

```

Lists news articles and missions like on Entropy or 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"/>

```

Creates a CSEC-Style mission board

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

```

Credits server. This will load the credits stored in the format defined in the credits file above! Read that!

```
<FastActionHost />

```

An optimized Action host daemon - this daemon does nothing except host delayable actions - but it is much more efficient at doing that than other servers.
If you have lots of actions looping or in delay at once (more than 50, say) it might be worth moving them to be delay hosted on one of these if you encounter performance issues.
If you're going to use this, make sure this tag is the first one under the <Computer> tag!

==External links==
\* Example mission file