> ## Documentation Index
> Fetch the complete documentation index at: https://docs.roadshop.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Common Issues

> Quick fixes for common errors with RoadShop scripts

Use this page to quickly resolve typical RoadPhone/FiveM issues. Links below take you to the official resources for downloads and guides.

<AccordionGroup>
  <Accordion title="Error parsing script / Failed to load script" icon="code">
    Your server build is probably out of date. Update to build **17000 or higher**.

    <Card title="FiveM Server Artifacts" icon="download" href="https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/">
      Download the latest Windows server builds
    </Card>
  </Accordion>

  <Accordion title="Failed to verify protected resource" icon="shield">
    Uploading via some tools can corrupt or skip hidden files.

    <Steps>
      <Step title="Re-upload Files">
        Use a reliable SFTP client like [WinSCP](https://winscp.net)
      </Step>

      <Step title="Include Hidden Files">
        Ensure hidden files are included during upload
      </Step>

      <Step title="Verify Upload">
        Check that a file named `.fxap` exists on your server after upload
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="You lack the required entitlement to use roadphone" icon="lock">
    Try the following solutions:

    <Steps>
      <Step title="Restart Server">
        **Restart** your server completely
      </Step>

      <Step title="Verify License Key">
        Make sure your **server license key** is valid and correct
      </Step>

      <Step title="Check Account">
        If you purchased the resource on the wrong account, **transfer it** to the correct Keymaster account
      </Step>

      <Step title="ZAP-Hosting Users">
        Follow the [ZAP FiveM License Key Guide](https://zap-hosting.com/guides/de/docs/fivem-licensekey/)
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="How do I give myself or others permission to approve music?" icon="shield-check">
    Songs that players submit through the Music app have to be approved before they land in the library. The approval permission is handed out in-game — the command depends on the script:

    | Script                              | Command                     |
    | ----------------------------------- | --------------------------- |
    | RoadPhone Pro / RoadPhone / RoadPad | `/music-verify PLAYERID`    |
    | RoadCarPlay                         | `/carmusic-verify PLAYERID` |

    * The command **toggles**: no permission → grants it, already has it → revokes it
    * `PLAYERID` is the **server ID** of the player (visible in the player list / txAdmin)
    * Only administrators can run the command
  </Accordion>

  <Accordion title="My Music Library is empty — what do I do?" icon="music">
    A fresh library only fills up once songs have been **submitted and approved**. Work through this checklist:

    <Steps>
      <Step title="Add songs through the Music app">
        Players submit songs directly in the app. They land in the pending queue first, not in the library.
      </Step>

      <Step title="Approve the pending songs">
        Someone with the music approval permission (see above) has to approve them. Once approved, they show up in the library for everyone.
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="xSound error" icon="volume-2">
    <Warning>
      Ensure you have **only one** xSound resource running
    </Warning>

    * Use the **xSound version** that comes with your RoadPhone download
    * Remove any other xSound versions from your server

    <Frame>
      <img src="https://r2.fivemanage.com/72cdX4S6uW7YY845UQgsA/imagtzjztztktze(2).png" alt="xSound error log example" className="rounded-lg" />
    </Frame>
  </Accordion>

  <Accordion title="Blackscreen (FaceTime / LiveStream)" icon="video">
    If you get a black screen in **FaceTime** or **LiveStream**, try:

    <Steps>
      <Step title="Try Again">
        Sometimes it fails on first attempt - try again
      </Step>

      <Step title="Clear Cache">
        **Clear your FiveM cache**
      </Step>

      <Step title="Allow Permissions">
        When prompted in-game, allow **microphone** and **screen capture**
      </Step>

      <Step title="Check Firewall">
        Temporarily **disable Windows Firewall** to test
      </Step>
    </Steps>

    <Info>
      Also check for **network/firewall** restrictions that could block peer connections. WebRTC depends on specific ports and protocols; some setups may block them.
    </Info>
  </Accordion>

  <Accordion title="server needs to be 13227 or higher" icon="server">
    <Steps>
      <Step title="Check TxAdmin Version">
        In **TxAdmin**, check the version shown on the main page (bottom-left). If correct, continue.
      </Step>

      <Step title="Open Manifest File">
        Open `roadphone/fxmanifest.lua`
      </Step>

      <Step title="Find Version Line">
        Press <kbd>Ctrl</kbd> + <kbd>F</kbd> and search for `/server:13227`
      </Step>

      <Step title="Remove Line">
        Delete or comment out that line
      </Step>

      <Step title="Restart">
        Save the file and **restart your server**
      </Step>
    </Steps>
  </Accordion>

  <Accordion title="Yaca Voice Plugin - SaltyChat Error" icon="mic">
    <Warning>
      Getting a SaltyChat error while using the Yaca Voice Plugin?
    </Warning>

    <Steps>
      <Step title="Open Configuration File">
        Navigate to `config/shared.json5` in Yaca Voice Plugin folder
      </Step>

      <Step title="Search for Setting">
        Press <kbd>Ctrl</kbd> + <kbd>F</kbd> and search for `"saltyChatBridge"`
      </Step>

      <Step title="Enable Bridge">
        Change the value from `false` to `true`
      </Step>

      <Step title="Save and Restart">
        Save the file and **restart your server**
      </Step>
    </Steps>

    <Info>
      This enables the SaltyChat bridge in Yaca, resolving the error.
    </Info>
  </Accordion>
</AccordionGroup>
