Ein wichtiges Element in Onbroga ist das Hacken. Damit dies nicht zu zeitraubender Schwerstarbeit wird, schickt der Hacker ein Programm, welches alles für ihn erledigt. Diese Programme werden
.
von Daten im Netzwerk eingesetzt werden. Zu diesem Zweck sind die Programme nochmals in genauere Spezialisierungen eingeteilt.
So sind die Scanner-Typen besonders gut zum Erkennen von anderen, möglicherweise feindlichen, Programmen. In Verbindung mit den Verteidigungs-Typen, bilden sie eine kaum überwindbare Firewall.
Der Gegenpart hierzu sind die Tarn- und Angriffs-Typen. Sie besitzen besonders gute
nicht so schnell entdeckt werden.
Für den Datentransfer sind die Transporttypen vorgesehen. Sie können sehr viele Daten transferieren, was sie auch als Angriffsunterstützung gut aussehen lässt.
Schließlich ist da noch der Allround-Typ. Dieser vereint von allen Typen einen Teil in sich, was ihn multifunktional einsetzbar macht.
Jedes Programm besitzt definierte Eigenschaften. Es wird unterschieden zwischen allgemeinen Informationen und dem aktuellen Status des Programms.
Der Programmname wird von dem Entwickler vor dem
Entwicklungsstart eines neuen Programms festgelegt und muss in Onbroga einzigartig sein.
Der Typ eines Programms bestimmt seine Grundwerte. Ein Programm kann je nach Typ also zum Beispiel besonders gut Daten transportieren oder angreifen.
Um neue Programmtypen selbst entwickeln zu können, müssen Fortschritte auf dem Forschungsgebiet der
Programmentwicklung erzielt werden.
In der Entwicklung wird beschrieben, wann und von wem das angezeigte Programm
erstellt wurde.
Jedes Programm verbraucht Speicherplatz. Die Größe bestimmt wie viel Speicherplatz benötigt wird, um dieses Programm in einem Gateway zu speichern.
Der Systemzustand beschreibt den Zustand des ungeschützten Programmkerns. Sobald die
Schutzhülle durchbrochen ist, nimmt das Programm vitalen Schaden. Dieser Schaden kann auf die eingesetzte
Steuerungs-KI durchschlagen. Durch die kognitive Bindung der
Steuerungs-KI an das Programm, brechen bei einem Programm automatisch die Systeme zusammen, sobald die
Steuerungs-KI zerstört wurde. Sobald der Systemzustand auf 0 sinkt, ist das Programm zerstört und nicht mehr reparabel. Es bleibt als Datenmüll auf der Festplatte zurück, welcher entfernt werden kann.
Die Schutzhülle umgibt ein Programm vollständig und macht es resistent gegen Angriffe von feindlich gesinnten Programmen. Die Schutzhülle muss vollständig zerstört werden, bevor das Programm
Systemschaden nimmt.
Folgende Missionstypen entladen das Kampfinterface:
- Nach einem durchgeführten Angriff im Netzwerk ist das Kampfinterface eines Programms vollständig entladen. Unabhängig vom Kampfausgang muss das Interface daher 0T 02:00:00 laden, bevor eine weitere Kampfaktion möglich ist.
- Befindet sich ein Programm dauerhaft auf einer Verteidigungsmission im Netzwerk, bleibt sein Kampfinterface solange im Speicher des Programms erhalten, bis die Mission beendet wird. In diesem Fall benötigt ein Programm 0T 00:30:00 bevor es eine neue Kampfaktion starten kann.
- Nach einem Verbindungsvorgang ins Netzwerk muss das Kampfintercace 0T 00:30:00 laden. Zum Aufbauen der Verbindung selbst ist kein geladenes Kampfinterface erforderlich.
Der Gesamtzustand eines Programms gibt einen Überblick über den aktuellen Zustand eines Programms. Der Gesamtzustand entspricht der Summe aus
Systemzustand und
Schutzhüllenzustand.Die Tarnung bestimmt wie gut ein Programm seine Signatur auf unauffällige Weise im restlichen Datenverkehr verstecken kann. Je höher dieser Wert, desto schwieriger wird es, das Programm zu entdecken. Bei einem
Angriff kann zum Beispiel das Überraschungsmoment maßgeblich von dieser Eigenschaft abhängen. Die Tarnung spielt aber nicht nur bei Angriffen eine wichtige Rolle. Sie ist bei allen Missionstypen außer
Festsetzen und
Verteidigen aktiv und schützt somit davor von anderen Programmen erkannt zu werden. Ist der Tarnwert eines Programms größer als die
Detektorstärke eines anderen Programms, so kann das getarnte Programm nicht erfasst werden und ist unsichtbar.
Die Funktionsweise der Tarnung für einen Angriff auf ein Gateway wird detailliert in dem Artikel zur
Gateway-Firewall beschrieben.
Die Detektorstärke ist das Gegenstück zur
Tarnung. Je besser dieser Wert, desto leichter fällt es einem Programm, getarnte Programme zu identifizieren. Beispielsweise kann im Falle eines
Angriffs der Aggressor frühzeitig entlarvt und Gegenmaßnahmen ergriffen werden.
Die Funktionsweise der Detektorstärke für einen Angriff auf ein Gateway wird detailliert in dem Artikel zur
Gateway-Firewall beschrieben.
Die Angriffseigenschaft bestimmt wie gut sich ein Programm
als Aggressor gegen seine Gegner durchsetzen kann.
- Der Wert definiert sowohl die Offensiv- als auch die Defensiveigenschaften des Programms.
- Dieser Wert wird während eines Gefechts durch die Taktik einer Steuerungs-KI beeinflusst.
- Bei einem Angriffswert von 0 kann ein Programm an keinem Angriff teilnehmen.
Der Verteidigungswert bestimmt wie gut sich ein Programm
gegen einen Aggressor zur Wehr setzen kann.
- Der Wert definiert sowohl die Offensiv- als auch die Defensiveigenschaften des Programms.
- Dieser Wert wird während eines Gefechts durch die Taktik einer Steuerungs-KI beeinflusst.
- Bei einem Verteidigungswert von 0 kann ein Programm an keiner Verteidigung teilnehmen.
Nach einem erfolgreichen Angriff muss der Schaden ermittelt werden, welcher dem gegnerischen Programm abgezogen wird. Die Zerstörungskraft bestimmt diesen Wert.
Jedes Programm kann eine bestimmte Menge an Daten transportieren. Beispielsweise kann nach einem erfolgreichen
Angriff das Programm die erbeuteten Daten zurück zu dem Auftraggeber transportieren. Zu beachten ist, dass die Transportkapazität im
Netzwerk durch die Anzahl der Datenpakete eingeschränkt wird.
Zur Durchführung eines
Serversupports muss die Steuerungs-KI des Programms eine permanente Verbindung zum jeweiligen Produktionsserver herstellen. Das Programm dient in diesem Fall als Schnittstelle zwischen Steuerungs-KI und dem Server. Das Serversupportlimit begrenzt die maximale Stufe der Support-Fähigkeiten einer Steuerungs-KI, die von dem Programm an einen Produktionsserver weitergereicht werden kann.
Ist die benutzte
Support-Fähigkeit einer Steuerungs-KI größer als das Serversupportlimit des Programms, so wird die Fähigkeit der Steuerungs-KI auf das Limit des Programms beschränkt.
In einem
Kampf ist es entscheidend sich zurückzuziehen, sobald dieser nicht mehr zu gewinnen ist. Um unnötige Verluste zu vermeiden sind die Eigenschaften
schneller Rückzug des Programms und die
Aggressivität der Steuerungs-KI ausschlaggebend. Sobald sich die
Steuerungs-KI aus dem Kampf zurückziehen möchte ist ein sofortiges Beenden nicht immer umgehend möglich. Die Wahrscheinlichkeit einen sofortigen Rückzug zu starten, wird direkt durch die Eigenschaft
schneller Rückzug bestimmt. Schlägt der Rückzugsversuch fehl, kann das Beenden um maximal eine Runde verzögert werden. Der zweite Versuch das Programm zu beenden ist also immer erfolgreich.
Es ist nicht möglich die Wahrscheinlichkeit des Rückzugs aus der ersten Kampfrunde zu beeinflussen, da in dieser Runde die
Programme durch ihre eigene Initialisierung nicht in der Lage sind einen Rückzug durchzuführen.
Die uneingeschränkte Beeinflussung des Routinglevels eines Netzwerkgebiets oder die Durchführung einer
Festsetzung ist nur technologisch sehr gut ausgestatteten
Programmen möglich.
Es gibt verschiedene Ausprägungen der Gebietskontrolle:
- Keine Gebietskontrolle
- Basis Gebietskontrolle
- Erweiterte Gebietskontrolle
Grundsätzlich ist jedes Programm in der Lage das Routinglevel auf Level 3 zu steigern oder ab diesem Level zu senken, wenn es mindestens die
Basis-Gebietskontrolle unterstützt. Sowohl das Durchführen einer
Festsetzung als auch die
Verbesserung oder
Störung höherer Routinglevel ist hingegen Programmen vorbehalten, die über eine
erweiterte Gebietskontrolle verfügen.
Programme die über keine Gebietskontrolle verfügen sind nicht in der Lage das Routinglevel zu
verbessern oder zu
stören. Die
Übernahme eines Gebiets ist ohne eine Gebietskontrolle ebenfalls nicht möglich. Die
Freigabe eines Gebiets ist hingegen auch ohne eine Gebietskontrolle möglich.
Die Komplexität eines Programms wird durch das sogenannte Techlevel beschrieben. Umso größer das Techlevel ist, desto komplizierter ist das Programm gestrickt. Anzumerken ist, dass ein kompliziertes Programm nicht unbedingt effizient arbeiten muss. Damit ein Programm arbeiten kann, benötigt es eine
Steuerungs-KI. Damit die Steuerungs-KI die Kontrolle über das Programm übernehmen kann, muss sie in der Lage sein, sich an die Programmlogik anzupassen. Nur wenn die Steuerungs-KI mindestens dasselbe
Techlevel besitzt wie das Programm, kann dieser Vorgang gelingen.
Jedes Programm kann mit einer bestimmten Anzahl von sogenannten
Modulen erweitert werden. Jedes Programm besitzt, abhängig von seinem Typ, eine unterschiedliche Anzahl von Modulplätzen. Ist das
Techlevel eines Moduls größer als das Techlevel des Programms, so erhöht sich das Techlevel des Programms auf das Techlevel des Moduls. Somit ist sichergestellt, dass eine eingesetzte Steuerungs-KI
in der Lage ist das verbesserte Programm zu kontrollieren und keine technischen Probleme auftreten. Damit eine Steuerungs-KI ein Programm erfolgreich kontrollieren kann, ist jedoch auch die Anzahl der Module ein wichtiger Faktor. Nur wenn die Steuerungs-KI mindestens die gleiche Anzahl an
Modulschnittstellen besitzt, wie in das Programm integrierte Module, kann die Steuerungs-KI das Programm steuern.
Ein Programm besitzt eine Vielzahl an unterschiedlichen Routinen und Fähigkeiten. Die Fähigkeit andere Programme zu
bekämpfen gehört zu den Komplexesten und Umfangreichsten in der Programmstruktur. Daher muss ein Programm
vor einer möglichen Kampfaktion in Bezug auf ein Gateway oder
nach seinem Start in das
Netzwerk erst sein Kampfinterface laden, um
Angriffs- oder
Verteidigungsmissionen starten zu können. Zu diesen Missionstypen gehören auch
Festsetzen und
Besetzen, welche als Sonderform der Verteidigung und des Angriffs gelten. Das Laden des Kampfinterfaces wirkt sich nicht auf andere mögliche Aktionen eines Programms, wie zum Beispiel den
Gatewaytransfer im Netzwerk oder einen
Programmtransfer, aus.