🚗 DriveOS — die Fahrschule, die immer offen hat
Auf den meisten Servern scheitert der Führerschein am gleichen Problem: Es ist kein Fahrlehrer online. Der Spieler steht am Ped, findet niemanden, und der ganze Roleplay-Ablauf fällt aus.
DriveOS löst das. Theorie- und Praxisprüfung laufen komplett automatisch — 24 Stunden am Tag, ohne dass ein Spieler oder Teammitglied den Fahrlehrer machen muss. Der Spieler geht zur Fahrschule, wählt seine Klasse, macht die Theorie, fährt die Prüfungsstrecke und hat am Ende seinen Führerschein. Fair bewertet, sauber geloggt, und so gebaut, dass man es nicht austricksen kann.
🎓 Vier Führerscheinklassen — aufeinander aufbauend
| Klasse | Fahrzeug | Theorie | Praxis | Voraussetzung |
|---|---|---|---|---|
| A — Motorrad | pcj | 12 Fragen · 80 % | 70 Punkte | — |
| B — PKW | asterope | 15 Fragen · 80 % | 70 Punkte | — |
| C — LKW | mule | 12 Fragen · 85 % | 75 Punkte | Klasse B |
| D — Bus | coach | 12 Fragen · 85 % | 75 Punkte | Klasse B |
Fahrzeuge, Gebühren, Fragenzahl, Bestehensgrenzen und Voraussetzungen stehen alle in der config.lua. Neue Klassen legt ihr an, indem ihr einen Block kopiert — mehr ist es nicht.
📖 Theorieprüfung, die keiner austrickst
- Lösungen liegen ausschließlich auf dem Server. Der Client erhält Frage und Antwortmöglichkeiten, aber nie die richtige Antwort. Kein Auslesen aus dem Client, kein NUI-Trick.
- Zufälliger Fragenbogen — pro Prüfung werden frisch gemischte Fragen gezogen. Zwei Versuche sind nie identisch.
- Über 60 deutsche Fragen sind fertig hinterlegt, thematisch passend zu jeder Klasse (Vorfahrt, Abstand, Schutzkleidung, Ladungssicherung, Fahrgastsicherheit …).
- Zeitlimit mit Server-Watchdog. Läuft die Zeit ab, wertet der Server automatisch aus — auch wenn der Spieler das Spiel schließt.
- Fenster schließen = nicht bestanden (abschaltbar), danach greift eine Sperrzeit.
- Bestandene Theorie verfällt nach X Tagen (Standard 14) und wird nach bestandener Praxis verbraucht.
🚦 Praktische Prüfung mit echtem Punktesystem
Jeder startet mit 100 Punkten. Was danach passiert, entscheidet der Spieler am Steuer.
| Ereignis | Abzug |
|---|---|
| Leichter Tempoverstoß (ab 8 km/h über Limit) | −5 |
| Grober Tempoverstoß (ab 21 km/h über Limit) | −15 |
| Kollision | −10 |
| Schwere Kollision | −25 |
Sofort durchgefallen bei:
- Fahrzeug zerstört oder in Brand
- Fahndungslevel während der Prüfung
- Route verlassen (Standard: mehr als 200 m zum nächsten Checkpoint)
- Länger als 20 Sekunden außerhalb des Fahrzeugs
- Zeitlimit überschritten
Und dazu:
- Checkpoint-Routen für alle vier Klassen sind fertig hinterlegt — mit GPS-Route, Restzeit, Tempolimit pro Abschnitt und Hinweistexten.
- Haltestellen-Checkpoints für die Busprüfung: hier muss wirklich vollständig angehalten werden.
- Tempotoleranz — die ersten km/h über dem Limit geben nur eine HUD-Warnung, erst darüber kostet es Punkte.
- Checkpoints werden automatisch auf die Straße gesnappt — ungenaue Koordinaten sind unkritisch.
- Sauberes NUI-HUD mit Tempo, Limit-Schild, Punktestand, Checkpoint-Zähler und Restzeit.
🛡️ Anti-Cheat ist eingebaut, nicht nachgerüstet
Das ist der Teil, den man auf Screenshots nicht sieht — und der den Unterschied macht:
- Der Client entscheidet nichts. Checkpoints gelten erst als erreicht, wenn der Server sie bestätigt. Kein Vorspulen, kein Desync-Trick.
- Der Server misst unabhängig mit — Position und Geschwindigkeit werden serverseitig gegengeprüft.
- Plausibilitätscheck der Fahrzeit. Wer die Strecke schneller „abschließt", als sie physikalisch fahrbar ist, bekommt die Prüfung als ungültig gewertet.
- Reason-Whitelist — gefälschte Fail-Events vom Client werden abgefangen.
- Doppelstart-Schutz — keine doppelte Abbuchung.
- Automatische Erstattung, wenn die Prüfung technisch nicht starten konnte, eng abgesichert gegen Missbrauch.
- Theoriebewertung passiert zu 100 % serverseitig.
⚙️ Läuft auf eurem Server — egal welcher
ESX · QBCore · Qbox · ox_core · Standalone
Die Framework-Erkennung passiert automatisch, lässt sich aber auch fest vorgeben. Es gibt kein Pflicht-Framework und keine Pflicht-Datenbank:
- Mit oxmysql legt DriveOS die Tabelle
driveos_progressselbst an, inklusive Migration. - Ohne oxmysql läuft der komplette Fortschritt über eine JSON-Datei — voll standalone.
- Framework-Lizenz wird gesetzt: ESX
user_licenses, QB/Qboxmetadata.licences, ox_core Charakter-Metadaten. - Benachrichtigungen über okokNotify → ox_lib → Chat, je nachdem was bei euch läuft.
- ox_target wird genutzt, wenn es läuft — sonst greift automatisch die E-Taste mit Marker.
- Society-Kasse optional: Gebühren landen auf Wunsch in
esx_societyoderqb-management. - Discord-Webhook für jede bestandene und nicht bestandene Prüfung.
🎥 Eigene Prüfungsrouten in wenigen Minuten
Ihr wollt nicht die mitgelieferten Strecken? Müsst ihr auch nicht. Der eingebaute Routen-Recorder nimmt eure eigene Strecke auf, während ihr sie einfach abfahrt:
/dsroute start → Aufnahme starten, Checkpoints werden automatisch gesetzt
/dsroute point 30 → manueller Checkpoint mit Tempolimit 30
/dsroute stophere → Haltestelle setzen (hier muss angehalten werden)
/dsroute stop → fertiges Lua-Snippet in der Server-KonsoleSnippet kopieren, in server/routes.lua einfügen, fertig. Abgesichert über die ACE-Berechtigung driveos.admin — kein Spieler kann das auslösen.
🔗 LicenseOS-ready (optional)
Läuft bei euch LicenseOS, meldet DriveOS jede Prüfung automatisch ans Panel und stellt die Lizenz inklusive Lizenznummer dort aus. Auf Wunsch werden sogar die im Panel hinterlegten Pflicht-Fahrstunden auch für die Selbstbedienung durchgesetzt.
Wichtig: DriveOS funktioniert vollständig ohne LicenseOS. Die Anbindung ist ein Bonus, keine Voraussetzung.
🧩 Für Entwickler
exports['driveos']:HasPassedTheory(identifier, classId)
exports['driveos']:GetProgress(identifier, classId)
AddEventHandler('driveos:examCompleted', function(identifier, classId, examType, passed, score) end)
AddEventHandler('driveos:licenseGranted', function(identifier, classId, src) end)📦 Im Kauf enthalten
- Komplette Ressource
driveos, sofort startklar (ensure driveos) - 4 fertige Führerscheinklassen mit Fahrzeugen und Prüfungsrouten
- Über 60 deutsche Theoriefragen, sortiert nach Klasse
- Fertiges NUI-Interface (Menü, Theorie, Ergebnis, Praxis-HUD)
- Ausführliche deutsche README mit Installation und Anpassung
- Routen-Recorder für eigene Strecken
- Kostenlose Updates
- Support über unseren Discord
✅ Voraussetzungen
Pflicht: keine. DriveOS läuft standalone.
Optional (wird automatisch erkannt, wenn vorhanden):
| Ressource | Wofür |
|---|---|
| oxmysql | Fortschritt in der Datenbank statt in einer JSON-Datei |
| ox_target | Interaktion am Ped per Target statt E-Taste |
| ox_lib / okokNotify | schönere Benachrichtigungen |
| es_extended / qb-core / qbx_core / ox_core | Geld-Abbuchung und Framework-Lizenz |
| esx_society / qb-management | Gebühren in eine Society-Kasse |
| licenseos | Lizenzverwaltung über das LicenseOS-Panel |
❓ Häufige Fragen
Brauche ich ein Framework?
Nein. DriveOS läuft komplett standalone. Ist ein Framework da, wird es automatisch erkannt und genutzt.
Brauche ich eine Datenbank?
Nein. Mit oxmysql wird eine Tabelle angelegt, ohne oxmysql speichert DriveOS in einer JSON-Datei. Beides ohne Handarbeit.
Werden die Prüfungsgebühren auch ohne Framework abgebucht?
Auf ESX, QBCore und Qbox ja. Auf ox_core und Standalone gibt es keine einheitliche Geld-API — dort sind die Prüfungen kostenlos, bis ihr eure eigene Geldanbindung einhängt. Wie das geht, steht in der README.
Kann ich eigene Fragen hinzufügen?
Ja. server/questions.lua ist offen. Format ist eine Zeile pro Frage — Frage, drei Antworten, Nummer der richtigen Antwort.
Kann ich eigene Strecken bauen?
Ja, mit dem eingebauten Recorder: /dsroute start, Strecke abfahren, /dsroute stop, Snippet einfügen.
Ist der Code verschlüsselt?
Das Script ist Escrow-geschützt, aber config.lua, server/questions.lua, server/routes.lua und die README sind offen und frei editierbar. Preise, Klassen, Fahrzeuge, Punktabzüge, Sperrzeiten, Fragen und Routen könnt ihr komplett selbst gestalten.
Wie viele Ressourcen frisst das?
Im Leerlauf läuft nur ein Thread mit 800 ms Intervall; das Marker-Rendering startet erst in 15 m Umkreis der Fahrschule. Während einer Prüfung läuft die Bewertungsschleife alle 150 ms auf dem Client des Prüflings und alle 2,5 Sekunden serverseitig — nur für diesen einen Spieler.
Funktioniert das mit meinem bestehenden Fahrlehrer-Script?
Ja. DriveOS setzt die normale Framework-Lizenz. Ihr könnt beides parallel laufen lassen: Fahrlehrer für gespielte Prüfungen, DriveOS für die Zeiten, in denen niemand online ist.
Bekomme ich Updates?
Ja, kostenlos über Tebex/Keymaster.
🛠️ Support
Support und Updates laufen über unseren Discord.
Bitte Server-Konsole und server.cfg-Ausschnitt bereithalten, dann geht es schneller.
🇬🇧 English version
DriveOS — the driving school that never closes
On most servers, driving licenses fail for the same reason: no instructor is online. The player walks up to the ped, finds nobody, and the whole roleplay loop dies right there.
DriveOS fixes that. Theory and practical exams run fully automatically — 24/7, with no player or staff member having to act as an instructor. Players pick a class, take the theory test, drive the exam route and walk away with their license. Fairly scored, properly logged, and built so it can't be cheated.
🎓 Four license classes
| Class | Vehicle | Theory | Practical | Requires |
|---|---|---|---|---|
| A — Motorcycle | pcj | 12 questions · 80 % | 70 points | — |
| B — Car | asterope | 15 questions · 80 % | 70 points | — |
| C — Truck | mule | 12 questions · 85 % | 75 points | Class B |
| D — Bus | coach | 12 questions · 85 % | 75 points | Class B |
📖 A theory exam nobody can cheat
- Answers exist only on the server. The client gets the question and the options — never the correct answer.
- Randomised question sheet — every attempt pulls a freshly shuffled set.
- 60+ German questions included, written per class.
- Time limit with a server-side watchdog — scored even if the player closes the game.
- Closing the window counts as failed (can be disabled), followed by a cooldown.
- A passed theory expires after X days (default 14).
🚦 A practical exam with a real point system
Everyone starts at 100 points.
| Event | Deduction |
|---|---|
| Minor speeding (8 km/h over the limit) | −5 |
| Major speeding (21 km/h over the limit) | −15 |
| Collision | −10 |
| Heavy collision | −25 |
Instant fail on: vehicle destroyed or on fire · wanted level · leaving the route (default 200 m) · more than 20 seconds outside the vehicle · running out of time.
Also included: ready-made checkpoint routes for all four classes, mandatory stop checkpoints for the bus exam, per-section speed limits with tolerance, automatic road snapping and a clean NUI HUD.
🛡️ Anti-cheat built in, not bolted on
- The client decides nothing — checkpoints only count once the server confirms them.
- The server measures independently — position and speed are cross-checked server-side.
- Plausibility check on exam duration — finishing faster than physically possible invalidates the run.
- Reason whitelist blocks spoofed fail events.
- Double-start protection and automatic refunds on technical aborts.
- Theory scoring is 100 % server-side.
⚙️ Runs on your server, whatever you use
ESX · QBCore · Qbox · ox_core · Standalone. Framework detection is automatic. No mandatory framework, no mandatory database — with oxmysql it creates its own table, without it everything is stored in a JSON file. Framework licenses are granted natively, notifications go through okokNotify → ox_lib → chat, ox_target is used when available, society accounts and a Discord webhook are optional.
🎥 Build your own routes in minutes
/dsroute start → start recording, checkpoints placed automatically
/dsroute point 30 → manual checkpoint with a 30 km/h limit
/dsroute stophere → place a mandatory stop
/dsroute stop → ready-made Lua snippet in the server console🔗 LicenseOS-ready (optional)
If you run LicenseOS, DriveOS reports every exam to the panel and issues the license there, including the license number — and can enforce the panel's mandatory lesson requirement. DriveOS works perfectly fine without it.
❓ FAQ
Do I need a framework? No, DriveOS runs standalone and auto-detects one if present.
Do I need a database? No — oxmysql table or JSON file, both automatic.
Are fees charged without a framework? On ESX, QBCore and Qbox yes. On ox_core and standalone there is no unified money API, so exams are free until you hook in your own (see README).
Can I add my own questions and routes? Yes — server/questions.lua and server/routes.lua are open and editable.
Is the code encrypted? Escrow-protected, but config, questions, routes and README are open.
Do I get updates? Yes, free via Tebex/Keymaster.