> For the complete documentation index, see [llms.txt](https://code-after-sex.gitbook.io/script-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-after-sex.gitbook.io/script-documentation/vip-shop/reference/troubleshooting.md).

# Troubleshooting

## Boot and framework

**The console prints `[vip_shop] Framework: standalone`** Neither `vorp_core` nor `rsg-core` was running when vip\_shop started. Fix the `ensure` order in `server.cfg`, or pin `Config.Framework` to `'vorp'` or `'rsg'`.

**SQL errors on start, or no tables** `oxmysql` is not started before vip\_shop, or its connection string is wrong. Nothing else is needed; the tables create themselves once oxmysql works.

## UI

**The shop opens to a black or empty panel** The built UI is missing or stale. Run `npm run build:resource` and redeploy, then confirm `vip_shop/nui/index.html` exists.

**Product images do not load in game** Confirm the `nui/` folder is present with its `assets`, `img` and `fonts` subfolders, and that `ui_page` is `'nui/index.html'`. After changing `fxmanifest.lua`, run `refresh` in the server console before `restart vip_shop`; the manifest is cached otherwise.

**Stuck cursor or lost game input after a resource restart** Handled automatically; the resource releases NUI focus when it stops. If you ever hit it from another cause, open and close the shop once.

**The balance shows but purchases say "purchase failed"** The purchase call could not resolve a character. This typically happens before the player has fully loaded a character. Try again after character selection completes.

## Tebex

**Toast: "TEBEX UNREACHABLE"** A bad or missing public token, or the store has no packages. The shop falls back to the demo catalog. Fix `vipshop_tebex_token` (from Integrations > API Keys) and reopen.

**Coin packs were bought but no coins arrive**

1. `sv_tebexSecret` is missing or wrong, so Tebex cannot run commands on your server.
2. The package has no command, or the command has a typo.
3. "Require player to be online" is off and the player was offline, so the `{sid}` placeholder had nobody to resolve to.

**Checkout demands a Cfx.re login** Your store is the CFX type. In game sales need a Universal store. See [Store Setup](/script-documentation/vip-shop/tebex-integration/store-setup.md).

**My script store packages show up in the shop** They should not: only recognized category names are imported. If you want extra categories, add them to `TEBEX_CATEGORY_MAP` in the UI source.

## Deliveries

**"Your satchel cannot hold this, no coins were taken"** Working as intended: the capacity check blocked the sale. The player must free inventory space.

**Items purchased but nothing arrives** Almost always an item name mismatch with your items database. Cross check the `vorp =` and `rsg =` names in `Config.Catalog`. Some servers use `consumable_water` instead of `water`, for example.

**A horse was purchased but is not at the stable**

1. A custom or renamed stable resource: set `Config.Stables.*.table`.
2. On RSG, `defaultStable` must be a stable id that exists on your server.
3. Some stable UIs need to be reopened, or the horse set active, before new arrivals appear.

**Gold arrives as cash on RSG** This is the expected fallback: RSG has no default gold wallet, so `bloodmoney` is tried first, then cash. Point the `gold` delivery at an `item` or `command` if your server has a gold currency.

## Memberships

**The discount is not applying** `vipshop_setmembership` must have run for that wallet. Check with `exports.vip_shop:GetMembershipTier(src)` or look at the `vipshop_memberships` table. Remember the wallet is per character by default; the membership belongs to the character who was online when Tebex delivered it.

**A membership vanished after a month** The day window (`35`) lapsed without a renewal command. Check the Tebex subscription's renewal commands, and that the player logs in within the window.

## Still stuck?

Run through the [installation smoke test](/script-documentation/vip-shop/getting-started/installation.md#5-smoke-test). It isolates which layer (UI, RPC, framework or Tebex) is failing, and every failure above maps to one of its steps.
