Stellaris Dashboard

repository·master·Indexed 40 days ago

https://github.com/eliasdoehne/stellaris-dashboard

A tool for parsing Stellaris save files to provide detailed historical statistics, market price graphs, and galaxy map timelapses. It operates as a standalone application or an in-game browser interface via a Steam Workshop mod. Version 8.0.0 features include an event ledger, resource budget tracking, and customizable graph layouts via config.yml.

Tokens
11.2K
Snippets
28
Records
54
Agent score
50%

What's inside Stellaris Dashboard

  1. Configure Visibility and Data Depth Settings

    master

    The dashboard includes several settings to balance immersion and data availability:

    • Show information for all countries: Reveals information about countries you haven't met (effectively a cheat). Does not reveal other players in multiplayer.
    • Show all country types: Includes enclaves and pirates in the data.
    • Store data of all countries: Reads detailed budgets and pop statistics for non-player countries. This increases processing time and database size but allows full inspection of other countries via the dropdown menu.
    • Filter history ledger by event type: Changes the event ledger behavior to show all events (like leader level-ups) on the main page instead of just specific entries.
  2. Understand update notifications

    master

    The dashboard program checks for updates by comparing its own version against a version ID provided by the Steam Workshop mod. If a new version is released, a notification will appear in the dashboard UI.

    Privacy Note: The dashboard program runs locally on your computer and does not send any data externally.

  3. Export a Galaxy Map timelapse

    master

    You can export a GIF or PNG sequence of the galaxy map showing territorial changes over time using the controls on the Galaxy Map page.

    Export Options:

    • Single GIF file (high memory usage).
    • Individual PNG frames.
    • Both.

    Customization Parameters:

    • Start date: The in-game date to begin the animation.
    • End date: The final date (always included as the last frame).
    • Step size (days): The interval between frames. Higher values reduce the total frame count.
    • Frame time (ms): The duration each frame is displayed (GIF only).
  4. Configure the dashboard for Multiplayer

    master

    Multiplayer support is currently experimental. By default, the dashboard hides information about other player-controlled empires to maintain privacy, even if the "Show all empires" checkbox is enabled in settings.

    To use the dashboard in a multiplayer session:

    1. Open the dashboard settings menu.
    2. Configure your multiplayer username.
    3. If you wish to see other players' data, uncheck the Hide other players setting.
  5. Build the Stellaris Dashboard from source

    master

    Developers can build the dashboard using uv and rust.

    Prerequisites:

    • git (clone with --recurse-submodules to include test saves).
    • uv (manages Python environments and dependencies).
    • A Rust toolchain (required to compile the rust_parser).

    Development Workflow:

    1. uv sync: Creates the virtual environment, installs dependencies, and builds the Rust parser via maturin.
    2. uv run stellarisdashboardcli parse-saves: Reads existing save files into the database.
    3. uv run stellarisdashboard: Starts the dashboard.
    4. uv run pytest: Runs the test suite.
    git clone --recurse-submodules <url>
    uv sync
    uv run stellarisdashboardcli parse-saves
    uv run stellarisdashboard
    uv run pytest
  6. Install the Stellaris Dashboard mod for in-game access

    master

    To access the dashboard directly from within Stellaris, you must install the companion mod.

    1. Subscribe to the mod in the Steam Workshop.
    2. Activate the mod in the Stellaris Launcher.

    Accessing the Dashboard in-game:

    • Open the in-game internet browser by clicking the help icon in the lower right or pressing the shortcut ALT-B. (If the help icon is hidden, click the "More" button to reveal it).
    • Use the navigation buttons in the top right corner of the browser window to switch between dashboard views.
    • Alternatively, open http://localhost:28053 in any web browser (e.g., on a second monitor).
    # No specific command, follow manual steps
  7. Improve Dashboard performance

    master

    If the dashboard is slow or resource-intensive, apply these optimizations:

    • Reduce Graph Load: Manually edit the configuration file to rearrange graphs into tabs, removing unnecessary ones.
    • Reduce Data Volume: Increase the in-game autosave interval or increase the "Skip saves" parameter in the dashboard settings.
    • Lower Memory Usage: Decrease the Initial graph resolution setting to load less data into memory at startup.
    • Reduce CPU Usage: Decrease the number of CPU threads used for reading new save files in the dashboard settings.
  8. Configure the graph tab layout

    master

    You can customize the dashboard layout by modifying the tab_layout section in config.yml. This allows you to group specific graphs into custom tabs, disable unused graphs to improve performance, and organize the interface to your preference.

    Rules for Tab Names

    • You can use almost any name for your tabs.
    • Reserved Names: Do not use Markets or Galaxy Map as tab names; these are reserved and will be ignored if used in the configuration.

    Applying Changes

    • Changes to the tab layout only take effect after restarting the dashboard.
    • Warning: It is recommended to keep a backup copy of config.yml because the dashboard may overwrite changes during operation.

    Resetting the Layout

    To return to the default layout, you can either:

    1. Delete the tab_layout section from config.yml.
    2. Delete the entire config.yml file to reset all default settings.
    tab_layout:
      my-first-tab:
        - net_mineral_income_graph
        - net_energy_income_graph
      my-second-tab:
        - system_count_graph
  9. Install and run the Dashboard Application

    master

    For users who want to run the dashboard as a standalone application:

    1. Download the latest release for your OS from the GitHub releases page.
    2. Extract the zip archive to your preferred location.
    3. Run the stellarisdashboard application.

    Note: The packaged app automatically tracks new saves as they appear. If you need to bulk-import existing save files, you must use a source checkout with the CLI (see 'Building from source').

  10. Configure the dashboard for Observer Mode

    master

    To use the dashboard while in Observer Mode, follow these steps to ensure data is available:

    1. Start the game as a regular country and allow it to generate at least one save file.
    2. Switch to Observer Mode.
    3. In the dashboard settings, enable Store data of all countries.
    4. (Optional) Enable Show information for all countries to view data for all empires.
  11. Manage Galactic and Internal Market Data

    master

    The dashboard tracks two types of markets:

    1. Galactic Market (GalacticMarketResource): Represents market data for a single resource at a specific time. It tracks resource_index (matching game files), availability, fluctuation, and total resources_bought/resources_sold across all countries.
    2. Internal Market (InternalMarketResource): Represents a country's specific internal market resources, identified by resource_name_id (linked to SharedDescription). It tracks resource fluctuation.