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. 🎮🏆
- 🎧 Listens for CS2 match events via get5
- ⚙️ Automatically handles overtime scenarios
- 📝 Written in TypeScript for type safety
- 🚀 Simple and lightweight Express server
- Node.js (latest LTS recommended)
- TypeScript
- A CS2 server with get5 (Matchzy) installed
-
Clone the repository:
git clone https://github.com/sivert-io/matchzy-overtime-manager.git cd matchzy-overtime-manager
-
Install dependencies:
npm install
-
Build the project:
npm run build
-
Start the server:
npm start
Before running MOM, you need to configure your environment variables:
- Copy the example environment file:
cp .env.example .env
- Open
.env
and replace the values with your server configuration:# Use server-id as prefix. e.g. server1_<variable_name> 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
To start MOM using Docker:
-
Build the Docker image:
docker build -t matchzy-overtime-manager .
-
Run the container:
With .env:
docker run -d -p 3000:3000 --name matchzy-overtime-manager matchzy-overtime-manager
Without .env:
docker run -d \
--name matchzy-overtime-manager \
-p 3000:3000 \
-e NODE_ENV=production \
-e server1_rcon_host="127.0.0.1" \
-e server1_rcon_port="27015" \
-e server1_rcon_password="your_rcon_password" \
-e server2_rcon_host="127.0.0.1" \
-e server2_rcon_port="27016" \
-e server2_rcon_password="your_rcon_password" \
-e max_rounds=30 \
--restart unless-stopped \
matchzy-overtime-manager
Alternatively, you can use Docker Compose:
docker-compose up -d
To make get5 send match events to MOM, update your CS2 server’s matchzy_remote_log_url
parameter:
Add this line to your /game/csgo/cfg/MatchZy/live.cfg
file at the top:
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.
To add new features or modify existing functionality:
- Start the TypeScript compiler in watch mode:
npm run dev
- Modify the source code in the
src/
directory. - Ensure changes work by running:
npm run build && npm start
We welcome contributions! Feel free to open issues or submit pull requests. 🎉
A special thanks to:
- 🎯 get5 developers for the original tournament framework.
- 🔥 The CS2 and LAN tournament community for testing and feedback.