Skip to main content

Introduction

The rsg-core/config.lua file contains all the core configuration options for your RSG Framework server. This file controls player defaults, money systems, server settings, and more. Location: resources/[framework]/rsg-core/config.lua

General Settings

Max Players

  • Gets the maximum players from your server.cfg
  • Default: 48 players
  • Set in server.cfg: sv_maxclients 48

Default Spawn

  • The default spawn location for new players
  • Format: vector4(x, y, z, heading)
  • This is used when a player has no saved position

Update Interval

  • How often (in minutes) player data is automatically saved to the database
  • Default: 5 minutes
  • Lower values = more frequent saves but more database load

Hide Player Names

  • Whether to hide player names above their heads
  • true = Names hidden (more immersive RP)
  • false = Names visible

Reveal Map

  • Whether the map is fully revealed for players
  • true = Full map revealed
  • false = Map fog of war enabled

Money System Configuration

Money Types

  • Defines all money types and their starting amounts
  • cash: Physical money in player’s pocket (can be dropped/stolen)
  • bank: ⚠️ DEPRECATED - Legacy bank account (set to 0, use location-specific banks)
  • valbank: Valentine Bank account
  • rhobank: Rhodes Bank account
  • blkbank: Blackwater Bank account
  • armbank: Armadillo Bank account
  • bloodmoney: Illegal money for criminal activities (physical item when EnableMoneyItems is true)
The bank money type is DEPRECATED. Always use location-specific banks (valbank, rhobank, blkbank, armbank) instead!
When EnableMoneyItems = true, cash and bloodmoney become physical inventory items that can be dropped, traded, or stolen.
Why Multiple Banks?
  • Realism: Players must travel to specific towns to access accounts
  • Gameplay: Creates opportunities for bank robberies and escorts
  • Risk: Traveling with cash adds danger and roleplay opportunities

Don’t Allow Minus

  • Money types that cannot go below $0
  • These types will prevent transactions if the player doesn’t have enough
  • Bank accounts can go negative (up to the minus limit)

Minus Limit

  • The maximum amount bank accounts can go into debt
  • Default: -$5000
  • Only affects money types NOT in DontAllowMinus

Paycheck Timeout

  • How often (in minutes) players receive their job paycheck
  • Default: 10 minutes
  • Payment amount is defined in shared/jobs.lua

Paycheck from Society

  • If true: Paychecks come from the society/business account (requires rsg-banking)
  • If false: Paychecks are generated (money printer)
  • When true, businesses need funds to pay employees

Enable Money Items

  • If true: Cash and bloodmoney are physical inventory items
  • If false: Cash and bloodmoney are virtual (like GTA Online)
  • When enabled, cash can be dropped, traded, stolen
This setting makes the economy more realistic as players must physically carry cash

Player Configuration

Blood Types

  • Available blood types for players
  • Randomly assigned on character creation
  • Can be used for medical RP

Player Defaults

The RSGConfig.Player.PlayerDefaults table defines all default values for new characters:

Character Info Defaults

  • gender: 0 = Male, 1 = Female
  • account: Automatically generated bank account number

Job Defaults

  • New players start as unemployed civilians
  • Grade 0 with $10 payment per paycheck

Gang Defaults

  • New players have no gang affiliation by default

Metadata Defaults

Hunger, Thirst, Cleanliness: Scale from 0-100
  • 100 = Full/Clean
  • 0 = Empty/Dirty
Health: RedM uses 0-600 scale (not 0-100 like GTA)

Inventory Defaults

  • weight: Maximum carry weight for new players (35kg = 35000 grams)
  • slots: Number of inventory slots for new players
Player Defaults vs Inventory Limits: These are starting values for players. The actual inventory system limits are configured in rsg-inventory/shared/config.lua:
  • MaxWeight = 120000 (120kg maximum)
  • MaxSlots = 40 (40 slots maximum)
Inventory Configuration Hierarchy:
  1. Player Defaults (rsg-core/config.lua) - Starting values for new characters
  2. Inventory Limits (rsg-inventory/shared/config.lua) - System-wide maximums
  3. Player-Specific - Can be modified per player via Player.Functions.SetPlayerData()

Server Configuration

Server Closed

  • Closed = true: Only players with admin permission can join
  • ClosedReason: Message shown to players when server is closed
  • Useful for maintenance or development

Whitelist

  • Whitelist = true: Only whitelisted players can join
  • WhitelistPermission: The ace permission required to join when whitelist is on
  • Players need the permission set in server.cfg

PVP Settings

  • Controls whether players can damage each other
  • true = PVP enabled
  • false = PVP disabled (players cannot hurt each other)
  • Your Discord invite link
  • Shown in kick messages
  • Example: 'https://discord.gg/your-invite'

Check Duplicate License

  • If true: Prevents players from connecting with duplicate Rockstar licenses
  • Prevents multi-boxing/multiple accounts
  • Recommended: keep as true

Permissions

  • Available permission levels for your server
  • You can add custom levels (e.g., 'helper', 'vip')
  • Set in server.cfg using ace permissions:

Commands Configuration

OOC Color

  • RGB color code for Out-Of-Character (OOC) chat messages
  • Format: { Red, Green, Blue } (0-255 for each)

Prompt Distance

  • Default interaction distance for prompts (in meters)
  • Used by the prompt system in rsg-core/client/prompts.lua
  • Players must be within this distance to see/use prompts

Example: Custom Configuration

Here’s an example of how you might customize your config:

Tips & Best Practices

Save before editing: Always backup your config.lua before making changes
Restart required: Changes to config.lua require a full server restart to take effect
Test thoroughly: Test all config changes on a development server before applying to production

Performance Considerations

  • UpdateInterval: Lower values increase database writes
    • 5 minutes is a good balance
    • Don’t go below 3 minutes on busy servers
  • PayCheckTimeOut: More frequent paychecks = more economy velocity
    • 10 minutes is standard
    • Consider your server’s economy when adjusting

Roleplay Considerations

  • EnableMoneyItems: Most RP servers keep this true for realism
  • HidePlayerNames: Set to true for immersive RP
  • PVP: Many RP servers disable this except in specific zones
  • Whitelist: Recommended for serious RP communities

Need Help?

If you’re unsure about any setting, join the RSG Framework Discord for support!