Skip to content
Oznogon edited this page Jun 23, 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.

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. (Note: There is no general disable_shaders preference.)

  • 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.

  • 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.
  • main_screen_camera_fov: Sets the field of view, in degrees, for the main screen view. Defaults to 60.

  • 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 gui/default.theme.txt in a resource path, such as resources/gui/default.theme.txt.
  • language: The preferred interface and scenario language. Defaults to en (English). Other options include cz, de, fr, it. More may be added as collaborators add translation files.
  • touchscreen: Enable touchscreen mode. See Touchscreens for details.
    • touchcalib: Deprecated. Enable use of a custom touchscreen calibration data file.
    • touchcalibfile: Deprecated. The path to a file containing touchscreen calibration data.
  • tutorial: Launch EmptyEpsilon in the tutorial mission.

Radar lock

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 science radar lock option in the options menu sets both science_radar_lock and operations_radar_lock settings in the Preferences file.

Fonts (older versions only)

To use a different font, make sure it's in the gui/fonts/ subdirectory of a resource path, such as resources/gui/fonts/.

Gameplay settings

  • script_cycle_limit: Sets a limit on the number of cycles a loop in a Lua script can run. Defaults to 0 (unlimited). Set this when troubleshooting Lua scripts that cause the game to lock up.
  • self_destruct_countdown: Sets the self-destruct countdown, in seconds. Defaults to 10. This setting is effective only when set on the server.
  • Options beginning with server_config configure the game server's scenario settings.
    • server_config_warp_jump_drive_setting: 0 is Ship Default, 1 is Warp Drive, 2 is Jump Drive, 3 is Both, 4 is Neither
    • server_config_scanning_complexity: 0 is None (Delay), 1 is Simple, 2 is Normal, 3 is Advanced
    • server_config_hacking_difficulty: 0 is Simple, 1 is Normal, 2 is Difficult, 3 is Fiendish
    • server_config_hacking_games: 0 is Mine, 1 is Lights, 2 is All
    • server_config_use_beam_shield_frequencies: Enabled/disabled
    • server_config_use_system_damage: Enabled/disabled
    • server_config_allow_main_screen_long_range_radar: Enabled/disabled
    • server_config_allow_main_screen_tactical_radar: Enabled/disabled
    • server_config_gm_control_code: Set a password for GM screen access

Networking options

  • 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.
    • variation: The mission variation to use.
    • 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"
  • 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 (defaults to www). Omitting the value disables the server. See HTTP server for details.

  • metricsserver: The port number for EmptyEpsilon's Metrics server, which serves Prometheus-format metrics at /metrics. Port values under 10 are rounded up to 80. 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.

  • registry_list_url, registry_registration_url: URL to the master registry server's list and registry endpoints. 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).

Data options

  • instance_name: Label this client with a name that appears on the main menu screen and the window's title bar.
  • 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/.

Audio options

  • 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

    Older versions of EmptyEpsilon used the names engine_enabled and engine_volume for these settings. These older names are still actively read and written by EmptyEpsilon on startup to set fallback defaults (engine_volume defaults to 50, engine_enabled defaults to 2).

  • 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.

Clone this wiki locally