- FSO Git Commit: Date: 2018-03-17 SHA: 8b49ebf3
Command-Line Flags (also called Command-Line Parameters) are optional flags passed to the FSO executable, and generally enables one or more features added to the FS2 Open engine. These flags are accessed conveniently through an FSO Launcher. To have FSO list all available flags, use any one of the following: -help, --help, -h, or -?.
- 1 Graphics
- 2 Game Speed
- 3 HUD
- 4 Gameplay
- 5 Audio
- 6 Launcher
- 7 Multiplayer
- 8 Troubleshooting
- 8.1 -no_set_gamma
- 8.2 -nomovies
- 8.3 -noparseerrors
- 8.4 -parse_cmdline_only
- 8.5 -query_speech
- 8.6 -novbo
- 8.7 -noibx
- 8.8 -loadallweps
- 8.9 -disable_fbo
- 8.10 -disable_pbo
- 8.11 -no_glsl
- 8.12 -disable_glsl_model
- 8.13 -ati_swap
- 8.14 -no_3d_sound
- 8.15 -disable_di_mouse
- 8.16 -mipmap
- 8.17 -use_gldrawelements
- 8.18 -keyboard_layout
- 8.19 -gl_finish
- 8.20 -no_geo_effects
- 8.21 -set_cpu_affinity
- 8.22 -nograb
- 8.23 -noshadercache
- 8.24 -fix_registry
- 9 Experimental
- 10 Development Tools
- 10.1 -fps
- 10.2 -bmpmanusage
- 10.3 -pos
- 10.4 -window
- 10.5 -fullscreen_window
- 10.6 -stats
- 10.7 -coords
- 10.8 -pofspew
- 10.9 -tablecrcs
- 10.10 -missioncrcs
- 10.11 -dis_collisions
- 10.12 -dis_weapons
- 10.13 -output_sexps
- 10.14 -output_scripting
- 10.15 -save_render_target
- 10.16 -debug_window
- 10.17 -verify_vps
- 10.18 -reparse_mainhall
- 10.19 -profile_frame_time
- 10.20 -profile_write_file
- 10.21 -no_unfocused_pause
- 10.22 -benchmark_mode
- 10.23 -noninteractive
- 10.24 -json_pilot
- 10.25 -json_profiling
- 11 Other
- 11.1 Lighting
- 11.2 Graphics
- 11.3 Gameplay
- 11.4 Multiplayer
- 11.5 Help
- 11.6 Deprecated Options
- 11.7 Completely Removed Options
"Disable motion debris"
"Disable scale-to-window for Movies"
Disables fullscreen scaling of video clips.
"Enable Post Processing"
Enables the use (if present) of post-processing effects as defined by the post_process.tbl. Bloom usage has an additional cmdline option for setting its value, most post processing effects are achieved in mission per the mission designer or can be enabled globally in the table.
"Enable soft particles"
Applies a blending factor to particles depending on their proximity to geometry
"Enable 3D Shockwaves"
This only has any effect when both a 2D and 3D shockwave effect are present, otherwise the only available effect is used (2D shockwave is defined by effects/shockwave01.eff or .ani, and 3D shockwave by models/shockwave.pof)
Note that 3D shockwaves are usually flat discs that FSO scales up. The animated 2D billboards used by 2D shockwaves with the addition of soft particles, may look better when intersecting with models (which shockwaves often do). Use at your discretion.
"Enable FXAA antialiasing"
Enables the FXAA postprocessing stage. Further information can be found here: http://www.hard-light.net/forums/index.php?topic=76145.0
Disables Lightshafts even if a mission designer enables them via SEXP in a mission. This was previously documented as -flightshaftsoff but appears to have been changed to -nolightshafts for consistency before -flightshaftsoff was ever used in a released build.
"Enable Framebuffer Shockwaves"
Applies a framebuffer distortion effect to shockwaves
"Enable Framebuffer Thrusters"
Applies a framebuffer distortion effect to Thrusters. NOTE: Only "point" thrusters are affected by this; modelled thrusters (as used on most retail models) are not affected by this.
"Disable vertical sync"
"Cache bitmaps between missions"
"Don't limit frames-per-second"
"Another Pair of Scanning Lines"
Adds a second pair of scanning lines to the target window when scanning an object.
"Enable Info next to Target"
Displays target info, such as name and class, beside the targeted object.
"Enables 3D radar"
An Orb style 3D radar will replace the standard 2D version.
"Enable Rearm/Repair Completion Timer"
Displays time remaining until rearm and repair from a support ship is complete.
"Enable the analog Ballistic Ammo gauge"
Adds an ammo gauge to the HUD when armed with a ballistic weapon.
"Use Models for Ship Selection"
Uses ship models in ship selection window. It completely disables the standard ANI interface in this screen.
If a mod does not supply the required interface art for a ship, this mode will be used instead.
"Use Models for Weapon Selection"
Uses weapon models in weapon loadout window for secondary weapons (missiles and bombs). It completely disables the standard ANI interface in this screen.
If a mod does not supply the required interface art for a weapon, this mode will be used instead.
"Enable 3D Warp"
Use full geometry for the subspace warp effect.
"Enable Flash upon Warp"
Enable a flash at warp in and warp out.
"Disable Interrupting of AutoPilot"
Tells the game to not allow players to interrupt an autopilot already-in-progress.
"Stretch interface to fill screen"
Scales the interface to fill the screen without preserving the aspect ratio. Omit this to keep the aspect ratio, adding black bars where appropriate.
"Disable Sound and Music"
====-no_enhanced_sound "Disable enhanced sound"
Disables the enhanced sound rendering functions enabled by OpenAL Soft.
"Store config in portable location"
Uses the root directory of FSO for storing pilot and config files. The current launcher does not have proper support for this yet so you need to manually copy the fs2_open.ini from the original config directory to your FreeSpace Root directory.
"Run as Stand Alone Server"
Creates a standalone multi-player server.
"Skip Mainhall and Start Hosting"
Once you launch and choose a pilot within the game, you will immediately have begun to host a game. This can be used in conjunction with several options to customize the game you create: -closed, -restricted, -password, -gamename, -allowabove, and -allowbelow. -startgame has no effect when -standalone is used.
"Start Hosted Server as Closed"
Hosts a new game in a closed state, where no one can join until the in-game "Close" button is cleared. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -restricted or -password.
"Host Confirms Join requests"
Hosts a new game in a restricted state. The host is presented with option to accept or deny each client's request to join the game. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -password.
Creates a log file with a summary of packets sent and received in multiplayer games. The file is saved as \data\multi.log within the active mod folder—or with main data folder if no mod is active.
"Disables Flight Deck option"
Disables return to the flight deck screen after a mission completes.
"Disable Setting of Gamma"
Disables the gamma settings in the options screen.
"Disable Video Playback"
Disables all video playback.
"Disable Parsing Errors"
Disables some parsing warnings and makes other parse errors non-fatal. Do not rely on this when creating new tables. The errors are there for a reason.
"Parse Command Line Only"
Parse only the application command line settings, and ignore any that may have been set in the on-disk data/cmdline_fso.cfg or per-user cmdline_fso.cfg (on Linux/Mac)
"Does this build have Speech?"
Determines if the current build includes text-to-speech.
"Disable OpenGL VBO"
"Don't use cached index buffers (IBX)"
Disables IBX caching of model geometry data. This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.
"Load all weapons, even those not used"
"Disable OpenGL RenderTargets"
"Disable OpenGL Pixel Buffer Objects"
Disables the use of Pixel Buffer Objects (PBO) which may cause certain OpenGL operations to perform slower. Note PBO's were only used at three places in FSO anyway so it's *probably* not going to have a noticeable effect.
May be required to workaround issues in certain versions of Linux's Mesa drivers for Intel integrated graphics cards where crashes occur in the mainhall (i.e. whenever a popup occurs). Distros that seem to have this problem presently include Ubuntu 13.10 and openSUSE 13.1.
"Disable GLSL (shader) Support"
Disables the use of GLSL rendering (OpenGL shaders). The game will revert to legacy fixed render pipeline. Please note that Normal and Height map effects will be unavailable.
"Don't use shaders for model rendering"
"Fix Color issues on some ATI cards"
Mantis #1669 is what led to this flag's creation.
"Use only 2D/stereo for sound effects"
"Disables the DirectInput mouse code for FSO on windows."
Windows Only Can make mouse movement smoother on certain machines.
Causes for non-mipmapped textures to have mipmaps generated within the GPU on certain kind of texture formats, (IIRC, DDS formatted textures with a power of 2 size in both width and height).
Since the use of already mipmapped DDS textures has become common, it has become deprecated. The quality of the generated mipmaps depends on each GPU and used driver. It is normally used with -img2dds flag.
"Use glDrawElements instead of glDrawRangeElements"
Introduced as a means of switching to the slower OpenGL call glDrawElements, instead of glDrawRangeElements.
"Manually sets a keyboard layout"
A commandline parameter to set the keyboard layout as a string parameter.
"Fix input lag on AMD+Linux"
"Disable geometry shader for effects"
Particle rendering uses geometry shaders for high performance, this flag disables that behaviour.
"Sets processor affinity to config value"
Use this to force FSO to run on the specified core. CPU cores are numbered starting with 0 for the first core.
Disables focus grabbing in a window.
"Disables the shader cache"
On GPUs with support for OpenGL 4 and higher, FSO caches the compiled shaders for increased performance.
"Use a different registry path"'
"Allows Ingame Joining"
Enables ingame joining in multiplayer. FIXME: Host option?
Windows-only. Enables voice-recognition for wingmen commands. Must be specifically compiled into a build in order for it to be available; 3.6.10 final includes the feature. See Voice Recognition for more details.
"Show frames per second on HUD"
Displays current frames per second.
"Show how many BMPMAN slots are in use"
Adds a BMPMAN slot usage display near where the FPS display is (or would be, if it's not enabled). Can be used by mod makers to see if they need to increase their BMPMAN slot limit.
"Show Position of Camera"
Displays current position coordinates of camera.
"Run in Window"
Runs the game in a window. No check to make sure that resolution is no higher than your desktop resolution, so be careful.
"Run in Fullscreen Window"
Runs the game in a borderless window.
Shows total and free physical memory, virtual memory and system pagefile.
Shows coordinates of the mouse cursor.
Reads all objects in the pof file of the selected mod, and creates an ibx cache file for each object in the data/cache folder for that mod.
Details for each object are output to a pofspew.txt file created in the data folder.
Otherwise, ibx files are created in game before each mission.
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name. Example usage: "-table_crcs MediaVPs" will create a table_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the tables used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.
Is actually now (or should be) a typed reference rather than as a selection item. Takes 1 argument, usually a descriptive name. Example usage: "-mission_crcs MediaVPs" will create a mission_crcs.csv file in the running mod (name can be separate of the mod selected) that allows for the validation of the missions used by that mod while on-line. The descriptive parameter given helps "allocate" that .csv file to the mod in question, and as such should closely or exactly match that mods name if possible.
Disables all collisions.
"Disable Weapon Rendering"
Disables weapons rendering.
This will make the FSO build spit out an html file that documents the supported SEXP's.
Just double click on sexps.html and it should open in your default web browser.
This will make the FSO build spit out an html file that documents the supported scripting hooks and LUA libraries.
Just double click on scripting.html and it should open in your default web browser.
"Save Render Targets to file"
"Display Debug Window"
Lists the fs2_open.log in (nearly)real-time generation.
"Spew VP crcs to vp_crcs.txt"
Exports the CRC values of the VP files being loaded into a vp_crcs.txt file.
"Reparse mainhall.tbl when loading halls"
Mainhall.tbl will be reparsed every time a mainhall is loaded, as opposed to just once at game startup.
"Profile engine subsystems"
Activates the frame profiling code. This presents a readout showing the current, minimum, maximum and average percentages of frametime a given section of code has taken up; this can be used to identify particular bottlenecks or measure the effectiveness of certain optimizations.
"Write profiling information to file"
This will write the frame times of each gameplay frame to the file 'profiling.csv' where each line is . Both times are measured in microseconds. time is measured from an arbitrary time in the past. To get consistent results the first time value should be substracted from all time values. The first two frames are usually very long because the timer is set at engine startup so you might want to exclude those from your data.
"Don't pause if the window isn't focused"
When the FSO window looses focus it will not pause the game, useful for doing non-interactive test runs.
"Puts the game into benchmark mode" See Benchmarking for more information.
"Disables interactive dialogs" Disables all dialogs and chooses the default option when one would be displayed. Very useful for a standalone server on a headless system.
"Dump pilot files in JSON format"
Writes the information stored in savefiles to JSON files.
"Generate JSON profiling output"
Gathers information from the built-in profiling tools and writes them out to a .json file readable by the Google Chrome tracer or TraceCompass/SpaceCompass. NOTE: This will create fairly massive data sets (several hundred megabytes per minute of gameplay). The files will be written to the subdirectory "tracing" in the FreeSpace data folder; FreeSpace will not create that folder automatically, however.
The following options are not available as checkboxes in the launcher and must be entered into the "Custom flags" field. Many require parameters, which follow the flag separated by a space. The prototype for use in this case is "-option argument"
This is a multiplier applied to the intensity of ambient lighting. Ambient light is lighting applied to all parts of a ship. The way this works is a bit weird. (ambient factor * 2) - 255 is "added" to mission ambient, but since this will almost always be a negative value it's actually removed from mission ambient. Because of how light values are clamped it cannot go below 5.1, ambient_factor 70 will result in -115 to mission ambient which is 120 by default. 70 is essentially the lowest ambient for missions with default ambient settings which are all retail missions and the vast majority of mod missions. FS2's standard value is 120. 70 is basically no ambient, 80 is a bit of ambient, and 90 is quite a bit of ambient(ships will look bright from all sides). Anything above that will make ships look incredibly "flat". This is a relative value.
In retail FS2, ships had a pseudo light source applied to them to make them stand out against the background. Due to the changes in the render pipeline associated with HDR, this behaviour has been disabled by default; this cmdline option restores it.
This is a multiplier that adjusts how much laser weapons contribute to specular highlights. Higher number mean greater contributions. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.
This is a multiplier that adjusts how much suns contribute to specular highlights. Higher numbers mean a greater contribution. For non-PBR models it will make their sun-lit side very shiny and reflective; for PBR models it will make the sun-lit side a lot brighter. There's no flag to control diffuse static lighting so non-PBR models will always have the same amount of light come from suns. Default is 1.0. This is a relative value.
This is a multiplier that adjusts how much beam weapons contribute to specular highlights. Higher numbers mean a greater contribution. If you want lasers to light up more set this to around 2. If you want less lighting, set it to around 0.5. Default is 1.0. This is a relative value.
- This feature is now deprecated, it will have no effect on rendering.
Takes a numerical argument. This value changes the basic shininess of the specular light in OpenGL. A lower value reduces the overall intensity of the light making it broader and less powerful. A higher value makes it more focused and brighter. The default value is 80, and the usable range is 0 to 128 (clamped). The original default value was 60, but it was raised to behave more D3D like.
- This feature is now deprecated, it will have no effect on rendering.
This must be used with the -spec command line parameter and must be entered into the "Custom flags" field. Adjusts the size of the shiny spot on ships. Higher number mean smaller spots. Default is 16. This is a relative value.
Requires -post_processing ("Enable Post Processing") command. Default value is 75. Range is 0-200.
Changes the distance from the viewpoint for the near-clipping plane.
Takes one argument decimal specifying the distance to the near-clipping plane.
Allows you to specify a resolution if the desired one cannot be set in the Launcher. For example, -res 1920x1080 would run the game in 1920 x 1080 resolution. Since it requires an argument, it needs to be entered as a custom flag when using the Launcher. The "Run at specified resolution" option the Launcher gives is essentially this, but without being able to actually specify a resolution, it doesn't work.
Specifies how much of the screen area should be utilized by menus, movies, the HUD, and various other 2D graphics. Intended for use with configurations with an extremely wide field of view, such as triple-monitor setups.
By default, if the screen resolution's aspect ratio is wider than 7:2, most 2D elements utilize only the center 3/10 of the screen area. This setting allows users to override this behavior to make better use of the center monitor. (The reason for using 3/10 rather than 1/3 is that many triple-monitor setups use bezel correction, which reduces the fraction of the screen area that the center monitor displays.)
For example, if the screen resolution is 6000x1080, then -center_res 1920x1080 will keep most 2D graphics in the center 1920x1080 area. This setting is automatically scaled to fit the screen resolution, so (assuming the resolution is still 6000x1080) -center_res 1280x720 is given, then that resolution is enlarged to 1920x1080.
Requires both -post_processing and -fxaa. Can be used to adjust the FXAA quality and speed, 0 is fastest, 9 is highest quality. Default setting is 6.
"Skip the mainhall in jump right into the specified mission"
Jump into the mission specified by the filename. Only in effect on the first run. This will skip load of the mainhall and its other related things altogether.
Specifies in which folders inside FreeSpace 2 directory, the game looks for all the game data (models, missions, textures, tables, ...). Retail version only looks inside Freespace2/data/ structure and Freespace2/vp archives.
This flag allows installing several different mods that modify retail behavior, and switching between them without needing to erase files or having undesired cross effects. Each mod should be installed in its own folder.
It takes one argument string: the chain of names of the used directories. Comma (,) must be used as separator. In this way, -mod dir1,dir2,dir3,...,dirx causes the game to use the following directory precedence:
- ... (the rest of the typed directories) ...
This flag can be indirectly set, (and it is normally set), through Launcher MOD tab and mod.ini file.
Within the Launcher's MOD tab you can select one directory, (let's call it moddir), so the flag is at least set to -mod moddir. If Freespace2/moddir/mod.ini exists it will be used to modify the -mod flag, too.
For further details, see mod.ini
As already said, within the different directories, the data precedence is set by the specified order in the -mod flag. The lowest priority goes to the Freespace2 installation directory.
Inside each directory, data precedence is the following:
- Individual files located in Current_dir/data/ subdir structure. See FS2 Data Structure topic for deeper info about the different folders and contents this structure has.
- Files located inside vp archives. (These vp archives are "similar" to zip archives. They just contain other files and folders. Moreover, files have to be stored using the same data/ structure used outside it).
Vp archives are read in alphabetical order, so aaa.vp files have higher priority than aab.vp files and so on.
The highest priority file overrides the rest of them. In this way, if you have a Mission.fs2 inside Freespace2/Pri1/data/missions/ it doesn't matter that this Mission.fs2 is also inside Freespace2/Pri1/aaa.vp, Freespace2/Pri1/aab.vp, ... or Freespace2/data/missions/. This data precedence allows the user to quickly replace old files by corrected or enhanced ones adding them in a higher priority place.
- As derived from the explanation, the exact names for directories or vp archives are actually irrelevant. It only matters the directory order inside -mod flag argument and the alphabetical order for vp archives inside each used directory.
- This flag is also used by FRED. So if there is special mod info, (like backgrounds maps, ship models or whatever), it must be typed, (Fred2_Open_r.exe -MOD whatever), or FRED won't be able to use it. A special build of wxLauncher is able to configure FRED so that the -mod doesn't have to be done manually see the forum post for more details.
- Be careful while typing the directory names in the flag argument or inside mod.ini files. The program doesn't check if the typed directories exist. If they do not exist, they are just ignored. No warnings, no errors, no messages at all.
This flag allows the player to specify the vertical Field of View (FoV) angle, in radians, for the player eyepoint. The angle is measured across the full height of the viewing cone. The FoV angle is technically known as the Angle of View (AoV)
- Syntax: float Angle
- Valid Values: 0 to 2*Pi radians
- Default Value: 0.75 radians
The the FoV angle/AoV is what determines the relative zoom level of the main game camera. Smaller angles generally equal to higher zoom levels, while larger angles equal to lower zoom levels (down to the theoretical x0 magnification).
However, too small of an angle will have a squashed look on the edges of your screen, and too high of an angle will greatly stretch edges. It is recommended to change the AoV, as FS2's default AoV has some perspective distortion at the screen edges (the default AoV is too high).
A natural looking (as if you where physically in the cockpit) AoV depends on the distance the player's actual eyes are away from the screen: the further away from the screen, the smaller the AoV should be, and vice versa. "Ergonomic" distances generally yield a diagonal AoV of 0.523 radians (30 degrees), but you can easily find the natural AoV by the following formula:
AoV (radians) = 2 * atan( H / ( 2*D ))
Height of screen = H
Distance between head/eye and the screen = D
Generally, gamers like to increase the AoV in order to increase their peripheral vision on the screen, so as to gain a better situational awareness around their craft. An AoV of 0.39 radians seems to be a good start, but feel free to experiment and use whatever AoV you are most comfortable with.
Specifies the name of the game to be created by the host. This only works when used in conjunction with -startgame.
Takes one argument string, the name to be assigned to the game being created.
This argument does nothing when used with -standalone. To set the name for a standalone server, see Standalone Servers.
Specifies the password for a standalone server. This only works when used in conjunction with -startgame. Cannot be used in conjunction with -closed or -restricted.
Takes one argument string, the required password for the game being created.
Specifies a player's minimum rank for joining a game. This only works when used in conjunction with -startgame.
Takes one argument integer, the points ranking above which a player must be to enter the game.
See related: -startgame
Specifies a player's maximum rank for joining a game on a standalone server. This only works when used in conjunction with -startgame.
Takes one argument integer, the points ranking below which a player must be to enter the game.
See related: -startgame
Specifies the port on which to host a game or serve a standalone game.
Takes one argument integer, the port on which the host will listen for clients.
Automatically connect to multiplayer IP:PORT.
Takes one string value, such as 192.168.0.1:
Multiplayer network timeout (secs).
Takes one integer argument, the timeout value in seconds. Default is 30.
Caps the maximum object update the server will respond to regardless of what the client has set. If the client is set to request high object updates but the server is capped to low, then that's all the client will get.
Takes one argument integer (0 to 3) which corresponds to the object update cap (With 0 being low and 3 being LAN).
Instructs FSO to print out all supported parameters. Some launchers can use these options to automatically populate the available command line options, even if the version of FSO is far newer than the launcher itself. NOTE: This option only works in Linux builds...
These options were present in the executable for some time, but have since been removed and deprecated. The engine will throw a non-fatal error when they are found in the commandline. Some of these functions have been removed entirely, others are now part of the standard operation of the engine.
Completely Removed Options
Using one of these is the same as using a random string.