No description
  • Java 98.2%
  • Shell 1.3%
  • Python 0.4%
Find a file
Emmanuel Lampe eee7ae0ac4
Some checks failed
Target platform / verify (push) Failing after 19s
docs(runtime): record complete game rollout
2026-07-25 19:13:32 +02:00
.github/workflows ci: verify modern target platform 2026-07-24 12:54:11 +02:00
adapters refactor(platform): retire projects source tree 2026-07-25 16:54:11 +02:00
applications fix(games): restore deployed arena configuration 2026-07-25 18:49:21 +02:00
build-logic refactor(core): absorb coins and identity capabilities 2026-07-25 15:30:47 +02:00
compat refactor(core): absorb coins and identity capabilities 2026-07-25 15:30:47 +02:00
docs docs(runtime): record complete game rollout 2026-07-25 19:13:32 +02:00
gradle refactor(core): absorb coins and identity capabilities 2026-07-25 15:30:47 +02:00
modules refactor(platform): retire projects source tree 2026-07-25 16:54:11 +02:00
ops refactor(games): move legacy sources into application hosts 2026-07-25 04:18:29 +02:00
shared/runtime/src/main/java/riventus/runtime fix(runtime): isolate secure MariaDB driver 2026-07-25 00:08:32 +02:00
tools fix(deployment): remove Teamsurvival owner from QuickSG 2026-07-25 19:03:47 +02:00
.env.example refactor: migrate legacy plugins to source-level database config 2026-07-23 20:48:09 +02:00
.gitignore refactor: migrate legacy plugins to source-level database config 2026-07-23 20:48:09 +02:00
AGENTS.md docs(architecture): close projects migration 2026-07-25 16:54:32 +02:00
build.gradle.kts feat: migrate network plugins to LuckPerms and Velocity 2026-07-24 01:09:59 +02:00
gradle.properties chore: establish Riventus reconstruction monorepo 2026-07-23 19:35:07 +02:00
gradlew chore: establish Riventus reconstruction monorepo 2026-07-23 19:35:07 +02:00
gradlew.bat chore: establish Riventus reconstruction monorepo 2026-07-23 19:35:07 +02:00
README.md docs(architecture): close projects migration 2026-07-25 16:54:32 +02:00
settings.gradle.kts refactor(platform): retire projects source tree 2026-07-25 16:54:11 +02:00

Riventus.net Wiederaufbau

Dieses Monorepo enthält die gesicherte und inventarisierte Ausgangslage des alten Minecraft-Netzwerks Riventus.net sowie Buildlogik, Betriebswerkzeuge und Dokumentation für den Wiederaufbau. Der aktuelle Zielstand läuft als datenbankgesteuerter RiventusCloud-Cluster auf himmel.node.servhosting.eu und rexlgames.de. Der öffentliche Velocity-Proxy bleibt auf himmel; eine PandaSpigot-Lobby läuft dynamisch und elf Spielgruppen bleiben On-Demand.

Sortierter Arbeitsbestand

applications/            # Proxy, Core, Lobby und 11 Game-Composition-Roots
modules/platform-api/    # gemeinsame Plattformverträge
modules/social-*/         # Social-Domain und 1.8-Wire-Vertrag
modules/proxy-system/    # vollständige Riventus-System-Fähigkeiten
adapters/*/platform/     # Panda-/Velocity-Plattformadapter
adapters/*/social*/       # MariaDB-, Velocity- und Lobby-Social-Adapter
adapters/velocity/system/ # Velocity-Runtime des Netzwerksystems
compat/runtime-overrides/ # 3 reviewbare Runtime-Rekonstruktionen

servers/
├── BungeeCord/          # vollständiger Proxy-Stand
├── Lobby/               # vollständiger Lobby-Stand
├── 1vs1/                # zehn Instanzen
├── SuperJump/           # zehn Instanzen
├── EndWars/             # drei Instanzen
├── FFA/                 # drei unterschiedliche FFA-Server
└── …                    # BashIt, EagleLeague, GunGame, Teamsurvival, TempleRun

artifacts/
└── plugin-bundle/       # 23 JARs aus Plugins.zip, nicht in Server eingemischt

website/
└── legacy-site/         # statischer Webauftritt von Mai 2017

Die Projekte stammen aus dem vollständigeren Source.zip. Die Server enthalten den vollständigen, etwa 2,3 GiB großen SMB-Netzwerkstand mit 32 Backends und exakt den dort installierten JAR-Varianten. Abweichende JARs aus Plugins.zip liegen bewusst separat unter artifacts/.

Einstieg

Plugin-Build

Alle aktiven Quellen liegen in zielorientierten applications/, modules/, adapters/ und compat/; der frühere projects/-Migrationsbestand ist vollständig entfernt. Die Quellen von 1vs1, SuperJump, EndWars, FFA-Classic, TempleRun, BashIt, GunGame und QuickSG gehören direkt ihren Game-Applications. Social und das vollständige Velocity-Netzwerksystem liegen in Modulen und Adaptern, die drei Runtime-Overrides unter compat/. PandaSpigot 1.8.8 und Velocity 3.5.1 sind die aktiven APIs; LuckPerms ist die einzige aktive Permissionquelle.

Mit JDK 21:

./gradlew clean buildPlugins

Die deploybaren Java-21-JARs liegen anschließend unter build/plugins/. Der aktive Backend-Composition-Root wird als RiventusCore.jar gebaut. Der aktive Proxy-Composition-Root bündelt Plattform, Netzwerk und Social als RiventusProxy.jar; die früheren Standalone-JARs dürfen nicht zusätzlich installiert werden. Der aktive Lobby-Composition-Root erzeugt build/plugins/RiventusLobby.jar mit Navigation, Friends-GUI, Pets, Read-only-Toplisten und gruppenbasierten Cloud-Schildern. Details und bekannte Grenzen stehen in docs/GRADLE-BUILD.md und docs/LOBBY-HOST.md.

Aktiver Zielstand

Die installierten Runtime-Artefakte enthalten den Monorepo-Stand bis 761dc71; für die vorherige vollständige Gruppen-Laufzeitprüfung wurden außerdem die Validator-Korrekturen f2d3f82 und a55a28a verwendet. Der separate RiventusCloud-Fork läuft auf Commit 61c791e0.

  • RiventusProxy, RiventusCore und RiventusLobby melden sich ohne Aktivierungsfehler bereit.
  • RiventusLobby 2.1.1 registriert den Friends-Hotbar-Befehl, stellt die exakte historische 28-Pet-Auswahl bereit und schützt alle Mount-Übergänge gegen PandaSpigot-Reentranz.
  • Dauerhaft laufen nur Proxy-1 und Lobby-1.
  • 27 erhaltene DynamicSigns-Positionen wurden auf gruppenbasierte Cloud-Schilder migriert.
  • Zehn Spielgruppen bestanden den gemeinsamen Batch-Lauf; Teamsurvival wurde nach seiner gezielten Laufzeitkorrektur separat erfolgreich load-validiert.
  • Der öffentliche Ping liefert Minecraft-Protokoll 47 und die historische zweizeilige Riventus-MOTD.

Diese Prüfung bestätigt Start, Pluginbesitz, Abhängigkeiten und sauberen Stop. Echte Client-Interaktionen und vollständige Mehrspieler-Spielabläufe bleiben eine separate Abnahmegrenze.

Der aktuelle Source-Stand führt die acht sourcebasierten Game-Modi vollständig unter applications/games/ und benennt den bisherigen Zielnamen Teamsurvival wieder zu QuickSG. Diese Application-/Cloud-Umbenennung ist lokal gebaut, aber noch nicht auf den Zielhosts ausgerollt.

Im neueren, ebenfalls noch nicht ausgerollten Source-Stand sind Friends und das historische Netzwerksystem vollständig in den Proxy-Host migriert. Coins und Nick gehören zum Core; DynamicSigns, Lobby, Top10 und RankSigns gehören zum Lobby-Host. Für belegte Varianten gilt die freigegebene Regel: Die deployed Runtime ist Verhaltensbaseline, konfliktfreie Source-Funktionen werden ergänzt, und offensichtliche Sicherheits-, Threading- und Zeichenkodierungsfehler werden behoben. Der eigenständige Clans-Spielmodus ist bewusst ausgeschlossen; das Social-Clan-System bleibt erhalten. Der Quellstand ist gebaut, aber kein Deployment-, Client- oder Gameplaynachweis.

Lokale Zugangsdaten

Die aktuellen lokalen Datenbankvariablen liegen in .env. Die Datei ist absichtlich von Git ausgeschlossen und muss Modus 0600 besitzen. Neue Arbeitskopien verwenden .env.example als Vorlage:

cp .env.example .env
chmod 0600 .env

Werte aus .env dürfen weder committed noch in Logs, Tickets oder Chat ausgegeben werden. Das Repository enthält ausschließlich Variablennamen.

Ablage

legacy/
├── archives/
│   ├── downloads/       # zwei ZIP- und zwei RAR-Downloads
│   └── embedded/        # Source.zip und Plugins.zip aus SlionPlugins.zip
├── runtime/             # entpackter Serverstand (BungeeCord + Lobby)
├── source/              # 25 entpackte Eclipse-Projekte
├── source-rar/          # zweiter, kleinerer Source-Stand aus der RAR
├── plugin-jars/         # 23 separat überlieferte Plugin-JARs
├── website/             # statischer Webauftritt von 2017
└── checksums.sha256     # SHA-256 aller sechs Archivdateien

legacy/ ist absichtlich komplett von Git ausgeschlossen. Darin liegen unter anderem alte Zugangsdaten, Logs, Konfigurationen und 732 Playerdata-Dateien. Der Bestand bleibt so als unveränderte Referenz erhalten; eine später modernisierte und bereinigte Codebasis sollte außerhalb dieses Verzeichnisses entstehen.

Der frühere sanitizierte projects/-Migrationsbestand wurde nach vollständiger Fähigkeitsmigration entfernt; seine unveränderte Provenienz bleibt unter legacy/. servers/, artifacts/ und website/ bleiben wegen Binärdateien, Konfigurationen und personenbezogenen Daten ignoriert.

Die versionierbare Monorepo-Ebene umfasst derzeit Gradle-Konfiguration, Buildlogik, Dokumentation, systemd-Definitionen unter ops/ und geheimnisfreie Hilfswerkzeuge unter tools/. Die ignorierten Rohbestände bleiben trotzdem Teil des lokalen Arbeitsbereichs und ihre Herkunft ist in docs/ dokumentiert.