Hosting Guides

Conan Exiles Database Maintenance and Mod Orders via AMP

9 min readWindowsAMPUnreal
Once your server is online, jump to the Conan Exiles command and config reference.

Conan Exiles persists every placeable, every thrall, and every chest into a single SQLite database (game.db). On a server with 100 active players, that file routinely exceeds 8 GB after a month, at which point world load times stretch past 5 minutes and ping spikes correlate with every database write. Database maintenance is not optional for a long lived Conan server. This guide uses CubeCoders AMP on Windows Server to schedule a weekly VACUUM and integrity check, plus a locked modlist.txt that prevents Steam Workshop from reordering mods after an update.

Prerequisites

  • Windows Server 2022, 16 GB RAM, 6 CPU cores, SSD storage.
  • An AMP license that includes the Conan Exiles module.
  • The official SQLite command line tools (sqlite3.exe) installed in C:\\tools\\sqlite\\.
  • UDP 7777, 7778, and 27015 open at the Windows firewall.

Step 1: Create the Instance

  • Module: Conan Exiles. Memory: 12288 MB. CPU affinity: cores 2 through 5.
  • SteamCMD app ID 443030.

Step 2: Strict Mod Load Order

Conan loads mods in the exact order listed in ConanSandbox/Mods/modlist.txt. The Steam client rewrites this file when the user clicks Subscribe, so on a server you must own the file and make it read only after edits. The order matters: framework mods (Pippi, Improved Quality of Life) must load before content mods that depend on them.

ConanSandbox/Mods/modlist.txt
*880454836.mod
*1369743238.mod
*1159180273.mod
*1843102056.mod
*2128642958.mod
PowerShell (admin)
# Make the file read only after every confirmed edit
attrib +r "C:\AMP\Instances\ConanExiles01\ConanSandbox\Mods\modlist.txt"

Step 3: Database Maintenance Script

VACUUM rebuilds the SQLite file from scratch, reclaiming pages freed by deleted thralls, decayed buildings, and looted chests. Integrity check catches corruption before it cascades. Both must run with the server stopped, because SQLite locks the file during writes.

C:\\AMP\\scripts\\db-maintenance.ps1
$ErrorActionPreference = "Stop"
$db = "C:\AMP\Instances\ConanExiles01\ConanSandbox\Saved\game.db"
$sqlite = "C:\tools\sqlite\sqlite3.exe"
$backup = "C:\AMP\Backups\game-$(Get-Date -Format 'yyyyMMdd-HHmm').db"
Copy-Item $db $backup
& $sqlite $db "PRAGMA integrity_check;" | Tee-Object -FilePath "C:\AMP\Logs\integrity.log"
& $sqlite $db "VACUUM;"
& $sqlite $db "ANALYZE;"
Get-ChildItem "C:\AMP\Backups" -Filter "game-*.db" |
Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } |
Remove-Item -Force

Step 4: Wire the AMP Task Chain

Weekly maintenance window: warn, stop, vacuum, restart. AMP's Scheduler handles all of it.

  • Trigger: Every Sunday at 05:00.
  • Action 1: Send message Weekly maintenance in 10 minutes, please log off.
  • Action 2: Wait 10 minutes.
  • Action 3: Stop instance.
  • Action 4: Run external program powershell.exe with arguments -File C:\\AMP\\scripts\\db-maintenance.ps1.
  • Action 5: Start instance.

Step 5: Verify the First Run

C:\\AMP\\Logs\\integrity.log
# A healthy database returns exactly one line:
ok
# If you see anything else, restore from the most recent backup before VACUUM.

Performance and Tuning

  • Run VACUUM weekly, not daily. The operation rewrites the entire file and is heavy on SSD wear.
  • Keep at least 30 days of backups. Conan corruption events are sometimes invisible for several days.
  • Lock modlist.txt read only. The single most common cause of "server boots into wrong mod state" is the Steam client overwriting it.

Conclusion

Conan Exiles will run for years on the same database file, as long as it gets a weekly vacuum and the mod list is treated as a versioned config file rather than something Steam can rewrite at will. AMP's scheduler turns both into background chores.