# Managing Stations

On this page, we will explain how you can **edit** or **create** a new custom location for your server. You can do this in your `Config.lua` file and `Config.Stations` table.

***

## 1. Location Structure

Each location consists of only **3 coordinates** and 3 **values**. This is possible because the system calculates the rest of the needed coordinates automatically, based on the origin points of the objects listed below.

<pre class="language-lua" data-title="Example of Station"><code class="lang-lua"><strong>{
</strong>    cable = vec3(175.11, -1738.57458, 33.186),
    nozzle = vec3(174.521362, -1741.59753, 29.78719),
    nozzleRot = vec3(0.0, 45.0, 0.0),
    interface = vec3(177.0171, -1741.91028, 29.8663769),
    interfaceRot = vec3(0.0, 0.0, -90.0),
    cableLength = 5.0  -- Optional. Default is 5.0
    radius = 3.0,
    price = 10,
    requiredJob = nil,
}
</code></pre>

***

{% tabs %}
{% tab title="Cable" %}
Coordinates of the **hose mount point** (bearing). This is the part of the model:<br>

<figure><img src="/files/eUvhKwuk61vS6RbGNNrp" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Nozzle" %}
Coordinates of the **resting position of the lance**. This is where players pick up the lance:

<figure><img src="/files/TpoUfsrEA1U7zuk1I4ZG" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Interface" %}
Coordinates of the **interface point**. This is where players **pay** and **start** the car wash:

<figure><img src="/files/21cdpNZAPEsIQf5Lbqnl" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Radius" %}
Defines how far from the **cable origin point** the hose should be attached. For the default model, this value is always: `3.0`
{% endtab %}

{% tab title="cableLength" %}
Defines the **length of the hose in meters** connecting the mount to the lance. Useful if the mount is **higher than 3.5m** above the lance. This prevents the hose from looking like a stiff line and instead simulates **gravity** in the hose physics.
{% endtab %}

{% tab title="Price" %}
The cost in dollars that a player must pay to wash their vehicle.
{% endtab %}
{% endtabs %}

### Required Job

Requires a **string value**. This defines which **server job** can use the lance. If set to `nil`, then **everyone** on the server can use it.

***

## 2. Adding a New Location

To add a new car wash location:

1. Copy the template below.
2. Paste it into the `Config.Stations` table in your config.
3. Fill in the coordinates according to the instructions above.

```lua
{
    cable = vec3(),
    nozzle = vec3(),
    nozzleRot = vec3(),
    interface = vec3(),
    interfaceRot = vec3(),
    radius = 3.0,
    cableLength = 5.0  -- Optional. Default is 5.0
    price = 10,
    requiredJob = nil,
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.17movement.net/vehicle-dirt-system/managing-stations.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
