> For the complete documentation index, see [llms.txt](https://docs.vames-store.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.vames-store.com/assets/vms_garagesv2/installation.md).

# Installation

## 1. Download Resource

Download the purchased resource from [**CFX Portal**](https://portal.cfx.re/assets/granted-assets) - the official site of FiveM with purchased resources.

***

## 2. Import Database Tables

This is a very important step - without it, the script will not work properly.\
**Paste the SQL code into your database**.

{% hint style="warning" %}

## Not sure how to do it?

No worries - we've prepared a short guide that shows you step by step how to import an SQL file into your database:\
👉 [**Click here to view the tutorial.**](/helpful/basic-server-knowledge/how-to-import-sql-to-database.md)
{% endhint %}

{% hint style="warning" %}
If you currently have an owned\_vehicles table in your database, maybe your legacy garage system is compatible with vms\_garagesv2 [Broken mention](broken://pages/5FHx5EwVt1z9DN8iGAoM) system.
{% endhint %}

<details>

<summary>owned_vehicles</summary>

If you want to create a new table:

```sql
CREATE TABLE IF NOT EXISTS `owned_vehicles` (
  `owner` varchar(80) DEFAULT NULL,
  `company` varchar(50) DEFAULT NULL,
  `gang` varchar(50) DEFAULT NULL,
  `plate` varchar(8) DEFAULT NULL,
  `vin` varchar(17) DEFAULT NULL,
  `netid` int(11) DEFAULT NULL,
  `milage` int(11) DEFAULT NULL,
  `vehicle` longtext DEFAULT NULL,
  `type` varchar(50) NOT NULL DEFAULT 'vehicle',
  `position` longtext DEFAULT NULL,
  `garage` varchar(50) DEFAULT NULL,
  `garageSpotID` int(11) DEFAULT NULL,
  `parking_date` int(11) DEFAULT NULL,
  `impound_date` int(11) DEFAULT NULL,
  `impound_data` longtext DEFAULT NULL,
  `insurance` longtext DEFAULT NULL,
  `tuning_data` longtext DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
```

If you want to add the required columns to the current table:

```sql
ALTER TABLE `owned_vehicles`
    ADD COLUMN `type` varchar(50) NOT NULL DEFAULT 'vehicle',
    ADD COLUMN `company` varchar(50) DEFAULT NULL,
    ADD COLUMN `gang` varchar(50) DEFAULT NULL,
    ADD COLUMN `vin` varchar(17) DEFAULT NULL,
    ADD COLUMN `netid` int(11) DEFAULT NULL,
    ADD COLUMN `milage` int(11) DEFAULT NULL,
    ADD COLUMN `position` longtext DEFAULT NULL,
    ADD COLUMN `garage` varchar(50) DEFAULT NULL,
    ADD COLUMN `garageSpotID` int(11) DEFAULT NULL,
    ADD COLUMN `parking_date` int(11) DEFAULT NULL,
    ADD COLUMN `impound_date` int(11) DEFAULT NULL,
    ADD COLUMN `impound_data` longtext DEFAULT NULL,
    ADD COLUMN `insurance` longtext DEFAULT NULL
;
```

</details>

<details>

<summary>parkings</summary>

```sql
CREATE TABLE IF NOT EXISTS `parkings` (
  `owner` varchar(100) DEFAULT NULL,
  `ownerName` varchar(220) DEFAULT NULL,
  `parking` varchar(200) NOT NULL,
  `space` int(11) NOT NULL DEFAULT 0,
  `time` bigint(20) NOT NULL DEFAULT 0
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
```

</details>

<details>

<summary>vms_business</summary>

**if you are not using vms\_stores/vms\_tuning/vms\_vehicleshopv2, you should create this table:**

```sql
CREATE TABLE IF NOT EXISTS `vms_business` (
  `id` varchar(50) NOT NULL DEFAULT '',
  `type` varchar(50) NOT NULL DEFAULT '',
  `owner` mediumtext DEFAULT NULL,
  `employees` longtext DEFAULT '{}',
  `stock` longtext DEFAULT '{}',
  `data` longtext DEFAULT '{}',
  `announcements` longtext DEFAULT '{}',
  `orders` longtext DEFAULT '{}',
  `history` longtext DEFAULT '{}'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;
```

#### If you already have vms\_business table, but you don't have history column in your table, you have to import it using this query:

```sql
ALTER TABLE `vms_business` ADD COLUMN `history` longtext DEFAULT '{}';
```

</details>

***

## 3. Environment Requirements

{% stepper %}
{% step %}

### Gamebuild

Ensure your game build is at least 3095 for compatibility and optimal resource functionality.

Go to your **server.cfg** and then enter the following line, or if you already have lower game build, set this one.

```clike
sv_enforceGameBuild 3095
```

{% endstep %}
{% endstepper %}

***

## 4. Start Resource

To start a resource in your `server.cfg`, ensure that it begins after your framework has been initiated. For instance, if you are using a framework like `es_extended`, you should start resource after it, like so:

```python
start [core] # For example, here is your framework (esx/qb-core)

# Here you run your other resources like esx_policejob etc.

# VMS Resources
start vms_garagesv2
```

Ensure there are no syntax errors or incorrect paths in your `server.cfg`.
