-
Notifications
You must be signed in to change notification settings - Fork 3
Deutsch Architektur und Tests
In Bitburner bestimmt jede verwendete Netscript-API den RAM-Preis einer Datei. Würde ein einziges Script alle APIs importieren, könnte es auf kleinen Home-Servern nie starten. autoDoIt trennt daher Planung, Aufgaben und Worker.
autoDoIt.js kleiner Scheduler
core/ Konfiguration, Fähigkeiten, Status, Übersetzung
lib/ reine Auswahl-, Budget- und Hilfslogik
tasks/ kurze normale Managementaufgaben
special/ BitNode-/Source-File-abhängige Systeme
workers/ minimale dauerhafte Ausführungsdateien
ui/ Control Center und Overview-Erweiterung
tools/ Selbsttest und Auto-Updater
git-pull.js vollständiger Downloader/Updater
git-pull-lite.js RAM-sparender Downloader
runtime-manifest.txt verbindliche Liste aller Laufzeitdateien
version.txt Vergleichsmarker für Updates
tests/ externe Node-Tests
autoDoIt.js importiert keine teuren System-APIs. Jeder Takt:
- aktuellen Home-RAM und dynamisches Ziel bestimmen
- Betriebsphase auswählen
- unpassende BitNode-/API-Aufgaben ausfiltern
- tatsächlichen RAM-Preis der verbleibenden Datei prüfen
- fällige Aufgaben nach Phasenpriorität sortieren
- nur die erlaubte Anzahl starten
Exklusive Aufgaben wie Casino oder bestimmte SF‑1-Abläufe blockieren kurzzeitig andere Managementstarts. Laufende Hacking-Worker auf anderen Servern bleiben davon unberührt.
Normale Aufgaben führen einen Durchlauf aus und beenden sich. Dadurch liegt ihr API-RAM nur während echter Arbeit im Speicher. Dauerhafte Worker sind extrem klein und erhalten Ziel/Modus als Argument.
Große Verwaltungsbereiche laufen als kleine Koordinatoren mit exklusiven Phasen-Workern. Beispielsweise teilen Fraktionen Planung und Arbeit, Bladeburner Grundzustand, Skills und Aktion und Aktien Zugang und Handel. Der Scheduler startet pro Gruppe höchstens eine Phase; das dynamische RAM-Ziel rechnet deshalb ebenfalls nur mit dem größten Worker der Gruppe.
Sondersysteme wie IPvGO oder Darknet dürfen länger laufen, aber nur in einem passenden BitNode beziehungsweise bei vorhandener Source-File-Fähigkeit.
Module schreiben strukturierte Ereignisse in Datendateien. Dashboard und Overview lesen diese günstigen Zustände, statt alle teuren APIs selbst abzufragen. Benachrichtigungen besitzen Cooldowns, damit dieselbe Voraussetzung nicht das Terminal oder Toast-System flutet.
runtime-manifest.txt ist die Quelle für alle benötigten Laufzeitdateien. Der
Updater:
- lädt die Remote-Version und das Manifest
- lädt jede Datei
- validiert erwartete Marker
- führt auf Wunsch den Selbsttest aus
- startet den Scheduler mit bisherigen Argumenten neu
Eine fehlgeschlagene Remote-Prüfung ersetzt keine funktionierende lokale Installation.
Im Repository:
node --test tests/*.test.mjs
Die Tests prüfen unter anderem:
- Schedulerphasen und Prioritäten
- Netzwerk- und Portlogik
- Hacking-Zielauswahl
- Budgets für Home, Cloudserver und Hacknet
- Fraktions-/Augmentationsauswahl
- Phasenisolation großer Manager und gemeinsamer Fraktionsplan
- RAM-Zielberechnung mit dem Maximum statt der Summe exklusiver Worker
- BitNode-Route und Source-File-Projektion
- Coding-Contract-Löser
- Darknet-Passwortmodelle und Worker-Aufteilung
- Casino-Hilfslogik
- v3-API-Namen für Corporation und Bladeburner
- Importierbarkeit sämtlicher Laufzeitmodule
- Updater-Manifest und Neustartverhalten
run tools/self-test.js
Er ergänzt die externen Tests um Dinge, die Node nicht nachbilden kann:
- Bitburners echten RAM-Analyzer
- Dateien auf
home - Netzwerk des aktuellen Saves
- Source-File-/BitNode-API-Zugänge
Der Selbsttest kauft nichts, installiert keine Augmentations und beendet keinen BitNode.
Sichtbare UI-Automation (Casino und ausdrücklich erlaubte SF‑1-Schritte) kann durch Änderungen am Bitburner-Layout betroffen sein. Unbekannte Coding-Contract-Typen werden ohne Versuch übersprungen, damit keine Belohnung verloren geht.
Fehlermeldungen, Testergebnisse und Verbesserungsvorschläge sind willkommen. Der Quellcode besitzt keine freie Weiterverwendungs- oder Weiterveröffentlichungslizenz. Persönliche Nutzung in Bitburner ist erlaubt; Kopieren, Verteilen, Einbinden in andere Projekte oder Veröffentlichen veränderter Versionen benötigt die vorherige ausdrückliche Erlaubnis von ame824.
© ame824 · grz-gamerz.de · Repository · Deutsch · English
- Übersicht
- Installation
- Control Center & RAM
- Module
- Konfiguration
- Forks & Urheberrecht
- Manuelle Schritte & Risiken
- BitNode-Zielmatrix
- Fehlerbehebung
- Architektur & Tests
- Overview
- Installation
- Control Center & RAM
- Modules
- Configuration
- Forks & attribution
- Manual steps & risks
- BitNode goal matrix
- Troubleshooting
- Architecture & testing