Genel bakış
AI Core nasıl kuruldu - depolar, derleme, her script’in uyduğu kurallar.
AI Core baştan sona TypeScript. Her resource overextended/fivem-ts düzenini izler; Lua sadece ai-core içindeki ESX / QB / Qbox köprüsünde ve ai-lib’in Lua tarafında kullanılır.
Depolar
| Depo | Ne |
|---|---|
| Sunucu klasörü | server.cfg ve diğer cfg dosyaları, recipe/ (txAdmin), tools/, template/, yapay zekâ araçları için kurallar ve dokümanlar. Aynı zamanda bun workspace kökü. |
ai-core ve her ai-* | Script başına bir depo. Derleme çıktısı (dist/, fxmanifest.lua) commit’lenir; sunucular derleme aracı olmadan çalışır. |
packages | npm paketleri: @aicore-fivem/lib (yardımcılar), @aicore-fivem/mysql (veritabanı motoru), @aicore-fivem/shared (resource’lar arası sözleşmeler), @aicore-fivem/build (derleme adımları). |
Derleme
bun install # sunucu klasöründe: paketleri ve her resource’u bağlar
bun run build # her resource (yaklaşık 40 sn) ya da: bun run build ai-core ai-fuel
bun run typecheck
bun run lintBir resource içinde aynı komutlar sadece o resource için çalışır; bun run dev izler. fxmanifest.lua package.json’dan üretilir: elle düzenleme. Derlemeden sonra resource’u (bun tools/rcon.ts "ensure ai-fuel") ya da ai-core’dan sonrakilerin hepsini (bun tools/restart.ts) yeniden başlat.
Her script’in uyduğu kurallar
- Karar sunucunun. Client’tan gelen her istek lib’in kapısından geçer (
onClientEvent/onClientCallback): gerçek oyuncu kontrolü, hız sınırı, koruyucular (admin, karakteri var, bir noktaya yakın), argüman ayrıştırıcı. Para, eşya ve yetkiler client’ta değişmez. - Snapshot ve delta. Canlı veri client’lara bir kez tam, sonra sadece değişenler olarak ve sadece ihtiyacı olana gider. Sürekli sorgulama ve "değişti, tekrar çek" sinyali yok.
- Önce lib. Etkileşim noktaları, blip’ler, alanlar, tuşlar, komutlar, menüler, ilerleme, araçlar, state bag’ler ve periyodik işler
@aicore-fivem/lib’den gelir; elle yazılmış ikinci bir kopya hatadır. - Her şey panelde. Sunucu sahibinin ayarladığı her şey admin panelinde (
schema.ts+data/*.json), asla bir config dosyasında değil. - AI Core üzerinden. Eşyalar, araç anahtarları, ihbarlar, telefon, hava, hapishane, kıyafet ve ölümler AI Core’un katmanlarından geçer; belirli bir script’in export’larından değil.
- Önce ölçek. Koleksiyonlar milyonlarca kayıt için tasarlanır ve benchmark’larla ölçülür.
Kuralların tamamı sunucu klasöründe: CLAUDE.md ve .claude/rules/.