> For the complete documentation index, see [llms.txt](https://code-after-sex.gitbook.io/script-documentation/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://code-after-sex.gitbook.io/script-documentation/cas-advanced-taxi-job/server-config.md).

# Server settings

CAS Advanced Taxi Job server settings in config\_server.lua, the Discord log, staff commands and their ace permissions.

`config_server.lua` is read only by the server. Players never receive these values.

## Discord log

```lua
ConfigServer.Webhook = {
    Url = '',
    Name = 'Tremont Cab & Motor Co.',
    Events = { Shift = true, Unpaid = true, Teleport = true, Admin = true },
}
```

| Setting           | Description                                                                                 |
| ----------------- | ------------------------------------------------------------------------------------------- |
| `Url`             | A Discord webhook URL. Empty sends nothing.                                                 |
| `Name`            | The name the log posts under.                                                               |
| `Events.Shift`    | A shift ends: driver, cab, reason, fares, take and the deposit paid back.                   |
| `Events.Unpaid`   | A player passenger could not pay the whole fare: driver, passenger, fare and what was paid. |
| `Events.Teleport` | A cab jumped during a fare. That fare paid no tip and did not count towards the rank.       |
| `Events.Admin`    | A staff test command was used.                                                              |

The log sends at most one message per second and never pings anyone: names and notes cannot mention `@everyone` or a role.

## Staff commands

| Command         | What it does                                                                                                                                                                                            | Needs                                      |
| --------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------ |
| `/taxipoint`    | Prints your position and heading as a `vector4` in the server console and shows it to you. For recording office coordinates.                                                                            | ace `command.taxipoint`                    |
| `/taxiclerk`    | Puts the office clerk where you stand (within 40 m of an office), facing the way you face, and moves the counter prompt in front of him.                                                                | ace `command.taxiclerk`                    |
| `/taxitp`       | Teleports you to the counter of the first cab office.                                                                                                                                                   | `Debug = true` and ace `command.taxitp`    |
| `/taxicall`     | Puts a call on the wire for you `ConfigServer.CallDelaySec` (10) seconds later, so its note is gone before the telegram shows (on shift, flag up).                                                      | `Debug = true` and ace `command.taxicall`  |
| `/taxirank 1-4` | Sets your rank.                                                                                                                                                                                         | `Debug = true` and ace `command.taxirank`  |
| `/taxiinfo`     | Shows your shift and fare state.                                                                                                                                                                        | `Debug = true` and ace `command.taxiinfo`  |
| `/taxireset`    | Ends your shift now, with the full deposit back and the cab removed.                                                                                                                                    | `Debug = true` and ace `command.taxireset` |
| `/taxidemo`     | For filming: fills the dispatch board with calls of every kind and the week's best drivers list with sample drivers. The calls stay on the board and do not ring the wire. `/taxidemo off` clears them. | `Debug = true` and ace `command.taxidemo`  |

```lua
ConfigServer.ClerkCommand = 'taxiclerk'
ConfigServer.PointCommand = 'taxipoint'
ConfigServer.CallDelaySec = 10
ConfigServer.Debug = false
ConfigServer.Commands = { Tp = 'taxitp', Call = 'taxicall', Rank = 'taxirank', Info = 'taxiinfo', Reset = 'taxireset', Demo = 'taxidemo' }
```

Rename any command here. With `Debug = false` the test commands are not registered at all. Keep it `false` on a live server.

## Permissions

The commands are restricted. Give them to your staff group in `server.cfg`:

```cfg
add_ace group.admin command.taxipoint allow
add_ace group.admin command.taxiclerk allow
add_ace group.admin command.taxitp allow
add_ace group.admin command.taxicall allow
add_ace group.admin command.taxirank allow
add_ace group.admin command.taxiinfo allow
add_ace group.admin command.taxireset allow
add_ace group.admin command.taxidemo allow
```

`/taxi` for passengers needs no permission. It is set in `Config.Calls.Command`.
