https://github.com/sivert-io/matchzy-overtime-manager
Matchzy Overtime Manager (MOM) is an extension for the MatchZy CS2 plugin. It runs as an Express server in TypeScript, listens for get5 events, and enforces custom overtime rules to prevent excessive overtimes in tournaments. ๐
https://github.com/sivert-io/matchzy-overtime-manager
cs2 get5 matchzy
Last synced: 8 months ago
JSON representation
Matchzy Overtime Manager (MOM) is an extension for the MatchZy CS2 plugin. It runs as an Express server in TypeScript, listens for get5 events, and enforces custom overtime rules to prevent excessive overtimes in tournaments. ๐
- Host: GitHub
- URL: https://github.com/sivert-io/matchzy-overtime-manager
- Owner: sivert-io
- Created: 2025-02-18T20:28:53.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-09-05T07:02:36.000Z (9 months ago)
- Last Synced: 2025-10-03T18:55:18.287Z (9 months ago)
- Topics: cs2, get5, matchzy
- Language: TypeScript
- Homepage: https://matchzy-overtime-manager.vercel.app/
- Size: 6.68 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Matchzy Overtime Manager (MOM) โก
MOM is an extension for the MatchZy CS2 plugin. It runs as an Express server in TypeScript, listens for get5 events, and enforces custom overtime rules to prevent excessive overtimes in tournaments. ๐ฎ๐
> [!CAUTION]
> This plugin cannot be run simultaneously with any get5 panel, as it takes over the endpoint used by the panel. MOM uses the same logic to receive events from the server as a get5 panel would. If you need to use both at the same time, you will have to create a middle-man service to forward events to both, or modify either the get5-panel or this plugin to handle event forwarding.
Your browser does not support the video tag.
## Table of Contents ๐
- [Features โจ](#features-)
- [Quick Start ๐](#quick-start-)
- [CS2 Server Configuration โ๏ธ](#cs2-server-configuration-๏ธ)
- [Development ๐๏ธ](#development-๏ธ)
- [Contributing ๐ค](#contributing-)
- [Thanks ๐](#thanks-)
## Features โจ
- ๐ง Listens for CS2 match events via get5
- โ๏ธ Automatically handles overtime scenarios
- ๐ Written in TypeScript for type safety
- ๐ Simple and lightweight Express server
## Quick Start ๐
To quickly get started with MOM:
1. **Create a .env file** based on the example:
```sh
cp .env.example .env
```
Open .env and modify the values to match your server configuration, for example:
```ini
# Use server-id as prefix. e.g. server1_
server1_rcon_host="127.0.0.1"
server1_rcon_port="27016"
server1_rcon_password="your_rcon_password"
# Maximum number of rounds allowed before calculating the winner
max_rounds=30
```
2. **Run the project with Docker Compose**:
```sh
docker-compose up -d
```
This will automatically build and start the server with the configuration in your .env file.
## CS2 Server Configuration โ๏ธ
To make get5 send match events to MOM, [update your CS2 serverโs matchzy_remote_log_url parameter](https://shobhit-pathak.github.io/MatchZy/configuration/#matchzy_remote_log_url):
Add this line to your /game/csgo/cfg/MatchZy/live.cfg file at the top:
```bash
matchzy_remote_log_url "http://127.0.0.1:3000/events"
matchzy_remote_log_header_key "server-id"
matchzy_remote_log_header_value "server1"
```
Replace 127.0.0.1 with the actual IP address of your MOM server (if running on a different host).
Update field matchzy_remote_log_header_value with a unique ID for your server.
## Development ๐๏ธ
To add new features or modify existing functionality:
1. Start the TypeScript compiler in watch mode:
```sh
npm run dev
```
2. Modify the source code in the src/ directory.
3. Ensure changes work by running:
```sh
npm run build && npm start
```
## Contributing ๐ค
We welcome contributions! Feel free to open issues or submit pull requests. ๐
## Thanks ๐
A special thanks to:
- ๐ฏ [get5 developers](https://github.com/splewis/get5) for the original tournament framework.
- ๐ฅ The CS2 and LAN tournament community for testing and feedback.