MTGOBot is an automated event data collection bot for Magic: The Gathering Online (MTGO), built on top of the MTGOSDK library. It collects tournament and event data from the MTGO client and exposes it via a local server for further processing or analysis.
- .NET 10 SDK
- Node.js (v18 or newer)
- pnpm (v3 or newer)
Note
You must have both the .NET SDK and Node.js (with pnpm) installed before running or building this project.
-
Clone the repository:
git clone https://github.com/yourusername/MTGOBot.git cd MTGOBot -
Install dependencies (for both bot and server):
pnpm install
This uses pnpm workspaces to install all required packages for the
server/project. -
Configure environment variables:
- Copy
.env-exampleto.envand fill in your MTGO and database credentials. These include the username and password for your MTGO account, as well as postgres database connection details.
- Copy
You can start both the server and the bot together, or run them individually:
-
Start both server and bot:
pnpm start
-
Start only the server:
pnpm start:server
-
Start only the bot:
pnpm start:bot
The bot will connect to the MTGO client, collect event data, and the server will expose this data via a local API.
src/— C# source code for the MTGO bot (uses MTGOSDK)server/— Node.js/Express server for serving and updating event data.env-example— Example environment configuration
This project is licensed under the Apache-2.0 License.
Note: This project is not affiliated with Wizards of the Coast or Magic: The Gathering Online. Use at your own risk and ensure compliance with all applicable terms of service.