Troubleshooting
Common issues, validation steps, and integration checks for oxide-blackmarket.
Common issues and current fixes for oxide-blackmarket.
Dealer Not Spawning
Symptoms:
- no dealer exists in the world
/dealerstatusreports no active dealer
Checks:
- Verify load order:
ensure ox_lib
ensure o-link
ensure oxide-blackmarket
- Verify OneSync is enabled:
set onesync on
- Enable debug logging and watch for:
[oxide-blackmarket] Resource starting...
[oxide-blackmarket] Initializing dealer...
[oxide-blackmarket] ERROR: Failed to create dealer ped
- Use
/relocatedealerafter fixing config or dependency issues.
Dealer Exists but Players Cannot See It
Checks:
- Confirm the server logged the spawn and net ID broadcast.
- Confirm no other resource is interfering with culling or deleting the ped.
- Re-stream the area by moving away and back.
- Restart the resource after confirming OneSync is actually on.
The resource sets a large culling radius automatically, so most visibility failures are OneSync or external-entity issues.
Shop Will Not Open
Checks:
- Confirm your
o-linktarget integration is working elsewhere on the server. - Confirm the dealer has not been damaged, killed, arrested, or relocated mid-test.
- Confirm the player is close enough to the dealer.
- Check F8 for NUI errors and make sure
html/index.html,html/js/app.js, andhtml/css/style.cssare present.
Purchases or Sales Fail
Checks:
- Verify dirty-money setup:
- account mode requires a valid account in
Config.DirtyMoney.account - item mode requires a valid item in
Config.DirtyMoney.item
- Verify the player has enough money or enough items.
- Verify the inventory can accept purchased items or cash items in item mode.
- Verify the item exists in your inventory resource and, for sales, in
Config.SellableItems. - Verify the dealer still exists and the player remains within range.
Wrong Items Show in the Shop
Checks:
- Verify the player's current rep:
/checkblackmarketrep [playerId]
- Verify
Config.EnableTiers. - Verify the item list in
shared/items.luamatches the actual items installed on your server. - Remember that disabling tiers exposes all buy tiers to everyone.
Pager Does Not Work
Checks:
- Verify
blackmarket_pagerexists in your inventory item registry. - Verify the dealer is active.
- Verify the player is Tier 2 or higher unless you changed the logic in code.
- Verify the pager is not still on cooldown.
If the item exists but using it does nothing, your o-link framework adapter may not be registering usable items correctly.
Tier 4 Pager Gives GPS but No Phone Message
This is usually an olink.phone issue, not a blackmarket issue.
Checks:
- Confirm your
o-linkphone module is configured for the phone resource your server runs. - Confirm the player is actually Tier 4.
- Check server logs for phone integration errors.
This path is wrapped in pcall, so even if phone delivery fails the waypoint and fallback GPS notification should still work.
Police Cannot Surrender or Arrest the Dealer
Checks:
- Verify the officer's job name is included in
Config.PoliceJobs. - Verify the officer is aiming within
Config.AimSurrenderDistance. - Verify the dealer has not already broken out or become hostile.
- For arrests, verify the officer is close enough and the target is still the active dealer.
The server validates job, dealer net ID, dealer state, and proximity, so client-side prompts alone are not enough.
Hit Squad Does Not Spawn
Checks:
- Verify
Config.HitSquadEnabled = true. - Verify the dealer death was valid and not rejected by server-side checks.
- Verify the player reporting the death was actually close enough to the dealer.
- Enable debug mode and look for dealer death processing logs.
The resource tries to target the last player tracked by weaponDamageEvent. If that data is missing, it falls back to the valid death reporter.
Loot Bag Does Not Appear or Cannot Be Collected
Checks:
- Verify
Config.LootDropEnabled = true. - Verify the death was processed successfully on the server.
- Verify the player is within 5 meters when collecting.
- Verify another player did not collect it first.
Loot contents are stored server-side, so a visible bag with no reward usually means collection failed validation or the loot was already consumed.
Banking Deposits Do Not Happen
Officer arrest cash uses olink.money, but department deposits use olink.banking.
Checks:
- Confirm your
o-linkbanking module supportsAddAccountMoney. - Confirm the target account name exists for your police department.
- Check server logs for the warning about failed police society deposits.
The arrest still completes even if department deposit fails.
High Log Volume or Performance Concerns
Checks:
- Turn off debug mode in production:
Config.Debug = false
- Reduce
Config.BlipDetectionRangeif discovery checks feel noisy. - Increase
Config.FleeCheckIntervalorConfig.HitSquadCheckIntervalif you want less frequent AI checks. - Review large custom
Config.Locationssets for bad pathing spots that create AI churn.
Debug Logging
Debug prefix:
[oxide-blackmarket]
Useful areas covered by debug logs:
- resource startup
- dealer spawn and despawn
- pager use and result flow
- shop requests and transactions
- stock changes
- rep changes
- loot generation and collection
- dealer death handling
Next Steps
Support
Need more help?
- Discord: https://discord.gg/dZ6q8FyGhm
- Website: https://www.oxidestudios.dev/
- o-link (required abstraction layer): https://github.com/WHEREISDAN/o-link