Skip to content

Repository files navigation

Videre Tracker

.NET MTGO MTGOSDK Version Version

Overview | Installation | Usage | Documentation | License | Disclaimer

Overview

Videre Tracker is a real-time game and collection tracker for Magic: The Gathering Online (MTGO). It captures, processes, and analyzes gameplay data in real-time, offering detailed statistics, replay capabilities, and performance insights to help you improve your MTGO gameplay experience.

Built on top of the MTGOSDK library, the Tracker provides a modern web-based UI embedded in a native Windows application, giving you a seamless experience while tracking your matches and analyzing your performance.

Installation

Requirements

Note

You must have both the .NET SDK and Node.js (with pnpm) installed before running or building this project.

To install pnpm, you can use npm:

npm install -g pnpm

Setup

To setup the Tracker, follow these steps:

  1. Clone the repository:

    git clone https://github.com/videre-project/Tracker.git
    cd Tracker
  2. Restore dependencies:

    pnpm run restore

Building

You can build both the client and server components using:

pnpm run build
  • This runs both the client (build:client) and server (build:server) builds.
  • You can build just the client or server using:
    • pnpm run build:client
    • pnpm run build:server

Usage

Run MTGO with Docker

On a Wayland desktop, start MTGO with:

docker compose up mtgo-wayland

The mtgo-wayland service uses the videreproject/mtgo:wayland image. On its first run, it downloads and installs MTGO, then stores the Wine prefix and bootstrapper in the mtgo-wine-data volume for later runs.

To follow the service logs or stop the container, use:

docker compose logs -f mtgo-wayland
docker compose down

The service mounts the Wayland socket from the current desktop session. Docker reads its directory from XDG_RUNTIME_DIR and uses wayland-0 when WAYLAND_DISPLAY is unset, so start it from a session where XDG_RUNTIME_DIR is set. It also mounts the host X11 socket for XWayland fallback and disables WPF hardware acceleration to avoid rendering MTGO windows black under Wine.

Run Tracker with MTGO under Wine

The tracker-wayland service builds on videreproject/mtgosdk:wayland. Its image installs both the Visual C++ 2015–2022 runtime and Microsoft's x64 Evergreen WebView2 Runtime for the Tracker's embedded web UI.

To run the Tracker through wine, first build the Windows executable on the host, then build and start the service:

pnpm run publish
docker compose build tracker-wayland
docker compose up tracker-wayland

The service starts both MTGO and the Tracker in the same container and Wine prefix so MTGOSDK can discover the MTGO process. It also disables Tracker's installer, starts WebView2 with GPU acceleration disabled, and generates a loopback certificate for Tracker's HTTPS server. Tracker data persists in the tracker-wine-data volume.

Development mode

To run the Tracker in development mode (with hot reload for the client and debug configuration):

pnpm run dev

This restores server dependencies, then runs the server in debug mode.

For the Docker/Wine development workflow, start the repository-local package registry from the Videre Platform repository, then launch Tracker's development services:

# In Videre Platform
pnpm registry:start

# In Tracker
docker compose build vite-dev tracker-dev
docker compose up tracker-dev

The Vite service keeps dependencies in the vite-node-modules volume while bind-mounting the client source for HMR. It resolves @videreproject/* packages through the host registry; set VIDERE_NPM_REGISTRY to override its default http://host.docker.internal:4873/ address.

Once started, the Tracker will:

  1. Automatically detect when MTGO is running
  2. Connect to the MTGO client when you log in
  3. Begin tracking your games and collecting data
  4. Display real-time statistics and game information in its UI

Publishing

To build and publish the project for deployment:

pnpm run publish
  • This compiles the application into an executable under the ./publish directory.

Documentation

Note

Documentation for Videre Tracker is currently in its early stages and may be incomplete or subject to change.

The following resource is available:

  • ARCHITECTURE.md — A technical overview describing the project's architecture, data flow, and extensibility.

Additional guides and documentation will be added over time as the project evolves. For now, we recommend referring to the architecture doc and the MTGOSDK documentation for furtther details on the underlying SDK used by the Tracker.

License

This project is licensed under the Apache-2.0 License.

Disclaimer

This project is not affiliated with Wizards of the Coast, Daybreak Games, or Magic: The Gathering Online. Magic: The Gathering Online (MTGO) is a trademark of Wizards of the Coast and is operated and published by Daybreak Games under license. All product names, trademarks, and registered trademarks are the property of their respective owners.

Videre Tracker is intended as a companion tool for MTGO players and is developed in accordance with the principles of fair use and interoperability under Section 103(f) of the Digital Millennium Copyright Act.

This is not legal advice. Use this software at your own risk and ensure compliance with all applicable terms of service.

About

A real-time game and collection tracker for Magic: The Gathering Online (MTGO).

Resources

Stars

14 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages