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

# Installation

> Install FA Shop Robbery and its bundled minigames on your FiveM server.

Install both folders included in your download. `fa_shoprobbery` contains the robbery logic. `fa_minigames` provides the bundled keypad and drill interfaces.

## Before you begin

You need:

* A valid Cfx.re Asset Escrow entitlement
* `ox_lib` version 3.30.6 or later
* One supported framework or standalone mode
* An inventory that contains every configured item

<Note>
  Asset Escrow does not require the folder to be named `fa_shoprobbery`. Keep the distributed name if you want the documented `ensure` lines and integrations to work unchanged. If you rename it, update `server.cfg` and every external export or integration that uses the old name.
</Note>

## Install the resources

<Steps>
  <Step title="Download your assets">
    Sign in with the Cfx.re account that owns the resource. Download the package from [Granted Assets](https://portal.cfx.re/assets/granted-assets).
  </Step>

  <Step title="Extract both folders">
    Place `fa_minigames` and `fa_shoprobbery` next to each other inside your server's resources directory.

    ```text theme={null}
    resources/
    └── [fa-scripts]/
        ├── fa_minigames/
        └── fa_shoprobbery/
    ```
  </Step>

  <Step title="Configure your bridges">
    Open `fa_shoprobbery/config/config.lua`. Review `Config.Framework`, `Config.Inventory`, `Config.Target`, and `Config.Dispatch`.

    ```lua config/config.lua theme={null}
    Config.Framework = 'auto'
    Config.Inventory = 'auto'
    Config.Target = 'auto'
    Config.Dispatch = 'auto'
    ```

    `auto` is the recommended starting point. Select an explicit integration when you need predictable startup validation.
  </Step>

  <Step title="Add required items">
    Add every item referenced by `Config.RequiredItems` and `config/rewards.lua` to your inventory. Default examples include `drill`, `cigarettes`, `lighter`, `scratch_ticket`, `beer`, `rolex`, and `goldbar`.
  </Step>

  <Step title="Set the start order">
    Start dependencies and integrations before the robbery resource.

    ```cfg server.cfg theme={null}
    ensure ox_lib
    ensure ox_target # optional; use your configured target resource
    ensure fa_minigames
    ensure fa_shoprobbery
    ```
  </Step>

  <Step title="Restart and verify">
    Restart the server. Read both the server and client console. Configuration errors use the `[fa_shoprobbery][validator:server]` or `[fa_shoprobbery][validator:client]` prefix.
  </Step>
</Steps>

## First-server-start checklist

* The server and client validators report no configuration errors.
* Only one clerk appears at each configured store.
* Register, shelf, and safe interactions appear.
* The configured minigames open and close correctly.
* Successful loot reaches the configured account or inventory.
* Police receive the expected dispatch alert.
* `/resetstore ltd_grove` works for an authorized administrator.

<Note>
  Static configuration checks cannot confirm paid-resource exports or live FiveM behavior. Test your exact framework, inventory, dispatch, multiplayer flow, and resource restart behavior in-game.
</Note>

Continue with [Configuration](/scripts/shop-robbery/config-preview) or open [Troubleshooting](/scripts/shop-robbery/troubleshooting) if startup fails.
