In Entwicklung · Garry's Mod
Das Roleplay-Framework
für Garry's Mod.
Obsidian verbindet Gamemode, native Servermodule, eine API und ein Webinterface zu einem zusammenhängenden Produkt. Der Server entscheidet, das Web ist live verbunden, jedes Teil bleibt einzeln anpassbar.
Gebaut mit
- Lua
- C++
- Laravel
- Nuxt
- MySQL
Architektur
Ein Produkt, ein Datenfluss
Vom Gameserver bis zum Browser greift jedes Teil in dasselbe Backend. Rechte, Daten und Inhalte gibt es genau einmal.
Gamemode
Der Kern in GLua liefert Netz, Katalog, Entitäten, Buchungen, Rechte, Befehle und Protokoll. Dein Inhalts-Gamemode setzt darauf auf.
Native Servermodule
Module in C++23 übernehmen, was Lua bremst: signiertes HTTPS mit Komprimierung, asynchronen MySQL-Zugriff und einen Watchdog für Abstürze, Hänger und Lua-Fehler.
API
Laravel als reine REST-API mit OpenAPI-Beschreibung und einheitlichen Fehlern. Jedes Modul besitzt seine Tabellen und lässt sich abschalten.
Webinterface
Nuxt mit TypeScript strict. Verwaltung, Nutzerbereich und Roleplay im selben Stil, Module werden zur Laufzeit aktiviert.
Gameserver-Brücke
Jeder Server hat einen eigenen Schlüssel mit Rechten. Anfragen und Antworten sind signiert, Änderungen aus dem Web erreichen den Server ohne Neustart.
Inhalte als Daten
Fraktionen, Items, Klassen, Aufstieg und Preise beschreibst du in einem versionierten Format. Das Produkt kennt nur das Format, die Werte gehören dir.
Module
Alles, was ein Roleplay-Server braucht
Obsidian wächst Modul für Modul. Jeder Eintrag zeigt ehrlich, wo er steht.
LiveIn ArbeitGeplantStand: Oktober 2026
Charakter & Aufstieg
- Mehrere Charaktere je KontoIn Arbeit
- Ränge mit frei einstellbaren RechtenIn Arbeit
- Klassen und Ausrüstung als DatensätzeGeplant
- Jobs, Fortbildungen, Erfahrung und OrdenGeplant
Fraktionen & Staat
- Fraktionen mit Kasse, Sitz und RevierGeplant
- Ämter mit Bewerbung und WahlGeplant
- Staat mit Steuern, Lizenzen und ErlassenGeplant
- Polizei, Haft und StrafkatalogGeplant
Wirtschaft & Handel
- Bargeld und Konto mit lückenloser BuchungGeplant
- Inventar, Lager und FraktionslagerIn Arbeit
- Händler, Handel zwischen SpielernGeplant
- Logistik mit Bestellung und TransportGeplant
Wohnen & Welt
- Wohnungen mit Mitbewohnern und TürverträgenGeplant
- Dauerhafte Props, Schilder und TerminalsGeplant
- Fahrzeuge mit Garage und TuningGeplant
- Interaktionsmenü und frei belegbare TastenGeplant
Kampf & Sicherheit
- Servergeprüfte WaffenbasisGeplant
- Verletzungen, Sanitäter und PlündernGeplant
- Anticheat mit BeweissicherungGeplant
- Bans, Verwarnungen und AnträgeIn Arbeit
Community & Web
- Meldungen und TicketsLive
- Benachrichtigungen ohne NeuladenLive
- Regelwerke mit ÄnderungsverlaufLive
- News, Wiki, Team und BoardsIn Arbeit
Qualität
Gemessen statt versprochen
Leistung und Tests sind feste Regeln, keine Nachgedanken. Die Werte stammen aus unserer Testumgebung.
- Takt-Kosten der Datenschicht im Mittel bei 128 Bots
- ≤ 1,5 ms
- Testabdeckung des Gamemodes
- 98,7 %
- Backend-Tests, alle grün
- 4.208
- Fuzz-Ziele in den nativen Modulen
- 17
Die Grenze für die Datenschicht gilt bei 16 Tick, gemessen wurden im Mittel 1,19 bis 1,30 ms. Stand: Oktober 2026.
Prinzipien
Wie Obsidian gebaut ist
Ein paar Regeln gelten für jedes Modul, ohne Ausnahme.
Der Server entscheidet
Der Client schickt nur Absichten. Geld, Items und Rechte laufen über den Server und das Backend.
Leistung als Regel
Geänderte Zustände statt Dauerabfragen, versetzte Abläufe und gebündelte Netzpakete. Kosmetik rechnet der Client.
Modular bis ins Web
Module lassen sich im Backend abschalten, im Web hat jedes Modul eine eigene Schicht.
Rechte ohne Rejoin
Rechte gehören dem Backend. Der Server lädt sie neu, sobald sie sich im Web ändern.
Texte aus Katalogen
Jeder Text im Produkt läuft über einen Katalogschlüssel. Zum Start auf Deutsch.
Unabhängig geprüft
Wer baut, bewertet nicht selbst: Ein unabhängiger Prüfer reviewt jede Änderung, der Prüfbefehl läuft vor jedem Push.
Obsidian entsteht gerade.
Du hast Fragen zum Projekt? Schreib uns.