This page displays the command line options available in the most recent release of KeeperFX.

Note that the Launcher can be used to choose command line options - this way you won't have to type them by yourself, but check the ones you want in a list.


The intro sequence won't play at startup.

The game music will play from OGG files in the '/music' subfolder instead of the CD Sound tracks. You can get the required OGG files from GOG release of DK, or just download them from here.

Automatically assigns computer players to undefined keepers on a map. Use this when you've got a 1player or multiplayer map in a map pack and want to play against computers without having to change the level script.

-nosound or -s
Disables all the sounds.

-fps <num>
Changes the game speed; default num is 20.

Disable the AWE32/64 SoundFonts (.SBK files).

Used to show the 'JLW' easter egg. And not only that.

-level <num>
Brings you directly to level number num. After the level is finished, quits the game. Note that level number must be 1..65534.

-campaign <filename> Works in conjunction with the -level command line option, to load a level from a specific campaign, or map pack. Example: Use "keeperfx.exe -level 80 -campaign deepdngn" to load Morkardar.

-human <num>
Changes human player to num. This option will work properly only in skirmish mode. Single player levels must be specially designed for this option to work. Also, the selected player must have heart on the map.

Works like '-level 1'.

Deprecated flag, it was used to converts columns data to new format.

Same thing, but for lights.

Smooths the 3D view using 1-pixel bilinear blur. This consumes more CPU, and the effect is merely visible, so blurring is disabled by default.

-ppropoly <mode>
Allows to control "pentium pro polygon rendering". Default value is 0, which means the game will detect if the CPU is modern enough and enable advanced rendering based on that. For processors below Pentium Pro (today such CPU would be ancient) the game disables advanced polygon lightning computing. Setting mode to 1 will make sure the advanced rendering is always enabled, and setting it to 2 disables Pentium Pro polygons regardless of the CPU.

Uses alternate mouse input method. This allows the mouse cursor to go outside of the game window. Ingame mouse sensitivity setting will be ignored. May be useful when you want to use other applications in a different window or screen while you play the game.

-packetsave <filename>
Writes a packet file (replay file) when playing. After using this option, you must start a new level (or use '-level' parameter). Saved replay will work properly as long as you won't change any of the game files. Even a minor change in map or configuration may make the replay invalid.

-packetload <filename>
Loads a previously created packet file. Starts the level for which packet file was created, and continues the gameplay. You may exit this mode by pressing Alt+X, or take over the control by pressing ALT+T.

(also enables -show_game_turns and -framestep)

-sessions <hostname1:port;hostname2:port;etc>
Adds sessions to the TCP/IP session list. hostname is either a DNS name or an IPv4 address (the latter ought to be far more common).

-compuchat <mode>
Makes the Computer Player announce all his actions. Useful for testers and mapmakers. Valid options are 'scarce' for announcing only the major decisions and 'frequent' which will announce every task the computer player takes.

Debug shots. Will show damage of a shot on screen when it hits the target. Only works in debug versions, so run keeperfx_hvlog.exe for this.

Debug pathfinding. Will show paths the creatures follow, as lines on screen. Path for specific creature is shown as long as the creature stays visible on screen.


The command line options below are possible in the latest code, but have not been included in the latest full release. Wait for the next full version, compile your own version of the game, or download a prototype/alpha build of the next version.

-connect <hostname:port>
This works like sessions, but you immediately join the multiplayer room.

-server <hostname:port>
This works like sessions, but you immediately create the multiplayer room.

Displays the current GameTurn in the bottom right of the screen.

When the game is paused, pressing the period key . on the alphanumeric field will step forward a single GameTurn (also enables -show_game_turns)

Pauses the game at the specified GameTurn. Useful in combination with packetload (also enables -show_game_turns)