Skip to content
oznogon edited this page Jul 21, 2026 · 46 revisions

The Preferences file (options.ini) contains settings to customize EmptyEpsilon. Many of these settings are set and saved within the game, while others are set only within the file. Many settings are written to the file after the first time EmptyEpsilon is launched and quit. These settings can also be defined as arguments when running EmptyEpsilon from the command line.

Many preferences file options can also be set in-game by accessing the Options menu.

Unless otherwise noted, settings with on/off values use 1 to represent enabled and 0 to represent disabled.

Location

  • Windows: In the folder where EmptyEpsilon is launched.
  • Linux, macOS: In an .emptyepsilon subdirectory of your user's home directory (~/.emptyepsilon/options.ini)
    • Linux if installed via Flatpak: ~/.var/app/io.github.daid.EmptyEpsilon/config/emptyepsilon/options.ini ($XDG_CONFIG_HOME/emptyepsilon/options.ini)
    • Linux if installed via Steam: In your Steam account's local storage (~/.local/share/Steam/userdata/<USER ID>/1907040/local/options.ini, where <USER ID> is a number specific to your Steam account)

You can change this by setting the $EE_CONF_DIR environment variable.

Graphical settings

  • warp_post_processor_disable: Disable the warp post processor when set to 1. Disabling this processor can fix graphical problems on some platforms.

  • atlas_size: The texture atlas resolution mode. auto (default), 2k, or 4k. Higher quality requires more memory. Requires restart.

  • fsaa: Enable full-screen anti-aliasing. Valid values are 0 (disabled), 2, 4, or 8 (multisample count).

  • first_person: Whether to default to first-person view in Main screen and Single pilot stations. Defaults to 0 (disabled).

  • fullscreen: Enable fullscreen mode. If disabled, run in windowed mode. Defaults to 1.

  • gl_debug: Enables OpenGL debug output. Defaults to disabled except in debug builds (see Build with debugging).

    • gl_debug_synchronous: If enabled, OpenGL debug messages are produced synchronously if possible. Defaults to disabled except in debug builds, and has no effect if gl_debug is not enabled.
  • default_draw_distance: Sets the maximum view distance, in world units, at which objects are rendered. Values range from 1000 to 100000. Defaults to 25000.

  • dynamic_nebula_lighting: Toggles dynamic lighting on nebula clouds from weapons, explosions, engine exhaust, and shield hits. Defaults to 1 (enabled).

  • line_drawing_mode: The method used for rendering lines. quad (high quality, default) or gl (fast, low quality).

  • main_screen_camera_fov: Sets the field of view, in degrees, for the main screen view. Defaults to 60.

  • nebula_fog: Toggles the fog effect applied while the camera is inside a nebula cloud. When enabled, distant objects are obscured and the view distance is reduced inside the nebula. Defaults to 1 (enabled).

  • main_screen_flags, ship_window_flags: Sets the visibility of spacedust, headings, and callsigns on the main screen and ship window views, respectively. These are additive flags, and the sum of the values determines which features are enabled. main_screen_flags defaults to 7; ship_window_flags defaults to 1.

    For example, to enable only spacedust and disable the rest, use the value 1. To enable only headings, use 2. To enable only callsigns, use 4.

    Add those values together to enable any combination of features. For example, main_screen_flags=7 enables all three.

  • multimonitor: Enable or disable experimental multiple monitor support. Default is disabled. Set value to 1 to enable: multimonitor=1

    • On ECS/master development builds, multimonitor can be set to an arbitrary number greater than your number of monitors. This instead opens several windows, each of which behaves like a separate monitor.

      On Linux, if your display server uses Wayland, this unexpectedly results in black windows. To resolve this, launch EmptyEpsilon with the SDL_VIDEODRIVER=wayland environment variable, i.e. SDL_VIDEODRIVER=wayland EmptyEpsilon multimonitor=2.

Interface settings

  • autoconnect, autocontrolmainscreen, autoconnectship, autoconnect_address, autoconnect_password, autoconnect_servername: See Automatic connection of crew screens.
  • guitheme: Defines the GUI theming file to apply. Defaults to default, which loads resources/gui/default.theme.txt.
  • instance_name: Label this client with a name that appears on the main menu screen and the window's title bar.
  • language: The preferred interface and scenario language. Defaults to en (English). Other options include cs (Czech), de (German), fr (French), and it (Italian). See Translation and Localization for details.
  • lua_console_popup: When set to 1 (default), show a popup console overlay when Lua log messages are printed. Set to 0 to suppress the popup. Messages are still written to the game log, which outputs to the terminal, Lua console, and/or EmptyEpsilon.log.
  • tooltips: Whether to show descriptive tooltips when hovering over controls. Defaults to 0 (disabled).
  • touchscreen: Enable touchscreen mode. See Touchscreens for details.
  • tutorial: Launch EmptyEpsilon in the tutorial mission.

Cinematic view settings

  • camera_mouse_sensitivity: The mouse look sensitivity for the cinematic camera view, as a float from 0.01 to 1.0. Defaults to 0.15.
  • camera_mouse_inverted: Invert the mouse Y axis in cinematic view. Defaults to 0.
  • camera_flyby_randomized: Randomize the fly-by camera angle in cinematic view for variety. Defaults to 0.

Radar lock settings

The interface options for the consoles that have a view of nearby space such as helm, weapons, science, tactical and operations can be set to either rotate the ship icon when the ship turns or keep the ship icon pointing the same way and rotate the view of objects around the ship instead. The default is 0: the ship icon rotates and the view around the ship icon remains fixed. Setting the value to 1 makes the ship icon remain fixed and the view around the ship rotate when the ship turns.

  • helms_radar_lock
  • weapons_radar_lock
  • science_radar_lock
  • tactical_radar_lock
  • operations_radar_lock
  • single_pilot_radar_lock

This setting corresponds to this portion of the in-game configuration options:

Screen Shot 2022-03-27 at 10 30 00 AM

Note: The radar lock options in the in-game Options menu set multiple settings in the Preferences file.

Gameplay settings

  • repeat_tutorial: Whether to restart the tutorial automatically after it completes. Defaults to false.
  • script_cycle_limit: (Not yet implemented.) Would set a limit on the number of cycles a loop in a Lua script can run. Defaults to 0 (unlimited).
  • self_destruct_countdown: (Not yet implemented.) Would set the self-destruct countdown, in seconds. Defaults to 10.

Networking settings

  • headless: The filename of a scenario in the scripts directory to run with the game server in Headless server mode, without a user interface.

    • headless_name: The headless game server's name.
    • headless_password: The headless game server's password.
    • headless_internet: Whether to register the headless game server on the internet.
    • startpaused: If 1, start the game paused, which requires the server to unpause the game via HTTP API. Defaults to not pausing the game on launch.
  • server_scenario: Similar to headless, but launches the scenario with the given filename with a user interface, skipping the main menu and server configuration screens and using the scenario's default variation or options.

  • scenario_settings: When using headless or server_scenario, configure the scenario's settings as semicolon-delimited key-value pairs. For example, to set a scenario's Enemies to Huge and Difficulty to Hard, use scenario_settings=Enemies=Huge;Difficulty=Hard.

    Note: On Linux, wrap the scenario_settings option in quotation marks if you're specifying it on the command line. For example:

    EmptyEpsilon server_scenario=scenario_00_basic.lua "scenario_settings=Enemies=Huge;Difficulty=Hard"
  • server_name: The game server's name.

  • server_password: The game server's password.

  • server_port: The game server's port number.

  • server_internet: Whether to register the game server on the public server list.

  • httpserver: The port number for EmptyEpsilon's built in HTTP server, both for use with its API and to serve content from the directory configured by the www_directory setting. Omitting the value disables the server. See HTTP server for details.

  • www_directory: The directory served by the built-in HTTP server. Defaults to www.

  • metrics_server: The port number for EmptyEpsilon's Metrics server, which serves Prometheus-format metrics at /metrics. Set to 0 or omit to disable. See Metrics server for details.

  • last_server: The previous game server's IP address.

  • proxy: The IP address of a game server that this client should serve as a proxy of, or the word listen to act as a reverse proxy. The full colon-delimited format is host:port:password:listenPort:proxyName. When host is listen, the proxy starts in reverse proxy mode. See Proxy server for details.

  • proxy_registry_url, proxy_registry_password: URL and password for a proxy registry server. See Proxy server for details.

  • registry_list_url, registry_registration_url: URL to the master registry server's list and registry endpoints. Defaults to http://daid.eu/ee/list.php and http://daid.eu/ee/register.php. See the SeriousProton masterserver README for an example master registry server.

  • serverproxy: The IP address of a reverse proxy server. See Proxy server for details.

  • username: The default username. Defaults to the operating system's username (USER or USERNAME environment variables, or Steam persona name).

  • voice_chat_enabled: Whether to enable voice chat functionality. 0 (default) disables; 1 enables.

Data settings

  • mod: Adds resources to the game from the given subdirectory within the mods/ subdirectory of a resource path. For example, mod=example would load resources from resources/mods/example/, scripts/mods/example/, or ~/.emptyepsilon/resources/mods/example/. See Modding support for details.

Audio settings

  • impulse_sound_enabled: Defines whether impulse engine sounds are enabled, and where they're played. 0 = disabled, 1 enabled, 2 enabled for main screen only. Defaults to 2.

  • impulse_sound_volume: Percentage (from 0.00 to 100.00) of impulse engine sound volume. Defaults to 50.

    These parameters correspond to this in-game configuration:

    Screen Shot 2022-03-27 at 10 08 00 AM

  • music_enabled: If the value is 0, disable background music. If the value is 1, enable music on this client. If the value is 2, enable music on this client only if it is the main screen. Defaults to 2.

  • music_volume: Percentage (from 0.00 to 100.00) of music volume.

  • sound_volume: Percentage (from 0.00 to 100.00) of sound volume.

Control settings

EmptyEpsilon saves hotkeys in a separate JSON file named keybindings.json, and provides a user interface in the Options > Interface Options menu to configure them. All settable hotkey and joystick options are written when EmptyEpsilon is closed.

Diagnostic settings

  • log_level: Defines whether to write logs at the default info level, or at debug level. Debug builds override this setting and always output at Debug level.
  • log_output: Defines whether to write logs to the operating system's standard output (default), or to file (always EmptyEpsilon.log, location dependant on the operating system). Debug builds can override this setting.

Clone this wiki locally