← Back |
◈ PLUGIN INSTALL GUIDE

PLUGIN INSTALL GUIDE

EDMC PLUGIN · BGS TALLY INTEGRATION · ETNF FORWARDER · LINUX OVERLAY · TROUBLESHOOTING
CONTENTS
Section 1 — EDMC Plugin (Windows & Linux) Section 2 — BGS Tally Integration Section 3 — ETNF Forwarder (multi-server fan-out) Section 4 — Linux BGS Overlay Section 5 — Auto-Install via Companion App Section 6 — Troubleshooting
⬡ SECTION 1 — EDMC PLUGIN
Windows & Linux · BGS activity · Powerplay merits · Includes ETNF forwarder
⬇ DOWNLOAD PLUGIN (load.py)
STEP 1 — INSTALL EDMC
  1. Download and install Elite Dangerous Market Connector (EDMC) from edmarketconnector.github.io.
  2. Run the installer. On Windows it installs to %LOCALAPPDATA%/EDMarketConnector.
  3. Launch EDMC and log in with your Frontier account when prompted.
STEP 2 — CREATE THE PLUGIN FOLDER
  1. In EDMC, open File → Settings → Plugins tab.
  2. Click Show Folder — the EDMC plugins directory opens.
  3. Inside that directory, create a new folder named exactly EliteBGSPortal.
Windows path: %APPDATA%/EDMarketConnector/plugins/EliteBGSPortal/
Linux path: ~/.local/share/EDMarketConnector/plugins/EliteBGSPortal/
STEP 3 — INSTALL THE PLUGIN FILE
  1. Download load.py using the button above.
  2. Move load.py into the EliteBGSPortal folder you just created.
  3. Restart EDMC completely (File → Exit, then relaunch).
STEP 4 — CONFIGURE YOUR SQUADRON
  1. After EDMC restarts, open File → Settings → Elite BGS Portal tab.
  2. The tab shows your connection status, current squadron slug, and server URL.
  3. If not yet configured: use the Elite BGS Companion app (or ask your leader) to obtain the API key and server URL, then set them in elite-bgs-config.json in the plugin folder.
The plugin tracks: FSD jumps (live influence snapshots), mission completions/failures, bounty & combat bond redemptions, trade events, exploration data sells, Powerplay merits (CombatBond / Deliver / Collect / Mission / FastTrack), and any BGS-relevant Docked or ApproachSettlement events.
◈ SECTION 2 — BGS TALLY INTEGRATION
API v1.8.0 · by aussig · CZ tier wins · per-faction influence · trade brackets
⊕ GET BGS-TALLY FROM GITHUB
STEP 1 — INSTALL BGS-TALLY IN EDMC
  1. Visit the BGS-Tally GitHub page and follow their installation instructions.
  2. Typically: download the release zip, extract it into your EDMC plugins folder, and restart EDMC.
  3. A BGS Tally tab should appear in EDMC → File → Settings.
STEP 2 — FIND YOUR SQUADRON'S BGS TALLY URL AND API KEY
  1. Log in to your squadron portal.
  2. Click the ◈ DATA FEEDS button (visible to squadron leaders).
  3. Copy both the BGS Tally URL and API Key from the BGS TALLY INTEGRATION section.
Only squadron leaders can see the API key. Regular members should ask their leader to share it via a secure channel.
STEP 3 — CONNECT BGS-TALLY TO THE PORTAL
  1. In EDMC → File → Settings → BGS Tally tab, scroll to API Integrations and click Add API.
  2. Paste the BGS Tally URL from Step 2. BGS-Tally will auto-fetch the server name and available events.
  3. When prompted for an API key, paste the key from Step 2.
  4. Enable the Activities, Events, and Objectives toggles.
  5. Click Approve. BGS-Tally begins sending data within 60 seconds of your next journal event.
BGS-Tally captures data the standard EDMC plugin does not — particularly CZ tier wins (low/med/high) required for accurate conflict zone credit. It is strongly recommended for commanders actively fighting wars.
◈ SECTION 3 — ETNF FORWARDER
Elite Tactical Network Forwarder · multi-server fan-out · BGS Portal · Comstar · Discord · Webhooks

The ETNF Forwarder is built into the same plugin file. It solves one problem: BGS Tally can only send to one server at a time. ETNF sits in between — BGS Tally points at ETNF's local proxy, and ETNF fans every request out to as many destinations as you configure simultaneously. You can also use it to forward directly to Discord or any HTTP webhook without BGS Tally being involved at all.

HOW IT WORKS
  1. When EDMC loads the plugin, ETNF starts a lightweight HTTP server on http://localhost:5001 (configurable).
  2. You configure BGS Tally to point at that local address instead of any real server.
  3. Every request BGS Tally makes — activity snapshots, journal events, objectives polls — ETNF receives and immediately forwards in parallel to every enabled target.
  4. BGS Tally gets a valid response back and never knows it is talking to a proxy.
You can also use ETNF without BGS Tally — the plugin itself fans out your journal events to all ETNF targets automatically from _sender_loop, so Discord and webhook targets receive data even if you never configure BGS Tally.
TARGET TYPES

Each ETNF target has a type that controls how the data is sent:

Type When to use it What it sends
BGS Portal Your ETN squadron portal or any Elite BGS Portal instance BGS Tally API v1.8.0 — PUT activities, POST events, GET objectives. Requires server URL, squadron slug, and API key.
Custom API Comstar, third-party squadron tools, or any server using the BGS Tally protocol but with a different URL layout or auth scheme Same BGS Tally API v1.8.0 payload. Fully configurable URL template (with {endpoint} placeholder), auth header name, auth value, and HTTP method per endpoint.
Webhook Any custom HTTP endpoint — squadron bots, stat trackers, logging services Raw JSON body. Configure URL, method (POST/PUT/PATCH), and optional custom request headers (e.g. Authorization: Bearer xyz). Choose whether to forward activities, events, or both.
Discord A Discord channel webhook for live squadron activity announcements Formatted embeds — cyan for activity snapshots (~60 s), gold for journal event batches. Configure which data types to forward to avoid channel noise.
STEP 1 — POINT BGS TALLY AT THE LOCAL PROXY
  1. Open EDMC → File → Settings → Elite BGS Portal tab and scroll to the ETNF Forwarder section.
  2. Under Configure BGS Tally to point here, you will see three read-only fields. Copy each one.
  3. In EDMC → File → Settings → BGS Tally tab, click Add API and enter:
    • Server URL: http://localhost:5001
    • Slug: etnf (ETNF ignores this — you can use any name)
    • API Key: paste the key shown in the ETNF section (auto-generated, unique per install)
  4. Enable Activities, Events, and Objectives in BGS Tally, then click Approve.
If you changed the port in a previous session, use the updated port number instead of 5001. Any port change requires an EDMC restart to take effect.
STEP 2 — ADD FORWARD TARGETS
  1. In the ETNF Forwarder section, click Add target.
  2. Enter a display name, then choose a target type from the dropdown. The form fields update to match the type you selected.
  3. Fill in the required fields (see the target type table above for what each type needs).
  4. Click Save. The target appears in the list immediately and is enabled by default.
  5. Repeat for as many targets as you need — there is no limit.
ADDING A BGS PORTAL TARGET
  1. Type: BGS Portal
  2. Server URL — the base URL of the portal, e.g. https://elite-bgs.store
  3. Squadron slug — your squadron's URL slug, e.g. my-squadron
  4. API key — from the portal's Admin → Data Feeds panel. Use the eye icon to reveal the key while pasting.
Test the connection with the Test connection button — ETNF will query the server's discovery endpoint and show you its name and API version to confirm everything is wired up correctly.
ADDING A COMSTAR OR CUSTOM API SERVER TARGET
  1. Type: Custom API
  2. URL template — the full URL with {endpoint} where the path segment goes.
    Example for Comstar: https://comstar.yourserver.com/api/bgs/{endpoint}
    A live preview updates below the field as you type so you can see the final activities URL immediately.
  3. Auth header name — the HTTP header the server expects the key in (default: apikey). Common alternatives: Authorization, X-API-Key.
  4. Auth value — the API key or token. If using Bearer auth, set the header to Authorization and the value to Bearer your-token-here.
  5. Activities method / Events method — choose PUT or POST to match what the server expects (BGS Tally standard is PUT for activities, POST for events).
  6. Forward — check which data types to send. Uncheck Events if the server only needs activity snapshots.
Test connection will first try the server's {endpoint}=discovery URL. If the server does not implement discovery, ETNF falls back to a HEAD request on the activities URL to confirm reachability.
ADDING A WEBHOOK TARGET
  1. Type: Webhook
  2. Endpoint URL — the full URL that should receive the JSON payload.
  3. HTTP method — POST, PUT, or PATCH depending on your endpoint.
  4. Forward — Activities arrives every ~60 seconds as a large structured JSON object. Events arrive every 5 seconds as a batch of up to 10 raw journal events. Enable whichever your endpoint needs.
  5. Custom headers — one per line in Header-Name: value format. Examples:
    Authorization: Bearer my-secret-token
    X-Squadron-ID: my-squadron
ADDING A DISCORD WEBHOOK TARGET
  1. Type: Discord
  2. In Discord: right-click your channel → Edit Channel → Integrations → Webhooks → New Webhook → Copy Webhook URL.
  3. Paste the webhook URL into the Webhook URL field.
  4. Forward:
    — Activity snapshots post a cyan embed every ~60 s showing per-faction BGS contributions (missions, bounties, combat bonds, CZ wins).
    — Journal events post a gold embed every 5 s with the raw event names and systems. This is verbose — only enable it for a dedicated activity-log channel.
  5. Click Test connection to verify the webhook URL is valid and see the webhook name and channel ID.
MANAGING TARGETS

The targets list shows all configured destinations with a status icon (✓ enabled / ✗ disabled), the target type, display name, and destination URL.

  • Edit — re-opens the add/edit dialog for the selected target to change any field.
  • Enable / Disable — toggles the selected target on or off without removing it. Useful for temporarily pausing a destination.
  • Remove — permanently deletes the target after confirmation.
  • Test connection — performs a live connectivity check appropriate to the target type and shows the result.
All target changes are saved to etnf-config.json in the plugin folder immediately — no restart required.
CHANGING THE PROXY PORT
  1. In the ETNF section, edit the Port field and click Save port.
  2. Restart EDMC for the new port to take effect.
  3. Update the Server URL in BGS Tally to match the new port (e.g. http://localhost:5002).
You only need to change the port if something else on your computer is already using 5001. If unsure, leave it at the default.
⬡ SECTION 4 — LINUX BGS OVERLAY
Linux only · Tkinter always-on-top panel · BGS / TALLY / PP tabs · Ctrl+Shift+B
STEP 1 — PREREQUISITES
  1. Ensure EDMC is installed on Linux (see Section 1).
  2. Install pynput for the global Ctrl+Shift+B hotkey:
    pip install pynput
    or via your distro: sudo apt install python3-pynput
  3. Tkinter must be available — ships with most Python installs. If missing: sudo apt install python3-tk
pynput is optional but strongly recommended. Without it, Ctrl+Shift+B only fires when EDMC has keyboard focus rather than as a true global hotkey.
STEP 2 — INSTALL THE PLUGIN
  1. Follow Section 1 Steps 1–3 to install load.py into the EliteBGSPortal folder.
  2. Restart EDMC.
STEP 3 — USING THE OVERLAY
  1. The overlay appears automatically in the top-right corner within a few seconds of EDMC loading.
  2. Press Ctrl+Shift+B to toggle it on/off. With pynput this works even when Elite Dangerous has focus.
  3. Click BGS, TALLY, or PP to switch tabs.
  4. Click and drag the title bar to reposition the overlay anywhere on screen.
  5. The overlay fetches live portal data (Tally & PP tabs) every 60 seconds automatically.
BGS tab: Live faction influence from your journal — updates on every FSD jump.
TALLY tab: Per-CMDR squadron activity from the portal — combat bonds, bounties, missions, CZ wins.
PP tab: Your Powerplay merits this session broken down by activity type. Sent to the portal every 60 seconds.
⬡ SECTION 5 — AUTO-INSTALL VIA COMPANION APP
Windows · Recommended for first-time setup

The Elite BGS Companion app for Windows installs and configures the EDMC plugin automatically — no manual folder creation or file moving required.

HOW TO USE AUTO-INSTALL
  1. Download and install the Elite BGS Companion for Windows from the companion download page.
  2. Launch the companion app and log in with your squadron credentials.
  3. Click Setup Data Feeds in the companion's settings panel.
  4. The app downloads the latest load.py, creates the EliteBGSPortal folder, and places the file inside — fully configured with your server URL and API key.
  5. Restart EDMC — the plugin is ready with no further configuration needed.
Auto-install requires EDMC to be installed first. The companion detects the EDMC plugins folder from the Windows registry or the default install path.
⬡ SECTION 6 — TROUBLESHOOTING
Common issues and fixes
PLUGIN NOT APPEARING IN EDMC
  1. Verify the folder is named exactly EliteBGSPortal — capitalisation matters on Linux.
  2. Verify load.py is directly inside EliteBGSPortal, not in a subfolder.
  3. Fully exit EDMC (File → Exit) and relaunch — do not just close the window.
  4. Check EDMC's log: %TEMP%\EDMarketConnector.log on Windows, ~/.local/share/EDMarketConnector/EDMarketConnector.log on Linux.
DATA NOT REACHING THE PORTAL
  1. Confirm your API Key is correct — copy it fresh from the portal's DATA FEEDS panel.
  2. Ensure your server URL has no trailing slash.
  3. Verify the squadron slug is correct and case-matching.
  4. Check that your firewall or VPN is not blocking outbound HTTPS to the portal server.
  5. Open EDMC → Settings → Elite BGS Portal — the status line will show the last error if one occurred.
BGS TALLY NOT SENDING TO ETNF
  1. Confirm the Server URL in BGS Tally is http://localhost:5001 (or your custom port) — not the portal URL.
  2. Confirm the API Key in BGS Tally matches exactly what is shown in the ETNF section of EDMC → Settings (use the Copy button).
  3. Make sure Activities and Events are both enabled in BGS Tally's API settings for this entry.
  4. Check the EDMC log for [ETNF] lines — they show proxy startup and any bind errors.
  5. If the proxy could not bind (port already in use), change the port in the ETNF settings and restart EDMC, then update BGS Tally's server URL to match.
ETNF TARGETS NOT RECEIVING DATA
  1. Use the Test connection button for each target to confirm connectivity before relying on live data.
  2. Check the Last action status line at the bottom of the ETNF section after any BGS Tally activity — errors appear there in real time.
  3. For BGS Portal targets — verify the slug and API key are correct (the key comes from the target portal's admin panel, not from the ETNF local key).
  4. For Custom API targets — use the URL template preview to confirm the activities URL looks correct before saving.
  5. For Discord targets — ensure the webhook URL was copied in full. Webhook URLs expire if the webhook is deleted or regenerated in Discord.
  6. Disabled targets (marked ✗) never receive data — click Enable / Disable to re-enable.
LINUX OVERLAY NOT APPEARING
  1. The overlay should appear automatically within a few seconds of EDMC loading. If it does not, press Ctrl+Shift+B while EDMC has focus, or click Toggle BGS Overlay Panel in EDMC → Settings → Elite BGS Portal.
  2. Check the EDMC log for Tkinter errors. If Tkinter is missing: sudo apt install python3-tk
  3. On Wayland the overlay requires XWayland. Check echo $DISPLAY — if blank, launch EDMC with DISPLAY=:0 edmc.
  4. If the overlay appears off-screen, click Toggle BGS Overlay Panel twice in EDMC Settings to reset its position to the top-right corner.
CTRL+SHIFT+B HOTKEY NOT WORKING (LINUX)
  1. Check pynput is installed: python3 -c "import pynput; print('OK')"
  2. If not installed: pip install pynput then restart EDMC.
  3. Without pynput, Ctrl+Shift+B only works when EDMC has keyboard focus — click the EDMC window first.
  4. Some Wayland compositors block global input hooks — try switching to an X11 session.
BGS TALLY DATA SHOWING ZEROS
  1. BGS-Tally only sends data after tracked activity — dock at a station, complete a mission, or win a CZ.
  2. Make sure Activities, Events, and Objectives are all enabled in BGS-Tally's API settings for this server entry.
  3. Powerplay CZ kills credit as PP merits, not BGS combat bonds — they appear in the portal's PP section, not BGS activity.
  4. BGS conflict zone credit only counts in systems with an active Conflict or War state for your target faction.
Need further help? Contact your squadron leader or visit the portal's ◈ DATA FEEDS panel for your credentials.
← Return to portal