Skip to content

SimC CLI Reference

The app invokes SimC with two arguments:

Terminal window
simc /path/to/input.simc json2=/path/to/output.json

These are set in the generated .simc file (not as CLI arguments):

FlagDescriptionDefault
fight_styleEncounter typePatchwerk
max_timeFight duration (seconds)300
vary_combat_lengthDuration variance (fraction)0.2
iterationsSimulations per combination10000
threadsCPU threads to usecpu_count - 1
target_errorStop when error < N% (alternative to iterations)
process_priorityOS process prioritybelow_normal
outputSuppress text outputnul (Win) / /dev/null (Mac)
json2JSON output file pathRequired
profileset_work_threadsThreads per profileset worker2
{
"sim": {
"players": [{
"collected_data": {
"dps": {
"mean": 841871.5,
"std_dev": 12345.6,
"mean_std_dev": 123.4
}
}
}]
}
}
{
"profilesets": {
"results": [
{
"name": "combo_0001",
"mean": 854321.2,
"stddev": 12456.7,
"mean_stddev": 124.5,
"min": 750000.0,
"max": 950000.0,
"median": 853000.0
}
]
}
}
CodeMeaning
0Success (no warnings)
1Success with warnings OR actual failure
# Base profile
shaman="Thrall"
# ... full character profile ...
# ProfileSet entries
profileset."combo_0001"=trinket1=,id=225652,bonus_id=...
profileset."combo_0002"=finger1=,id=229379,bonus_id=...,enchant_id=7340
profileset."combo_0003"=trinket1=,id=225652,bonus_id=...
profileset."combo_0003"+=finger1=,id=229379,bonus_id=...,enchant_id=7340

Rules:

  • 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

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.