Installation
Installation
1. Dependencies
Before starting BUPA Multicharacter, make sure these are installed and start before it:
- ox_lib — required
- oxmysql — required
- xsound — optional, required only for character-screen audio
Your framework (es_extended, qbx_core, or qb-core) must already be running; the correct bridge is detected automatically.
2. Install the resource
- Drop
bupa-multicharacterinto your resources folder. - Add it to your
server.cfgafter its dependencies.
# --- dependencies first ---
ensure oxmysql
ensure ox_lib
ensure xsound # optional — enables character music
# --- your framework ---
ensure qbx_core # or es_extended / qb-core
# --- then the selector ---
ensure bupa-multicharacterBecause the selector provides qb-multicharacter, you must not also run another multicharacter resource. Remove or stop qb-multicharacter / qbx_spawn-bundled selectors before starting this one.
3. Language
The UI and notifications are localized through ox_lib. Set your language explicitly in server.cfg so both the ox_lib locale and the NUI translations resolve to the same file:
setr ox:locale "en"Translations live in locales/*.json (31 languages). English is the reference locale — see the Localization page for the full code list.
4. Tebex slot import (optional)
If you plan to sell extra character slots as Tebex packages, set tebexShopImport = true in settings/options.lua and provide your Tebex secret key as a convar. Without it, slot imports are disabled and the module logs a warning on boot:
set sv_tebexSecret "your-tebex-secret-key"5. YouTube API key (music)
In-UI song search uses the YouTube Data API v3. The script ships with a demo key that may be rate-limited or revoked at any time — replace it with your own key in settings/options.lua:
music = {
enabled = true,
youtubeApiKey = 'YOUR_OWN_YOUTUBE_DATA_API_V3_KEY',
volume = 0.4,
defaultSong = false,
},Generate a key at the Google Cloud Console (APIs & Credentials). The key is used server-side only and never shipped to clients. Lyrics require no key.
6. Optional convars
| Convar | Purpose |
|---|---|
bupa:apartmentInsideStart |
true starts brand-new characters inside an apartment (needs a supported apartment resource). |
bpx_relay_hook_GUILD_ID / bpx_relay_hook_BOT_TOKEN |
Only needed if you grant bonus slots by Discord role. |
Start the server. On boot the console prints the detected framework bridge and, if applicable, reminders for any missing convars.