HeroHunt App: FAQ
Fixes for the most common HeroHunt App problems, from the app missing on the phone and heroes not spawning to catches, Candy and tasks.
Turn on Debug first
With Debug = true, the script prints framework detection, the ownership mode, restored spawns and the heroes
spawned in each round to the console. It is the fastest way to find a problem.
Your server key and the purchase are on different Cfx.re accounts. See Escrow errors.
lb-phone must be running; the app is added a second after lb-phone starts. Look for Failed to add the lb-phone
app in the client console. With App.defaultApp = false, players install it from the App Store first.
The script never became ready or the player has no character loaded. Check the server console for Database setup
failed, the resource will not run and run sql/install.sql by hand. The Ready line must appear on start.
Either Ownership is "account", or the framework was not detected and the script runs standalone, which always
uses the account. With Debug = true, check Framework detected and Ownership in the console and make sure
ensure hype-herohunt-app comes after your framework.
Spawn rounds run every Spawn.SpawnIntervalSeconds, and only while you have fewer than Spawn.TargetPerPlayer
heroes within Spawn.SpawnRadius. Also check:
Spawn.EnabledistrueandSpawn.MaxActiveHeroesis not reached.- You are in routing bucket
Spawn.RoutingBucket(default: 0). Spawn.OnlyAroundAppUsersorSpawn.SkipPlayersInVehiclesdo not exclude you.- You are not inside a
Spawn.Blacklistzone, and the area around you has open ground. Points in water, inside interiors or next to vehicles are rejected, andSpawn.PavementOnlylimits them further. - The console does not print Hero catalog is empty.
Use /herospawn random 5 to test catching right away.
The hero must be inside the circle on the map, within Discovery.Radius meters (default: 100). The server checks
your real position, so walk closer or press Directions to set a waypoint.
Spawns are shared by the whole server and each one can be caught only once. Whoever catches it first gets it.
The hero's catch chance is below 1.0 (catchChance in Rarities or on the hero). Each player has
Capture.MaxAttemptsPerSpawn failed attempts per spawn. With the default config every catch succeeds.
Capture.RequireOnFoot is true. Leave the vehicle, or set it to false.
Candy.AllowSellingLastCopy is false, so one copy of every hero stays in the collection. Set it to true to
allow converting all copies.
The player hit a cooldown: Capture.CooldownMs for catches, Security.ActionCooldownMs for conversions and claims
or Security.ReadCooldownMs for loading a tab.
Only active tasks count: the daily and weekly tasks picked for the current period and all general tasks. Check
the filter, for example a region task counts only heroes that spawned inside that region. Progress is not added
for catches made before the task was active. Completed tasks send a notification, and the reward must be claimed
in the Tasks tab.
That is by design. The pick is based on the date, so all players share the same Tasks.DailyCount daily and
Tasks.WeeklyCount weekly tasks until the next reset at Tasks.ResetHour.
The app could not load lb-phone's map component, which usually means an outdated lb-phone. Update lb-phone. Until then, nearby heroes are listed under the map and can still be caught.
There is no command or export for it in v1.0.0, but the balance is read from the database on every request, so
you can change it there. Add a hero_transactions row with the admin kind to show it as Adjustment in the
player's history. The request_key must be unique per owner.
UPDATE hero_player_data SET candy = candy + 100 WHERE owner = 'ABC12345';
INSERT INTO hero_transactions (owner, request_key, kind, candy_delta)
VALUES ('ABC12345', 'admin:gift-001', 'admin', 100);Add a line to config/heroes.lua with a new id and your images. To remove a hero, set enabled = false instead
of deleting the line. See Heroes.
Yes. Change App.name, App.developer and App.description for the App Store listing, UI.accent for the app
color and Discovery.Area for the map circle. The icon is web/build/icon.svg.
Set setr ox:locale "tr" (or another code) in server.cfg. See Locales.
Download the new version, replace the folder and keep your config/ files and any hero images you added. New
tables are created on their own. Check the changelog for any new options.
Still stuck?
Open a ticket on our Discord and include your console output with Debug = true.