CryoLabs

CryoCore

Ein kleiner Kern. Alles andere ist ein Modul, das sich live neu lädt.

Version
1.0.0
Art
Server-Mod
Minecraft
26.3
NeoForge
26.3.0.23-beta
Seite
Server (Client-Mod CryoClient optional)
Sprache der Module
JavaScript, ES2015-Teilmenge (Rhino 1.8)
Größe
1,4 MB
§ 01 Worum es geht

Mechaniken mit mcfunction zu bauen ist mühsam und frisst Ticks. CryoCore dreht das um: ein kleiner, stabiler Kern in Java, der sich fast nie ändert, und Module in JavaScript (Rhino), die sich beim Speichern selbst neu laden, ohne Neustart.

Was pro Tick über viele Entities läuft, also Tag-Suche, Modell-Transformationen, Sitze, Kollision, erledigt der Kern in Java. Das Modul entscheidet nur, was passieren soll.

Der AnspruchEin kaputtes Modul darf den Server nie gefährden: Fehler werden gefangen und protokolliert, das Modul wird abgeschaltet, der Rest läuft weiter. Alles, was ein Modul anmeldet, wird beim Entladen automatisch abgeräumt.
§ 02 Was es kann
Live-Reload ohne Verlust
Speichern genügt. Zustand, der den Reload überleben soll, liegt ausdrücklich in ctx.state oder ctx.store.
Rigs und Modelle
Fahrzeuge, Objekte und Figuren aus Block-Displays, mit Sitzen, Kollision, Licht und Blockbench-Modellen. Neue Objekte sind im Idealfall nur Daten.
Persistenz an der Welt
Rig-Daten hängen als Attachment an der Wurzel-Entity. Backups, Rollbacks und Abstürze bleiben stimmig.
Pfadfindung
cryo.nav: A* mit Zeitbudget und Cache, die Grundlage für NPCs, die Wegen folgen, Begleiter und Patrouillen.
Physik und Overlay
Der Server beschreibt, der Client (CryoClient) zeichnet lokal: Geisterblöcke, Boxen, Linien, Beschriftungen, Partikel, Körper mit Kollision.
Eingebaute Prüfung
/cryo check liefert die Stimmigkeit als JSON, ein Profil schreibt jede Minute Tickzeiten, Tests laufen mit python tools/cryotest.py.
Gebaut für KI-Werkzeuge
Kleine, gleichförmige API mit Typen, Beispielen und maschinenlesbaren Fehlern, dazu Vorlagen und eine kurze Einstiegsdatei.
§ 03 Ein Modul sieht so aus
// modules/hallo/main.js
const util = require("lib/util");

module.exports = {
  setup(ctx) {
    // alles, was hier angemeldet wird, gehört dem Modul
    // und wird beim Neuladen automatisch abgeräumt
    ctx.command("hallo", function (src) {
      const p = src.getPlayer();
      if (p == null) return "Nur für Spieler";
      util.title(p, "Hallo", "live geladen");
      return "";
    });
  },
  teardown(ctx) { /* optional */ }
};

Kein Build-Schritt, keine Neustarts. Die Datei speichern und das Modul läuft in der neuen Fassung, mit allem aufgeräumt, was die alte angemeldet hatte.

§ 04 Einbauen
  1. Server stoppen.
  2. Die Jar in den mods-Ordner des Servers legen.
  3. Server starten. Der Kern legt den Ordner cryocore/ mit modules/ und lib/ an.
  4. Module in cryocore/modules/<name>/ ablegen. Mit /cryo list sieht man, was geladen ist.

Verträglichkeit

Läuft auf NeoForge 26.3 mit Java 25. Der Kern registriert keine neuen Blöcke oder Items, Spieler brauchen für die Grundfunktionen nichts zu installieren. Für Overlay, Fenster, Kamerafahrten und Physik braucht jeder Spieler CryoClient.

Befehle

/cryo listgeladene Module
/cryo checkStimmigkeit als JSON
/cryo chat on|offtechnische Meldungen im Ops-Chat (Standard aus)
/cr gib <key>eigene Items geben
§ 05 Changelog
1.0.0 · Stand 05.10.05.10.2026aktuell
  • Neu im Kern: cryo.nav, Pfadfindung mit A*, Zeitbudget, Cache und Folger.
  • Neu: Engine-Erweiterungen für Körper, Bahnen, Gelenke, Seile und zerstörbare Strukturen, siehe CryoClient 0.17 bis 0.26.
  • Neu: Bibliotheken für NPC-Daten, Dialoge und Tagesroutinen, Begleiter und 3D-Billboards.
1.0.0 · Stand 04.10.04.10.2026
  • Neu: Sync-Protokoll 2, Zustandspakete mit Geschwindigkeit und Zeitstempel, Hermite-Puffer auf dem Client. Spieler brauchen CryoClient 0.15.11 oder neuer.
1.0.0 · Stand 02.10.02.10.2026
  • Technische Chat-Meldungen sind jetzt standardmäßig aus, /cryo chat schaltet sie ein.
  • Neu: cryo.py doctor, test und rollback.
1.0.0 · Stand 01.10.01.10.2026
  • Gehärtet: Rig-Daten als Attachment an der Wurzel-Entity, verwaiste Teile werden entsorgt, automatische Tests (cryotest alle).
1.0.0 · Stand 29.09.29.09.2026
  • Erster Entwurf, danach Prototyp auf einem Testserver.
§ 06 Download
cryocore-1.0.0.jarBeta, für Server-Betreiber1.0.01,4 MBSHA-256 e924a3ae26620ff2ad5404231d5fac2596c4ec1d0254708173cbe6e0aa1c7c56Laden

Prüfsumme anklicken, um sie zu kopieren. Unter Windows lässt sie sich mit certutil -hashfile Datei.jar SHA256 nachrechnen.