> For the complete documentation index, see [llms.txt](https://baobab-interactive.gitbook.io/baobab-interactive-docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://baobab-interactive.gitbook.io/baobab-interactive-docs/hotshot-trucking-simulator/saved-data-and-resets.md).

# Saved Data and Resets

## What persists

Hot-Shot uses **server resource KVP storage** for driver progression, perks/career, saved trailer condition, and recent paperwork.

It does not ship a Hot-Shot SQL table or a player-save JSON file inside the resource folder. Backing up the folder alone does not back up player progress.

Standalone identities prefer `license2`, then `license`, with the existing identifier fallback. Framework character scope uses a framework-namespaced character identity. License scope shares a license-based profile.

Keep resource names and identity settings stable. Changing them does not automatically migrate previous saves.

Active jobs and spawned equipment scenes are temporary and do not resume across a resource/server restart.

## Guide preferences

First-job guide visibility is stored in client resource KVP under `hotshot:first-job-guide:v1`, separately from server career data. It is shared across characters on that client. A server progress/full reset does not clear this preference; use **First-job guide** or **Replay guide** in dispatch to show guidance again.

## Reset scopes

| Mode       | Clears                                                                         | Keeps                                                                        |
| ---------- | ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------- |
| `progress` | XP/level, allocated perks, achievements, career statistics, and driver history | Saved trailer condition and paperwork                                        |
| `full`     | Progress plus saved trailer condition and that driver's paperwork              | Framework balances, inventory, personal vehicles, and other players' records |

A full reset is not a repair of a currently spawned trailer. Other players' copies of inspection reports are not deleted.

## Reset an online player

The target must be online and fully loaded, with no active contract, DOT session, checked-out equipment, or pending equipment/service work.

{% stepper %}
{% step %}

## Preview the reset

From a trusted server/txAdmin console:

```
hotshotreset 1 progress
```

Replace `1` with the current server ID. Use `full` for the broader scope.
{% endstep %}

{% step %}

## Confirm the reset

The first command only previews the operation. Check the player and scope, then copy the exact generated confirmation command within 60 seconds:

```
hotshotreset confirm <generated-code>
```

The code is single-use and belongs to the requesting administrator/console. Identity, permission, and busy-state checks run again at confirmation. There is no offline-identifier input or reset-everyone wildcard.
{% endstep %}
{% endstepper %}

## In-game reset permission

Console access does not need a framework or extra Hot-Shot ACE. In-game commands require the dedicated `hotshot.admin.reset` permission.

Example grant to an existing trusted administrator group:

```cfg
add_ace group.admin hotshot.admin.reset allow
```

Being a trucker or DOT inspector does not grant reset access. Use the leading slash for the in-game command.

Set the command with `Config.AdminReset.command` and its dedicated permission with `Config.AdminReset.permission`.

## Backups and recovery

Before deletion, the reset saves and verifies a raw KVP snapshot under `hotshot:reset-backup:<resolved identity>`. Only the latest reset backup for that identity is retained.

The reset logs its backup key to the server console. This is KVP data, not a file inside the script. Do not delete the shared server database to reset one player.

Multi-key reset operations are not crash-atomic. Failed deletion attempts restore original records where possible. There is no public restore command; if recovery cannot be verified, preserve the backup and have the operator restore selected records with the resource stopped.

After success, reopen dispatch and check the profile. Reconnect or restart during maintenance to verify persistence.
