Installation Guide
This installation guide covers the required resources, database setup, server.cfg ordering, optional housing and appearance setup, and Tebex slot package configuration for ARS Multicharacter.
Prerequisites
Section titled “Prerequisites”ox_lib— required for locale loading, commands, callbacks, and NUI notificationsoxmysql— required for character queries, slot overrides, and redeem codes- One framework resource:
qbx_core,qb-core, ores_extended - One supported appearance resource for first-time character creation
- Optional:
ps-housing,qb-houses, orqb-apartmentsfor housing-aware spawn selection - Optional: Tebex account and connected FiveM game server for selling character slots
Installation Steps
Section titled “Installation Steps”1. Download and Place Resource
Section titled “1. Download and Place Resource”Place the resource in your server’s resources folder:
server-data/resources/[folder]/ars_multicharacter/The built NUI files are already included in html/, so the production resource does not need a frontend build step.
2. Import the Database Tables
Section titled “2. Import the Database Tables”Run ars_multicharacter.sql in your database:
CREATE TABLE IF NOT EXISTS `ars_multicharacter_slots` ( `license` VARCHAR(60) NOT NULL, `slots` INT NOT NULL DEFAULT 4, PRIMARY KEY (`license`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
CREATE TABLE IF NOT EXISTS `ars_multicharacter_auth_codes` ( `code` VARCHAR(64) NOT NULL, `slots` INT NOT NULL DEFAULT 1, `created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP, `redeemed_by` VARCHAR(60) NULL DEFAULT NULL, `redeemed_at` TIMESTAMP NULL DEFAULT NULL, PRIMARY KEY (`code`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;3. Configure Framework Mode
Section titled “3. Configure Framework Mode”Open config.lua and confirm the framework mode:
Config.Framework = 'auto'auto detects qbx_core, then qb-core, then es_extended. If your server starts resources in an unusual order, use an explicit value:
Config.Framework = 'qb'Config.Framework = 'qbx'Config.Framework = 'esx'4. Configure Appearance
Section titled “4. Configure Appearance”Install and start one supported appearance resource before ars_multicharacter:
| Priority | Resource | Notes |
|---|---|---|
| 1 | bl_appearance |
Uses InitialCreation and SetPedAppearance |
| 2 | illenium-appearance |
Works with compatible resources such as murderface-appearance and juddlie_appearance |
| 3 | qs-appearance |
ILLENIUM-compatible API |
| 4 | fivem-appearance |
ILLENIUM-compatible API |
| 5 | qb-clothing |
Legacy QBCore clothing flow |
| 6 | skinchanger |
Legacy ESX skinchanger flow |
To force a specific appearance resource:
Config.FrameworkSettings = { qb = { starterItems = true, skinResource = 'illenium-appearance', }, qbx = { starterItems = true, skinResource = 'illenium-appearance', }, esx = { starterItems = true, prefix = 'char', skinResource = 'skinchanger', },}5. Configure Housing
Section titled “5. Configure Housing”Housing is optional. The default auto mode detects ps-housing first, then qb-houses.
Config.Housing = { resource = 'auto', useApartmentForNewChar = false,}| Setting | Values | Purpose |
|---|---|---|
resource |
'auto', 'ps-housing', 'qb-housing', 'none' |
Selects the housing integration |
useApartmentForNewChar |
true or false |
Sends new characters to qb-apartments when using qb-houses |
6. Add to Server Config
Section titled “6. Add to Server Config”Ensure dependencies and your framework start before ars_multicharacter:
ensure ox_libensure oxmysqlensure [your-framework-resource]ensure [your-appearance-resource]ensure [your-housing-resource]ensure ars_multicharacterExample for a QBCore server using illenium-appearance:
ensure ox_libensure oxmysqlensure qb-coreensure illenium-appearanceensure ars_multicharacter7. Configure Tebex Slot Packages
Section titled “7. Configure Tebex Slot Packages”Tebex packages create redeemable slot codes from the Tebex transaction ID. Players redeem that transaction ID in the UI or with /redeemcharslot <code>.
Connect Tebex to Your FiveM Server
Section titled “Connect Tebex to Your FiveM Server”- In Tebex, open Settings > Game Servers.
- Copy your FiveM server secret key.
- Add it to
server.cfg:
sv_tebexSecret "YOUR_TEBEX_SECRET_KEY_HERE"Warning: Keep your Tebex secret private. Anyone with access to it can send commands to your server as Tebex.
Create a Character Slot Package
Section titled “Create a Character Slot Package”- In Tebex, create or edit a package.
- Add a game server command for your FiveM server.
- Use this command format:
tebex_charslot {transaction} 5Replace 5 with the number of character slots the package should grant.
- Enable Execute the command even if the player is offline.
Store Link
Section titled “Store Link”If you want the selector to show a purchase button, set your store URL:
Config.SlotOverrides = { enabled = true, storeUrl = 'https://your-store.tebex.io',}Verification
Section titled “Verification”- Start the server and join as a normal player.
- Confirm the character selector opens with portrait peds and the configured UI layout.
- Create a new character and verify the configured appearance resource opens.
- Save the character and choose a spawn location.
- Use
/logoutto return to the selector. - As an admin, run
/setcharslots <license> 3and rejoin to confirm the slot count changes. - Generate a code with
/generatecharcode 2, redeem it with/redeemcharslot <code>, and confirm the slot count increases.
Updating
Section titled “Updating”- Back up
config.luaandserver/utils.lua. - Replace the resource files with the new version.
- Compare your backup against the new defaults.
- Restore your custom values and restart the resource or server.
Troubleshooting
Section titled “Troubleshooting”Character Selector Does Not Open
Section titled “Character Selector Does Not Open”- Confirm
ox_lib,oxmysql, and your framework start beforears_multicharacter. - Check the server console for
Framework not foundor bridge errors. - Confirm
ui_page 'html/index.html'is active infxmanifest.lua.
Appearance Creator Does Not Open
Section titled “Appearance Creator Does Not Open”- Start a supported appearance resource before
ars_multicharacter. - Set
Config.FrameworkSettings.<framework>.skinResourceexplicitly if auto-detection picks the wrong resource. - Check the debug log line
Skin resource detected: <resource>.
Housing Does Not Appear in Spawn Selection
Section titled “Housing Does Not Appear in Spawn Selection”- Confirm
ps-housing,qb-houses, orqb-apartmentsis started beforears_multicharacter. - Set
Config.Housing.resourceto'ps-housing','qb-housing', or'none'if auto-detection is wrong. - For new-character apartments, use
qb-houseswithqb-apartmentsand setuseApartmentForNewChar = true.
Tebex Codes Are Not Redeemable
Section titled “Tebex Codes Are Not Redeemable”- Verify the Tebex command is exactly
tebex_charslot {transaction} <slots>. - Confirm Execute the command even if the player is offline is enabled.
- Check
ars_multicharacter_auth_codesfor the transaction ID. - Make sure players paste the Tebex transaction ID, not the package name.
Note: This guide is written by a third party. If you find any incorrect or outdated information, please contact us on Discord so we can update it for you.