Repository navigation
About
This project is not just a gamemode.
It is designed to be a foundation framework for building RAGE:MP roleplay servers with:
- clear structure
- predictable behavior
- scalable architecture
- developer-friendly patterns
Most RAGE:MP projects suffer from the same problems:
- no structure
- tightly coupled code
- unclear data flow
- poor separation of concerns
- no documentation
As projects grow, they become:
- harder to maintain
- harder to debug
- harder to extend
This framework was created to solve those issues.
Every system should be:
- understandable
- predictable
- easy to trace
You should always know:
- where data comes from
- where it goes
- who is responsible for handling it
All gameplay logic must live on the server.
The server is responsible for:
- validation
- game state
- persistence
- authority
The client and frontend should never be trusted.
Each layer has a clear role:
| Layer | Responsibility |
|---|---|
| Server | Logic & authority |
| Client | Bridge |
| Frontend | UI |
This separation ensures:
- cleaner code
- easier debugging
- better scalability
The framework is designed so that:
- systems can exist without CEF
- gameplay logic does not depend on UI
CEF is used only when needed.
Events follow a structured format:
target:name
Examples:
chat:sendMessage
inventory:moveItem
hud:setData
This ensures:
- consistency
- easier debugging
- better scalability
The framework is built for developers.
It aims to:
- reduce confusion
- remove guesswork
- provide clear patterns
- improve readability
This framework is opinionated.
It encourages:
- consistent folder structure
- consistent naming
- defined patterns
While it may feel restrictive at first, it leads to:
- better long-term maintainability
- easier collaboration
- cleaner systems
This project is NOT:
- a complete gamemode
- a feature-heavy server
- an opinionated gameplay system
It is a foundation, not a finished product.
You should use this framework to:
- build your own systems
- design your own gameplay
- extend existing features
- create your own gamemode
- Understand the architecture
- Follow existing patterns
- Build small features first
- Expand into larger systems
- Keep logic server-side
Frontend is UI only.
Never trust:
- client
- frontend
- user input
Avoid:
- random file placement
- inconsistent naming
- mixing responsibilities
Start simple.
Scale when needed.
Think of the framework like this:
- Server = brain
- Client = messenger
- Frontend = screen
All important decisions happen in the brain.
This framework is designed to grow with your project.
The more you follow its structure:
- the easier your development becomes
- the cleaner your code stays
- the more scalable your systems are
This project exists to provide:
- structure
- clarity
- scalability
- maintainability
It is a tool to help you build better systems — not a system itself.