Config Validator
Validate QBCore configuration files for errors, optimization opportunities, and best practices compliance.
Overview
The Config Validator analyzes your QBCore configuration files to identify syntax errors, logical inconsistencies, performance issues, and deviations from best practices. Ensure your server runs smoothly with properly validated configurations.
Configuration Validator
Validate your QBCore configuration files for syntax errors, performance issues, and best practices compliance.
Upload File
Drag and drop your config file here or click to browse
Supported files: .lua, .js, .json, .cfg
Paste Content
What We Check
Syntax Errors
Missing commas, brackets, quotes
Variable References
Undefined or misnamed variables
Data Types
Incorrect value types and formats
Performance
Inefficient configurations
Security
Hardcoded credentials and secrets
Best Practices
QBCore conventions and standards
Validation Features
Syntax Validation
- Lua Syntax Check: Validates proper Lua syntax and structure
- JSON Validation: Ensures valid JSON format for configuration files
- Bracket Matching: Detects missing or mismatched brackets and parentheses
- Quote Validation: Checks for properly closed strings and quotes
Logical Validation
- Variable References: Ensures all referenced variables are defined
- Data Type Checking: Validates correct data types for configuration values
- Range Validation: Checks if numeric values are within acceptable ranges
- Dependency Checking: Verifies required dependencies and configurations
Performance Analysis
- Memory Usage: Identifies configurations that may cause memory issues
- Optimization Opportunities: Suggests ways to improve configuration performance
- Redundancy Detection: Finds duplicate or unnecessary configuration entries
- Load Time Analysis: Estimates configuration loading impact
Security Scanning
- Credential Detection: Finds hardcoded passwords and sensitive information
- Permission Validation: Checks for proper permission configurations
- Access Control: Validates security-related settings
- Vulnerability Assessment: Identifies potential security risks
Common Configuration Issues
Syntax Errors
-- ❌ Missing comma
Config.Jobs = {
['police'] = { label = 'Police' grade = 0 }
['ambulance'] = { label = 'EMS', grade = 0 }
}
-- ✅ Correct syntax
Config.Jobs = {
['police'] = { label = 'Police', grade = 0 },
['ambulance'] = { label = 'EMS', grade = 0 }
}
Variable Issues
-- ❌ Undefined variable
if players > Config.MaxPlayer then -- 'MaxPlayer' should be 'MaxPlayers'
return false
end
-- ✅ Correct variable name
if players > Config.MaxPlayers then
return false
end
Data Type Problems
-- ❌ Wrong data type
Config.EnableFeature = "true" -- Should be boolean, not string
-- ✅ Correct data type
Config.EnableFeature = true
Performance Issues
-- ❌ Inefficient nested loops in config
Config.Items = {}
for i = 1, 1000 do
for j = 1, 100 do
-- Heavy computation in config
end
end
-- ✅ Pre-computed or optimized
Config.Items = PrecomputedItemList
Best Practices
Configuration Structure
-- Recommended config structure
Config = {}
-- Debug and development settings
Config.Debug = false
Config.Locale = 'en'
-- Core settings grouped logically
Config.Server = {
Name = "My QBCore Server",
MaxPlayers = 64,
RestartTime = { 6, 18 } -- 6 AM and 6 PM
}
Config.Economy = {
StartingMoney = { cash = 500, bank = 5000 },
PaycheckInterval = 30, -- minutes
TaxRate = 0.15
}
-- Feature flags for easy toggling
Config.Features = {
Banking = true,
Housing = true,
Vehicles = true,
Jobs = true
}
Environment Variables
-- ❌ Hardcoded sensitive data
Config.Database = {
Host = "localhost",
Username = "root",
Password = "mypassword123"
}
-- ✅ Use environment variables
Config.Database = {
Host = GetConvar('mysql_host', 'localhost'),
Username = GetConvar('mysql_user', 'qbcore'),
Password = GetConvar('mysql_password', '')
}
Localization Support
-- Proper localization structure
Config.Locale = GetConvar('qb_locale', 'en')
Config.Locales = {
['en'] = {
['welcome'] = 'Welcome to the server!',
['goodbye'] = 'Thanks for playing!'
},
['es'] = {
['welcome'] = '¡Bienvenido al servidor!',
['goodbye'] = '¡Gracias por jugar!'
}
}
Validation Rules
Critical Rules (Errors)
- Syntax Errors: Invalid Lua syntax that prevents loading
- Undefined Variables: References to non-existent configuration values
- Type Mismatches: Wrong data types that cause runtime errors
- Missing Dependencies: Required configurations not present
Warning Rules
- Performance Issues: Configurations that may impact server performance
- Security Concerns: Potential security vulnerabilities
- Deprecated Settings: Outdated configuration options
- Inconsistent Naming: Non-standard naming conventions
Information Rules
- Optimization Suggestions: Ways to improve configuration efficiency
- Best Practice Recommendations: QBCore community standards
- Documentation Notes: Missing or incomplete documentation
- Update Notices: Available configuration improvements
Integration
Automated Validation
# Add to your deployment script
qb-config-validator --input configs/ --output report.json --format json
# CI/CD integration
- name: Validate Configurations
run: |
npm install -g qb-config-validator
qb-config-validator --input . --fail-on-error
Pre-commit Hooks
{
"scripts": {
"pre-commit": "qb-config-validator --staged-only"
}
}
Pro Tip: Run configuration validation before every server restart to catch issues early. Set up automated validation in your development workflow to maintain code quality.
Need help fixing configuration issues? Check our configuration guide or visit our support community.