Skip to content

Troubleshooting

The handful of things that go wrong twice, and the answers that are not obvious.


restart does not re-read fxmanifest.lua. If you added a file, refresh first:

refresh
restart mic_phone

Without it the server carries on with the file list it had, and a new file simply is not there. This is FiveM rather than the phone, and it has cost everybody an hour at least once.

The phone will not open, and nothing is in the console

Section titled “The phone will not open, and nothing is in the console”

Almost always the inventory, and almost always right after restarting it.

Restarting ox_inventory while people are connected wedges their client. invBusy stays true and every search hangs for ever, so the phone asks “is there a phone in this pocket” and never gets an answer.

Restart it a second time. The first restart is the one that breaks the connected client and the second is the one it survives. Nobody has to reconnect, and clearing the state bag by hand is not enough.

Otherwise, in order:

  • Is the item in Config.Open.Item the one your inventory actually has?
  • Is Config.Open.RequireItem on for a server whose players do not carry one? Turning it off is the quickest way to find out whether the item is the problem.
  • Is the battery on and flat? Config.Battery.Dead refuses to open below its level.

The phone puts itself away while I am playing

Section titled “The phone puts itself away while I am playing”

That is shared/config/restrict.lua, and every rule in it has a switch. The two that surprise people:

  • Falling — the game counts stepping off a kerb as falling. Falling.Height is the metres of air under you before it counts; it ships at 8, which is about a six metre drop.
  • Climbing — the game counts lowering yourself off a wall as climbing. Climbing.After is the seconds before it counts; it ships at 1.0, which a parkour hop never reaches and a ladder always does.

Config.Restrict.Tell.OnClose decides whether it says so when it happens. It is off: you are already looking at the thing that took the phone out of your hand.

The phone does not carry voice; it puts the two people in a channel and lets your voice resource do it. pma-voice, mumble-voip, SaltyChat and TokoVoip are detected on their own — if none of them is running, calls connect and nobody hears anything.

shared/server_config.lua decides where a picture goes. Two things break it quietly:

  • A Fivemanage token that is not for this server, or a Discord webhook that has been deleted.
  • A host that is not in Hosts. The server only accepts URLs back from the addresses listed there, which is what stops a client handing the gallery a link to anywhere it likes.

In order: is it off in Config.AppList? Is it restricted to a job with Jobs or NotJobs? Is it a Boss = true app and does the framework think this player runs a business? Is it in a folder — drag one icon onto another and you will have made one.

The App Library, from the Home Screen’s edit button, lists everything that exists and is not on a page.

The browser phone needs a certificate, and the resource fetches its own. The certificate covers the cases the short guide does not — the usual one is a port that is not open, or a DuckDNS name that has not updated since your address changed.

Config.Locale is the default, and each player can choose their own in Settings — which the notifications outside the phone follow too. Two languages ship complete; the rest fall back to English string by string rather than breaking, so a half-finished language shows what it has.