Build Amazing 🚔 Roleplay Servers 🎮 with QBCore ⚡
The most popular and feature-rich FiveM framework. Used by 5,000+ servers worldwide to create immersive gaming experiences.
See QBCore in Action ⚡
Watch how easy it is to create powerful roleplay features with QBCore's intuitive API and modular architecture.
Simple Event System
Create server and client events with just a few lines of code. QBCore handles all the networking for you.
Player Management
Built-in player object with inventory, money, job management, and metadata storage out of the box.
Modular Architecture
Export functions between resources seamlessly. Build complex systems with reusable components.
Real-time Notifications
Integrated notification system with customizable styles and automatic item box displays.
Everything You Need to Build Epic Servers 🎯
QBCore comes packed with powerful features and tools that make server development faster, easier, and more enjoyable.
Player Management
Complete player system with jobs, gangs, permissions, and metadata
local Player = QBCore.Functions.GetPlayer(src)
Player.Functions.AddMoney("cash", 1000)
Player.Functions.SetJob("police", 1)Database Integration
MySQL integration with automatic player data saving and loading
MySQL.insert('INSERT INTO player_vehicles
(license, citizenid, vehicle, hash, mods)
VALUES (?, ?, ?, ?, ?)', {
license, citizenid, vehicle, hash, mods
})Event System
Robust client-server communication with built-in validation
RegisterNetEvent('qb-example:client:notify')
AddEventHandler('qb-example:client:notify', function(msg)
QBCore.Functions.Notify(msg, "success")
end)Anti-Cheat Protection
Built-in protection against common exploits and cheating attempts
-- Automatic validation
QBCore.Functions.TriggerCallback('qb-police:server:getCops',
function(cops)
if cops >= Config.MinCops then
-- Action allowed
end
end)High Performance
Optimized for large servers with minimal resource usage
-- Efficient player loops
CreateThread(function()
while true do
for playerId in pairs(QBCore.Functions.GetPlayers()) do
-- Process players efficiently
end
Wait(30000) -- 30 second intervals
end
end)Highly Configurable
Extensive configuration options for every aspect of your server
Config = {}
Config.MaxPlayers = GetConvarInt('sv_maxclients', 48)
Config.DefaultMoney = {
cash = 500,
bank = 5000,
crypto = 0
}Multi-Language Support
Built-in localization system supporting multiple languages
local Lang = QBCore.Shared.Locale
Lang:t('info.received_paycheck', {
value = ESX.Math.GroupDigits(salary)
})Resource Management
Smart resource loading and dependency management system
QBCore.Functions.AddItems({
['bandage'] = {
name = 'bandage',
label = 'Bandage',
weight = 115,
type = 'item',
image = 'bandage.png',
unique = false,
useable = true,
shouldClose = true,
combinable = nil,
description = 'A bandage works every time'
}
})Trusted by the Community 📊
See the real numbers behind QBCore's success. Our framework powers thousands of servers and brings joy to hundreds of thousands of players.
$ qb-stats --servers$ qb-stats --downloads$ qb-stats --players$ qb-stats --contributors$ qb-stats --stars$ qb-stats --resourcesJoin the Largest FiveM Community
Become part of a thriving ecosystem of developers, server owners, and players who choose QBCore for their roleplay experiences.
Simple Yet PowerfulCode Examples
See how easy it is to get started with QBCore. From installation to advanced features, everything is designed to be developer-friendly.
Quick Installation
Get QBCore running on your server in seconds
# Clone the QBCore framework
git clone https://github.com/qbcore-framework/qb-core.git [qb-core]
# Start the core resource in your server.cfg
start qb-core
# Your server is now powered by QBCore!Create a Simple Job
Define custom jobs with unique mechanics
-- Add this to your qb-core/shared/jobs.lua
['police'] = {
label = 'Police Department',
defaultDuty = false,
offDutyPay = false,
grades = {
['0'] = { name = 'Cadet', payment = 75 },
['1'] = { name = 'Officer', payment = 100 },
['2'] = { name = 'Sergeant', payment = 125 },
['3'] = { name = 'Lieutenant', payment = 150 },
['4'] = { name = 'Chief', payment = 200, isboss = true }
}
}Player Management
Handle player data with powerful APIs
-- Get player data
local Player = QBCore.Functions.GetPlayer(source)
-- Add money to player
Player.Functions.AddMoney('cash', 1000, 'bonus-pay')
-- Set player job
Player.Functions.SetJob('police', 2)
-- Save player data
Player.Functions.Save()
-- Trigger client event
TriggerClientEvent('qb-core:notify', source, 'Welcome to the server!', 'success')Ready to Start Coding?
Dive into our comprehensive documentation and discover all the powerful features QBCore has to offer. From basic setup to advanced customization.
What the CommunitySays About QBCore
Real feedback from server owners, developers, and community managers using QBCore in production.
“Migrated from ESX six months ago. The documentation made the transition straightforward, and our player retention improved noticeably within the first month.”
Jordan M.
Server Owner
Liberty State RP
“The modular architecture is genuinely well-designed. Being able to hook into player events without rewriting core logic saves hours on every feature we build.”
Sam K.
Developer
West Coast RP
“Our server had stability issues with our previous framework. Since switching to QBCore, we have seen significantly fewer crashes during peak hours.”
Alex T.
Community Manager
Northern RP
Join the Community
Ready to transform your FiveM server? Join thousands of servers that have made the switch to QBCore.
