Skip to content

Latest commit

 

History

16 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Xostme Framework

Xostme Framework

A server resource framework for FiveM on GTA V Enhanced, built on .NET 10. Xostme fills the role QBCore and ESX play on Legacy FiveM: the core resource every other script on the server depends on — player identity, characters, sessions, persistence, and observability, exposed as simple reusable functions.

Early development. FiveM for GTAV Enhanced entered early access on July 21, 2026, and both the platform and this framework are moving fast. Expect breaking changes.

Why Enhanced, why .NET 10

The Enhanced server runs C# resources on a bundled CoreCLR (.NET 10) — no Mono, no .NET Framework. That makes a modern, properly layered framework possible: real dependency injection, TimeProvider-based testing, UUIDv7 keys, source-generated logging, and hot paths designed for the new 120 Hz sync rate. Findings from dissecting the Enhanced server's C# host, including its current sandbox restrictions, are documented in docs/cfx-enhanced-csharp.md.

Solution layout

Project Role
src/Xostme.Framework The core: domain models (Player, Character), thread-safe registries, DI registration extensions. Ships inside the FiveM resource; deliberately references almost nothing so it passes the Enhanced script sandbox.
src/Xostme.Framework.Persistence PostgreSQL layer: connection factory, stores, and a migration runner that self-initializes the schema at startup. Never ships in-game while the platform sandbox blocks database drivers; consumed by tests and development hosts.
src/Xostme.FiveM The resource adapter and composition root. Building it assembles a ready-to-run FiveM resource.
tests/Xostme.Framework.Tests xUnit suite covering the domain and persistence layers.

The split follows dependency rings: pure domain in the core, infrastructure at the edges. New framework code lands in the core unless it references an infrastructure package.

Getting started

Prerequisites: .NET 10 SDK, Docker Desktop.

# infrastructure: PostgreSQL, Redis, Prometheus, Grafana
cd docker && docker compose up -d

# build everything and assemble the FiveM resource into resources/xostme
dotnet build Xostme.slnx

# run the test suite
dotnet test Xostme.slnx

docker compose up -d is the only infrastructure command there is: the database schema feeds itself through the migration runner on startup, and Grafana provisioning is mounted from the repository. Copy docker/.env.example to docker/.env and fill in the secrets first.

To load the resource on a Cfx Server (Enhanced), point the server at the resources/ folder and add to server.cfg:

set xostme_database "Host=localhost;Database=xostme;Username=xostme;Password=..."
ensure xostme

Status

  • Player and character domain with registries
  • PostgreSQL persistence with automatic migrations
  • One-command local infrastructure
  • FiveM resource adapter, booting on Enhanced early access
  • Player connection lifecycle feeding the registry
  • Session management
  • Redis-backed state
  • Domain metrics for the server's Prometheus endpoint
  • In-game persistence, pending the platform's assembly trust mechanism

License

All rights reserved.

About

A C# Framework for FiveM, .Net 10 edition with best practices and whole pipeline.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages