Files
Hopeless YABO af039b0504 Server Files
2026-03-31 19:36:44 +02:00

4.5 KiB

🔥 YabosRageMPCore

A open-source RAGE:MP GTA V multiplayer server framework.

License: GPLv3 RAGE:MP TypeScript Vue.js Vite

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) via settings.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

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