SimC CLI Reference
Invocation
Section titled “Invocation”The app invokes SimC with two arguments:
simc /path/to/input.simc json2=/path/to/output.jsonKey Flags
Section titled “Key Flags”These are set in the generated .simc file (not as CLI arguments):
| Flag | Description | Default |
|---|---|---|
fight_style | Encounter type | Patchwerk |
max_time | Fight duration (seconds) | 300 |
vary_combat_length | Duration variance (fraction) | 0.2 |
iterations | Simulations per combination | 10000 |
threads | CPU threads to use | cpu_count - 1 |
target_error | Stop when error < N% (alternative to iterations) | — |
process_priority | OS process priority | below_normal |
output | Suppress text output | nul (Win) / /dev/null (Mac) |
json2 | JSON output file path | Required |
profileset_work_threads | Threads per profileset worker | 2 |
json2 Output Structure
Section titled “json2 Output Structure”Base Profile DPS
Section titled “Base Profile DPS”{ "sim": { "players": [{ "collected_data": { "dps": { "mean": 841871.5, "std_dev": 12345.6, "mean_std_dev": 123.4 } } }] }}ProfileSet Results
Section titled “ProfileSet Results”{ "profilesets": { "results": [ { "name": "combo_0001", "mean": 854321.2, "stddev": 12456.7, "mean_stddev": 124.5, "min": 750000.0, "max": 950000.0, "median": 853000.0 } ] }}Exit Codes
Section titled “Exit Codes”| Code | Meaning |
|---|---|
| 0 | Success (no warnings) |
| 1 | Success with warnings OR actual failure |
ProfileSet Syntax
Section titled “ProfileSet Syntax”# Base profileshaman="Thrall"# ... full character profile ...
# ProfileSet entriesprofileset."combo_0001"=trinket1=,id=225652,bonus_id=...profileset."combo_0002"=finger1=,id=229379,bonus_id=...,enchant_id=7340profileset."combo_0003"=trinket1=,id=225652,bonus_id=...profileset."combo_0003"+=finger1=,id=229379,bonus_id=...,enchant_id=7340Rules:
- First line for a combo uses
= - Additional lines use
+= - Names must be unique, enclosed in double quotes
- Only include lines that differ from the base profile
Temp File Strategy
Section titled “Temp File Strategy”The app creates two temp files per simulation:
{uuid}.simc— the input file{uuid}.json— the json2 output
Both are cleaned up after the simulation completes (or fails), using all exit paths.