Skip to content

Administrator Guide

This guide covers server-owner and staff workflows for ARS Multicharacter. It assumes the resource is installed and running, and focuses on slot management, Tebex setup, character deletion, housing checks, and common admin troubleshooting.


  1. Admin Access
  2. Slot Management
  3. Tebex Slot Packages
  4. Character Management
  5. Housing and Spawn Checks
  6. Discord Logging and Debugging

Admin commands pass when the player’s Rockstar license is listed in Config.AdminLicenses or when the framework permission check passes.

Framework Default role
QBCore god
QBX god
ESX superadmin
Config.AdminLicenses = {
-- ['license:1234567890abcdef'] = true,
}
Command Required access Purpose
/deletechar <citizenid> Admin Force-delete another character
/setcharslots <license> <slots> Admin Set absolute slots for a license
/generatecharcode <slots> Admin Generate a one-time redeemable slot code
/logout Any player Return the player to character selection

Tip: Use /setcharslots for permanent manual overrides. Use /generatecharcode or Tebex for bonus slots that should be added to the player’s current total.


ARS Multicharacter calculates slots from ars_multicharacter_slots when it exists, otherwise it falls back to Config.MaxCharacters.

Find the player’s Rockstar license and set an absolute slot count:

setcharslots license:12345 6

This creates or updates ars_multicharacter_slots. If the player previously had 4 slots, this changes them to 6.

Create a one-time code that players can redeem:

generatecharcode 5

The server prints a code such as A1B2C3D4E5F6G7H8. When a player redeems it, the code’s slot value is added to their current total.

Players can redeem codes through the selector UI or chat:

/redeemcharslot A1B2C3D4E5F6G7H8

A redeemed code remains in ars_multicharacter_auth_codes with redeemed_by and redeemed_at for auditing.

-- Set 6 slots for a license
INSERT INTO ars_multicharacter_slots (license, slots)
VALUES ('license:12345', 6)
ON DUPLICATE KEY UPDATE slots = 6;
-- View slot overrides
SELECT * FROM ars_multicharacter_slots;

Tebex packages create redeemable slot codes from the transaction ID. Players redeem that transaction ID in the selector or with /redeemcharslot <code>.

  1. In Tebex, open Settings > Game Servers.
  2. Copy your FiveM server secret key.
  3. Add it to server.cfg:
sv_tebexSecret "YOUR_TEBEX_SECRET_KEY_HERE"

Warning: Keep the Tebex secret private. Anyone with access to it can send commands to your server as Tebex.

  1. In Tebex, create or edit a package.
  2. Add a game server command for your FiveM server.
  3. Use this command format:
tebex_charslot {transaction} 5

Replace 5 with the number of slots the package grants.

  1. Enable Execute the command even if the player is offline.
  1. Player purchases the package on Tebex.
  2. Tebex sends tebex_charslot {transaction} 5 to the FiveM server console.
  3. The resource stores the transaction ID in ars_multicharacter_auth_codes.
  4. The player logs in and redeems the transaction ID in the selector.
  5. The code’s slots are added to the player’s current slot total.

When Config.Debug is true, run this from the server console:

test_charslot TEST_12345 5

Verify the test code was stored:

SELECT * FROM ars_multicharacter_auth_codes WHERE code = 'TEST_12345';

To show a purchase button in the selector:

Config.SlotOverrides = {
enabled = true,
storeUrl = 'https://your-store.tebex.io',
}

Use this when a player cannot delete a character themselves or staff need to remove a broken character file:

deletechar <citizenid>

The command requires admin access and deletes the character identified by citizenid.

Players can delete their own characters when:

Config.EnableDeleteButton = true

Warning: Character deletion is irreversible. Make sure players understand that bank balances, properties, inventories, and custom jobs can be lost.

-- Slot overrides
SELECT * FROM ars_multicharacter_slots
ORDER BY slots DESC;
-- Redeemed codes
SELECT code, slots, redeemed_by, redeemed_at
FROM ars_multicharacter_auth_codes
WHERE redeemed_by IS NOT NULL
ORDER BY redeemed_at DESC;

Config.Housing = {
resource = 'auto',
useApartmentForNewChar = false,
}
Housing setup Detected resource Spawn behavior
ps-housing running ps-housing Shows properties from the properties table
qb-houses running qb-houses Shows houses from player_houses
qb-houses + qb-apartments qb-houses Shows apartments and can create apartments for new characters
No housing none Uses configured spawn locations and last location

New-character apartment creation only works with qb-houses and qb-apartments:

Config.Housing.useApartmentForNewChar = true

If ps-housing is running, the resource shows properties but does not create apartments.

Edit Config.Spawn.locations to change the spawn menu:

Config.Spawn = {
skipSelection = false,
locations = {
{
coords = vector4(235.33, -872.04, 30.49, 343.52),
label = "Legion Square",
description = "Downtown Los Santos spawn point.",
},
},
}

Use Config.Spawn.skipSelection = true to skip spawn selection after a new character finishes appearance creation. Use Config.SkipSelection = true to skip spawn selection when loading an existing character.


Tebex events can be logged from server/utils.lua:

Discord = {
Enabled = true,
WebhookURL = 'YOUR_DISCORD_WEBHOOK_URL',
BotName = 'ARS Multicharacter',
BotAvatar = '',
}

Warning: Treat Discord webhook URLs like secrets. Do not commit them to public repositories.

Config.Debug = true

Useful log lines include:

Framework bridge loaded: qb (server)
Skin resource detected: illenium-appearance
Housing resource detected: qb-houses
Issue Check
Wrong framework bridge Confirm Config.Framework or resource start order
Wrong appearance resource Check Skin resource detected: in logs
No housing options Check Housing resource detected: and resource names
Tebex code missing Check ars_multicharacter_auth_codes for the transaction ID
Slots did not increase Confirm the code was redeemed, not just created
Admin command denied Check Config.AdminLicenses and framework role/ACE
Levels/XP not showing Confirm Config.CharacterLevels.enabled = true and player metadata is intact

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.