af039b050400b0e39c8bb8a420c7cc1e8f88c472
🔥 YabosRageMPCore
A open-source RAGE:MP GTA V multiplayer server framework.
A modern, scalable server boilerplate with a type-safe RPC system and a Hot-Module-Reloading CEF UI pipeline.
✨ Features
- Type-safe RPC across Server, Client, and CEF using
@entityseven/rage-fw-rpc - Split architecture — clean separation between server logic, client scripts, and UI
- Modern UI pipeline — Vue 3 + Vite with Hot Module Replacement for rapid development
- Custom Chat UI — in-game chat built in Vue with support for player, global, admin, system, and error messages
- Smart CEF routing — automatically routes CEF to
localhost:3000(dev) or the bundled package (production) viasettings.json - Zero boilerplate overhead — only the code that matters
📁 Project Structure
YabosRageMPCore/
├── packages/
│ └── core/ # Server-side logic (Node.js)
│ └── index.js # Entry point: RPC handlers, player events
│
├── develop_client/ # Client-side TypeScript source
│ └── src/
│ └── index.ts # Compiled to client_packages/client.js
│
├── develop_cef/ # Vue 3 SPA for all in-game UI
│ └── src/
│ ├── App.vue
│ └── components/
│ └── Chat.vue # Custom chat system
│
├── client_packages/ # [BUILD OUTPUT] — loaded by RAGE:MP
│ ├── index.js # Loader entrypoint
│ ├── client.js # Compiled client bundle
│ └── cef/ # Compiled Vue SPA
│
└── settings.json # Database, debug, and CEF environment config
🚀 Getting Started
Prerequisites
- Node.js >= 18.x
- RAGE:MP Server
1. Clone the repository
git clone https://github.com/yabooo666/YabosRageMPCore
cd YabosRageMPCore
2. Configure settings.json
{
"mysql": {
"host": "localhost",
"port": 3306,
"user": "root",
"password": "",
"database": "ragempcore"
},
"debugger": true,
"cef": "dev"
}
Set
"cef": "dev"to use the Vite dev server,"cef": "build"to use the compiled bundle.
3. Install dependencies
# Server core
npm install
# Client script
cd ../../develop_client && npm install
# CEF UI
cd ../develop_cef && npm install
4a. Development Mode (with HMR)
# Terminal 1 — Watch & compile client script
cd develop_client && npm run dev
# Terminal 2 — Start Vite dev server for CEF
cd develop_cef && npm run dev
4b. Production Mode
# Compile client script
cd develop_client && npm run build
# Compile CEF UI
cd develop_cef && npm run build
# Start the RAGE:MP server
./ragemp-server.exe
🔌 RPC Communication
Cross-environment communication is handled by RageFW RPC.
| From | To | Method |
|---|---|---|
| Server | Client | rpc.callClient(player, 'event', [args]) |
| Client | Server | rpc.callServer('event', [args]) |
| Client | CEF | rpc.callBrowser('event', [args]) |
| CEF | Client | chatRpc.callClient('event', [args]) |
To register a handler:
rpc.register("my:event", (player, arg1) => {
// handle it
return true;
});
📄 License
This project is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.
YabosRageMPCore — RAGE:MP Server Framework
Copyright (C) 2025
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
Made with ❤️ for the RAGE:MP community
Description
Everything you need to start your RageMP RP, DM or Freeroam server using performance friendly code + Rage-RPC
Languages
Vue
59.1%
TypeScript
17.2%
CSS
12.9%
JavaScript
9.1%
HTML
1.7%