Moin,
da zur Zeit ein größeres Projekt auf halt steht, wollte ich einige meiner alten Tools
rund um Metin2 auffrischen und neu auslegen. Ich hatte vor einigen Jahren einen Patcher für einen Server geschrieben.
Welchen ich zur Zeit von 0 auf neucode. Ich weiß noch nicht genau was ich mit dem Patcher machen möchte, jedoch bin ich
gerne offen für Ideen und Vorschläge. Die meisten APIs sind bereits umgesetzt und funktionieren soweit einwandfrei, zur Zeit arbeite
ich am Frontend um, die Interaktionen zu vereinfachen.
Features:
- Webpanel
- User
- Es können verschiedene User erstellt/gelöscht werden
- Die User können sich ins Webpanel einloggen
- Die User können 2Faktor auth aktivieren
- RBAC
- Rollen basiertes zugriffsystem
- Jeder Endpunkt in der Applikation kann sperat konfiguriert werden
- AccessTypes sind Create, Read ,Update, Delete,
- Patch Versionierung
- Upload von Files inclusive Versionierung & commit message
- Aktivierung von bestimmten File Versions
- Löschen alter versionen
- Option zum automatischen Scanning mit VirusTotal
- Multi Server patching
- Wahl zwischen mehren deployment modes: Traditional, Hybrid
- Traditiona: Single Instance patching
- Die gleiche binary die auch das Webpanel & API exposed ist fürs transferieren der zu patchende files zuständig
- Hybrid: Multi Instance patching
- Seperate Binary übernimmt das transferien der zu patchenden files
- 1 zu N binaries -> sprich ihr könnt 1- n verschiedene PatchServer haben ( Für verschiedene Regionen zum Beispiel )
- Daten werden via mTLS zwischen API und Patchserver ausgetauscht ( Updates der Files & Hashes, sowie Statistiken)
- der Patcherclient wird immer den Server nehmen, zu dem er die beste Verbindung hat.
- Loadbalancing
- Patchlogs
- Erstellen von Patchlogs
- Löschen von Patchlogs
- Editieren von Patchlogs
- Stats (Playercount, Channels, World)
- Dashboard
- Metriken rund um Patching verhalten
- Config
- Auswahl des Hash Algos
- Auswahl zwischen Traditional und Hybrid deployment
- Konfiguration der Hybrid instance + Generien der Certifcates für mTLS
TechStack:
- Rust
- Vue
- MySQL
- Rust Tauri + Vue für den Client
Mehr Bilder folgend, wenn sich am Frontend was ändert.
Bitte melden Sie sich an, um dieses Bild zu sehen.
Wie bereits erwähnt bin ich mir noch unsicher, was ich genau mit dem System machen möchte.
Gegenenfalls werde ich es verkaufen oder es wird teil des bereits erwähnten größeren Projekts.
Ich bin Dankbar für alle Ideen.
Mit freundlichen Grüßen
Zynko