Technical Info for Dominions 5

Illwinter Game Design


This document contains information on the command line options available for Dominions 5 as well as commands to control a network server without using the GUI. If you just want to play Dominions 5, you do not need to read this document.

Command Line Options

The command line options can be entered in Steam’s “Set Launch Options” or provided on the command line if you start Dominions that way.

The most common use for the command line options is to automate some task for a script, or if you have technical problems with the game and need to disable or change some settings before the game starts.

General Options

-v  --version       Print version number and exit
-d                  Increase debug level
-g  --host          Generate new turn and exit
    --verify        Verify all 2h-files and exit (creates .chk files)
    --statfile      Create a player info file after each turn (stats.txt)
    --scoredump     Create a score file after each turn (scores.html)
    --finalhost     Generate new turn, send out final score msg and exit
-c  --nocredits     Disables the end credits
    --noedgescroll  Disables edge scrolling
    --edgescroll    Enables edge scrolling in fullscreen mode
    --winedgescroll Enables edge scrolling always
    --askifplayed   Will ask if you want to redo turn if possible
    --noshowscouts  Do not show allied scouts on map
    --autoorder     Put new mages on research by default
    --multimove     Enable multiple turn movement
    --maxunits X    Sets max nbr of units in a game (default and max 250000)
    --listnations   Prints a list of all nation numbers
    --multiai X     Create up to X processes for AI computations (0=off) (Linux/OSX only)
    --nothread      Don't use multithreading
    --nomappopups   Don't show popups on the main map
    --nosteam       Do not connect to steam (workshop will be unavailable)
    --nocrashbox    Don't show a dialogue box with crash message on (Windows only)

Network Options

-C  --tcpclient     Connect to a Dominions multiplayer server
-S  --tcpserver     Start a Dominions multiplayer server
    --tcpquery      Query Dominions server about game status and exit
    --ipadr XXX     Use this IP-adr when connecting to server
    --port X        Use this port nbr
    --preexec CMD   Execute this command before each new turn
    --postexec CMD  Execute this command after each new turn
-t  --hosttime X Y  Host on day X (0=sunday) hour Y (0-23)
    --minutes X     Set host interval in minutes
    --hours X       Set host interval in hours
    --pauseday X    Stop timer on this day (0=sunday)
    --timeleft X    Hours until first host (default = full host interval)
    --noquickhost   Don't host just because all turns are done
    --maxholdups X  Quickhost disregards players that have stalled last X turns
-n  --nonationsel   No nation selection when resuming a network game
-o  --onserver      I'm playing on the server, don't ask
    --noclientstart Clients cannot start the game during Choose Participants
    --uploadtime X  Game is created after this many minutes.
    --uploadmaxp X  Game is created if this many players join.
    --closed X      Nation closed X=nation number (5-249)
    --easyai X      Nation ai controlled X=nation number (5-249)
    --normai X      Nation ai controlled X=nation number (5-249)
    --diffai X      Nation ai controlled X=nation number (5-249)
    --mightyai X    Nation ai controlled X=nation number (5-249)
    --masterai X    Nation ai controlled X=nation number (5-249)
    --impai X       Nation ai controlled X=nation number (5-249)
    --team X Y Z    X=nation, Y=team, Z=type (type: 1=pretender, 2=disciple)
    --statuspage XX Create html page that shows who needs to play their turn
    --statusdump    Continuously create info on players in a parsable format
    --nodownlmods   Don't download mods from game server automatically
    --nomaster      Disallow download/upload turns using the master password

New Game Options

    --mapfile XXX   Filename of map. E.g.
    --randmap X     Make and use a random map with X prov per player (10,15,20)
    --research X    Research difficulty 0 to 4 (default 2)
    --norandres     No random start research
    --hofsize X     Size of Hall of Fame 5-15 (default 10)
    --globals X     Global Enchantment slots 3-9 (default 5)
    --indepstr X    Strength of Independents 0-9 (default 5)
    --magicsites X  Magic site frequency 0-75 (default 40)
    --eventrarity X Random event rarity 1-2, 1=common 2=rare
    --richness X    Money multiple 50-300 (default 100)
    --resources X   Resource multiple 50-300 (default 100)
    --recruitment X Unit recruitment point multiple 50-300 (default 100)
    --supplies X    Supply multiple 50-300 (default 100)
    --masterpass XX Master password. E.g. masterblaster
    --startprov X   Number of starting provinces (1-9)
    --renaming      Enable commander renaming
    --scoregraphs   Enable score graphs during play
    --nonationinfo  No info at all on other nations
    --nocheatdet    Turns off cheat detection
    --era X         New game created in this era (1-3)
    --nomods        Disable all mods
-M  --enablemod XXX Enable the mod with filename XXX
    --noartrest     Players can create more than one artifact per turn
    --teamgame      Disciple game, multiple players on same team
    --clustered     Clustered start positions for team game
    --nostoryevents Disable all story events
    --storyevents   Enable some story events
    --allstoryevents Enable all story events
    --newgame       Create a new game and exit (for scripted game creation)
    --newailvl X    AI level for human players who quit (1-6, def 2)
    --nonewai       Disable become AI controlled

New Game Victory Condition

    --conqall        Win by eliminating all opponents only
    --thrones X Y Z  Number of thrones of level 1, 2 and 3
    --requiredap X   Ascension points required for victory (def total-1)
    --cataclysm X    Cataclysm will occur on turn X (def off)

Random Map Options

    --makemap XXX    Generate a random map with filename XXX and exit
    --riverpart X    0-1000, 0=no rivers (default 50)
    --bridges X      Bridge chance 0-100, 0=no bridges (default 60)
    --extraislands X Chance of extra islands 0-100, (default 0)
    --seapart X      Percent of map that is below water level (default 30)
    --mountpart X    Percent of map that is mountains (default 20)
    --forestpart X   Percent of lands that are forests (default 20)
    --farmpart X     Percent of lands that are farm lands (default 15)
    --wastepart X    Percent of lands that are wastes (default 10)
    --swamppart X    Percent of lands that are swamps (default 10)
    --cavepart X     Percent of lands that are caves (default 3)
    --cavecluster X  Percent of caves that are clusters (default 20)
    --kelppart X     Percent of seas that are kelp forests (default 25)
    --gorgepart X    Percent of deeps seas that are gorges (default 25)
    --mapsize W H    Set width and height of random map (default 3000 2000)
    --mapprov X      Set number of provinces (default 150)
    --mapscol R G B A   Sea color 0-255 (default 54 54 130 255)
    --mapdscol R G B A  Deep Sea color 0-255 (default depending on mapscol)
    --mapccol R G B A   Coast color 0-255 (default depending on mapscol)
    --mapbcol R G B A   Ground border color 0-255
    --mapsbcol R G B A  Sea border color 0-255
    --mapbtopcol R G B A   Top border color 0-255
    --mapnoise X     Ground color noise 0-255 (default 15)
    --mapdirt X      Amount of dirt blobs (default 100)
    --mapdirtcol X   Color variance of dirt blobs (default 5)
    --mapdirtsize X  Size of dirt blobs (default 100)
    --borderwidth X  Border width 0-500 (default 100)
    --hills X        Number of Hills/Craters (default 150)
    --rugedness X    Rugedness 0-100 (default 30)
    --seasize X      Sea size, 100=normal land size (default 350)
    --mapnospr       Don't draw any sprites on the map
    --vwrap          Make map wrap north/south
    --nohwrap        Make map not wrap east/west
    --mapbunch X     When making a bunch, make this many maps (default 12)
    --quiet          Don't print stuff

Graphics Options

-w  --window        Run Dominions 5 in a window
-u  --fullscreen    Use the entire screen
    --borderless    Use a borderless fullscreen window
    --bitplanes X   Try to use a color depth of X bits per pixel
    --zbuffer X     Try to use a depth buffer of X bits per pixel (default 24)
-T  --textonly      Use this with --tcpserver to get graphicless server
    --gamma X       Set gamma function (brightness) 0.1 - 5.0 (default 1.0)
    --opacity X     Set gui opacity 0 - 100
-r  --res X Y       Set screen resolution / window size
    --animback      Use animated backgrounds
-a  --noanimback    Don't use animated backgrounds
    --fade          Use fade effects
-f  --nofade        No fade effects
    --nopopups      No helpful popups
    --maxfps X      Maximum nbr of frames per second (default 60)
    --filtering X   Quality of OpenGL filtering 0-3 (default 2)
    --maxtexsize X  Max texture size in pixels 8-4096 (default unlimited)
    --texqual X     Texture quality 1-5 (default 3)
    --notracers     Visual aid, puts a particle trace after arrows
    --nolightfx     No light effects in battles
    --partamount X  Max nbr of particles 0-9 (0=none, 4=default, 9=max)
    --noarcade      Don't draw floating damage numbers
    --nonetinfo     Don't draw timer and flags during network play
    --noglfinish    Don't flush the graphics pipeline each frame
    --noglext       Don't use any OpenGL extensions
-x  --fastgrx       Faster and simpler graphics
    --simpgui       Use a simple GUI without any background textures
    --gfxlevel X    Graphics level 1-20 (default 10, 14 = very high)
    --multisample X Use multisampling, X=number of samples (0-16)
    --benchmark     Run a graphics benchmark and exit

Audio Options

-s  --nosound       No sound effects or music
-m  --nomusic       No music
    --musicvol X    Set music volume, 0-100 (default 100)
    --fxvol X       Set sound effect volume, 0-100 (default 100)
    --clickvol X    Set mouse click volume, 0-100 (default 25)
    --noturnsound   Don't play a sound when a new turn arrives (network only)
    --defsound      Use default sound device
    --jack          Route sound through JACK sound server (Linux only)
    --pulseaudio    Route sound through pulse audio (Linux only)
    --arts          Route sound through aRts (Linux only)
    --alsa          Use direct alsa sound output (Linux only)
    --oss           Use direct oss sound output (Linux only)
    --portaudio     Use portaudio for sound (Linux / Mac OS X only)
    --directsound   Use direct sound (Windows only)
    --waveout       Use waveout for sound (Windows only)
    --sdlsound      Force usage of default sdl sound device (Windows / Mac OS X only)

Environment Variables

There are a few environment variable that can be set to alter where Dominions finds its files. Default paths are shown for Linux. The linux local config dir (~/.dominions5) can be renamed to ~/dominions5 if you want to make it visible. Dominions 5 uses ~/dominions5 if ~/.dominions5 cannot be found.

  DOM5_CONF  defaults to ~/.dominions5
  DOM5_SAVE  default to DOM5_CONF/savedgames
  DOM5_LOCALMAPS  default to DOM5_CONF/maps
  DOM5_MODS  default to DOM5_CONF/mods
  DOM5_DATA  default to EXEDIR/data
  DOM5_MAPS  default to DOM5_DATA/../maps

Server Control

A Dominions server can be controlled via text files, providing a way for automated tools to interact with the game. The text file must be named “domcmd” and be placed in the save game folder for game that you want to control. The file can contain one or more commands (one per line). The file is deleted as soon as it is read and the entire file must be created all at once.

  setquickhost <on 0-1>
  setpause <day 0-6> <on 0-1>
  setinterval <minutes>
  settimeleft <seconds>

Usually these commands are only meaningful once the game is running, but settimeleft can also be used during the upload pretender stage to start the game creation.

Illwinter Game Design: