Überblick
Wie AI Core aufgebaut ist - Repositories, der Build, die Regeln, denen jedes Skript folgt.
AI Core ist durchgehend TypeScript. Jede Ressource folgt dem Aufbau von overextended/fivem-ts; Lua wird nur für die ESX- / QB- / Qbox-Brücke in ai-core und für die Lua-Seite von ai-lib verwendet.
Repositories
| Repository | Was |
|---|---|
| Server-Ordner | server.cfg und die anderen cfg-Dateien, recipe/ (txAdmin), tools/, template/, die Regeln und die Doku für KI-Tools. Er ist auch die Wurzel des Bun-Workspace. |
ai-core und jedes ai-* | Ein Repository pro Skript. Der Build (dist/, fxmanifest.lua) wird mit committet, sodass Server ohne Build-Tools laufen. |
packages | Die npm-Pakete: @aicore-fivem/lib (Helfer), @aicore-fivem/mysql (Datenbank-Engine), @aicore-fivem/shared (Verträge zwischen Ressourcen), @aicore-fivem/build (Build-Schritte). |
Build
bun install # im Server-Ordner: verknüpft die Pakete und jede Ressource
bun run build # jede Ressource (etwa 40 s), oder: bun run build ai-core ai-fuel
bun run typecheck
bun run lintIn einer Ressource laufen dieselben Skripte nur für diese Ressource; bun run dev beobachtet Änderungen. fxmanifest.lua wird aus package.json erzeugt: Bearbeite sie nie von Hand. Starte nach einem Build die Ressource neu (bun tools/rcon.ts "ensure ai-fuel") oder alles nach ai-core (bun tools/restart.ts).
Regeln, denen jedes Skript folgt
- Der Server entscheidet. Jede Client-Anfrage geht durch das Gate der Lib (
onClientEvent/onClientCallback): Prüfung auf echten Spieler, Rate-Limit, Guards (Admin, hat einen Charakter, nahe an einem Punkt), ein Argument-Parser. Geld, Items und Berechtigungen ändern sich nie auf dem Client. - Snapshot und Delta. Live-Daten gehen als ein Snapshot an die Clients, danach nur die Änderungen, nur an die, die sie brauchen. Kein Polling, keine „geändert, neu laden“-Signale.
- Zuerst die Lib. Interaktionspunkte, Blips, Zonen, Keybinds, Befehle, Menüs, Fortschritt, Fahrzeuge, State Bags und periodische Arbeit kommen aus
@aicore-fivem/lib; eine zweite, von Hand geschriebene Kopie ist ein Fehler. - Alles im Panel. Einstellungen, die ein Serverbetreiber anpasst, stehen im Admin-Panel (
schema.ts+data/*.json), nie in einer Config-Datei. - Über AI Core. Items, Fahrzeugschlüssel, Alarme, Handy, Wetter, Gefängnis, Kleidung und Tode laufen über die Ebenen von AI Core, nie über die Exports eines bestimmten Skripts.
- Skalierung zuerst. Sammlungen sind für Millionen Datensätze geplant und mit Benchmarks gemessen.
Die vollständigen Regeln stehen im Server-Ordner: CLAUDE.md und .claude/rules/.