Skip to content

About

MikZy is a plugin for CS2 for running and managing practice/pugs/scrims/matches with easy configuration and Get5 (G5API/G5V) support. - Forked

Topics

Resources

Stars

13 stars

Watchers

2 watching

Forks

 
 

Latest commit

 

History

313 Commits

Folders and files

Repository files navigation

MikZy (MatchZy)

Latest release CS2 CounterStrikeSharp Docs Discord

MikZy is a CounterStrikeSharp plugin for running CS2 matches, scrims, pugs and practice on your own server. It is a customized fork of MatchZy built for game-server hosting. The plugin still loads as MatchZy, so file names, folders, commands and settings (MatchZy.dll, cfg/MatchZy/, matchzy_*) are unchanged.

Looking for the official MatchZy? Use MatchZy by WD-. This fork is an optional alternative for those who want its extra features, for example for tournaments, leagues or community servers. Feature requests and issues are welcome, but there is no guarantee they will be picked up or implemented.

Documentation: https://matchzy.miksen.me/

What the fork adds

  • Live events API: every round, kill, pause and map result posted as JSON to matchzy_remote_log_url, for panels, bots and scoreboards. Live events follow Get5's event format by default, so Get5 tooling can read them as is.
  • Get5 / G5API compatibility: load matches from a URL, get5_status, get5_endmatch, the Get5 match config format, get5_time_to_start / .addreadytime and Get5's technical pause rules.
  • Ready-up options: per-team ready (matchzy_ready_per_team), join ready mode where nobody types .ready (matchzy_ready_mode 1), and a no-show forfeit when a team is not ready in time.
  • Advanced stats: HLTV 2.0 rating, KAST, clutches and opening duels, saved to SQLite or MySQL and exported as CSV and JSON.
  • Coaches: per-team coach lists in the match config, invisible coach slots and hand-tuned viewing spots per map.
  • Pauses: tactical and technical pauses with per-team budgets, overtime timeouts and automatic pausing when a player disconnects.
  • In-game menus: .ma admin menu and a .matchsetup wizard that builds a match without writing JSON.
  • Game modes: competitive, wingman, rush (3v3) and 1v1, from the match config ("game_mode"), the .matchsetup wizard or .5v5 / .wingman / .1v1. Team size, ready count and live cfg follow the mode.
  • Practice: grenade history with rethrow, saved and shared lineups shown on the map (.shownades), bots that shoot back, bot loadouts, path recording with bot replay, a team strategy recorder (.stratrec), .xray, spawns, timers and fast forward.
  • Server hosting: round backups with a restore picker in .ma, CSTV demo checks, workshop maps, and optional shutdown when a series ends or the server is empty.
  • Players vs bots: a match config can put a bot team against an open team of humans.

Install

  1. Install CounterStrikeSharp on the server.
  2. Download the latest MatchZy-<version>.zip from the releases page.
  3. Extract it into game/csgo/ and restart the server.

MatchZy writes its config files to csgo/cfg/MatchZy/ on first load (or to csgo/cfg/matchzy/ if that folder already exists). Edit config.cfg there to tune the server.

Optional: install CS2MenuManager (1.0.42 or newer) for the in-game menus. Everything else works without it.

Full guide: Installation

Update

Extract the new zip over the old one and restart. The zip contains nothing under cfg/, so your config files, admins, database settings and saved lineups are never overwritten. New settings are added to the bottom of your config.cfg automatically, and reference copies of the current default cfgs are written to cfg/MatchZy/defaults/ on every load.

To change a few settings of a mode (for example warmup), put only those lines in warmup_override.cfg next to warmup.cfg. MatchZy runs it right after the mode cfg and never writes it, so your changes survive every update.

Details: Updating

Requirements

Component Required Notes
CS2 dedicated server Yes Linux or Windows.
CounterStrikeSharp Yes Stock CounterStrikeSharp works. Developed against a .NET 10 build.
CS2MenuManager 1.0.42+ No Only for .ma, .matchsetup, .nades and .strats.
MySQL / MariaDB No SQLite is used by default.

Documentation

Build from source

git clone https://github.com/mrc4tt/MatchZy.git
cd MatchZy
dotnet build -c Release

The output is bin/Release/net10.0/MatchZy.dll with its dependencies. The project compiles against a local CounterStrikeSharp API DLL; point it at yours with -p:CssApiDir=/path/to/CounterStrikeSharp.API/bin/Release/net10.0, and build against the same CounterStrikeSharp version the server runs.

There is no test suite: the plugin only runs inside a CS2 dedicated server, so test changes on a server before opening a pull request.

Support

Need help, found a bug, or have a feature idea? Join the Discord support server:

Discord

  • Questions and setup help: ask in the support channels on Discord.
  • Bug reports: open a GitHub issue, see Reporting bugs below. Discord is fine for a quick check first.
  • Feature requests: post them on Discord or open an issue.

Please do not send support requests by direct message. Asking in the public channels means others can help and find the answer later.

Reporting bugs

Open an issue with the output of css_matchzy_version, your CounterStrikeSharp version and the relevant server console lines. Remove tokens and passwords from logs first.

Credits

Based on MatchZy by Shobhit Pathak (WD-).

About

MikZy is a plugin for CS2 for running and managing practice/pugs/scrims/matches with easy configuration and Get5 (G5API/G5V) support. - Forked

Topics

Resources

Stars

13 stars

Watchers

2 watching

Forks

Releases

Contributors

Languages