Skip to content

Match Setup

What is it?

A match configuration file contains everything that MatchZy and your server needs to host a series. This includes locking players to their correct team and side, setting the map(s) and configuring the game rules.

Note: MatchZy can still be used for pug/scrim/practice without setting up matches (if matchzy_kick_when_no_match_loaded if set to false). Match setup is only required when you want to host a series and lock players in their correct team and side.

In this documentation, we'll see how we can setup a match in MatchZy using a JSON file (structure of the JSON file is given below). There are 2 commands available which can be used to load a match:

  1. matchzy_loadmatch <filepath>: Loads a JSON match configuration file relative to the csgo directory.
  2. matchzy_loadmatch_url <url> [header name] [header value]: Loads a remote (JSON-formatted) match configuration by sending an HTTP(S) GET to the given URL. You may optionally provide an HTTP header and value pair using the header name and header value arguments. You should put all arguments inside quotation marks (""). ("").

Example

Example only

Required fields: "maplist", "team1", "team2" and "num_maps"``. If"matchid"` is left empty, it will be auto-generated by the server.

csgo/astralis_vs_navi_27.json
{
  "matchid": 27,
  "team1": {
    "name": "Astralis",
    "players": {
      "76561197990682262": "Xyp9x",
      "76561198010511021": "gla1ve",
      "76561197979669175": "K0nfig",
      "76561198028458803": "BlameF",
      "76561198024248129": "farlig"
    }
  },
  "team2": {
    "name": "NaVi",
    "players": {
      "76561198034202275": "s1mple",
      "76561198044045107": "electronic",
      "76561198246607476": "b1t",
      "76561198121220486": "Perfecto",
      "76561198040577200": "sdy"
    }
  },
  "num_maps": 3,
  "maplist": [
    "de_mirage",
    "de_overpass",
    "de_inferno"
  ],
  "map_sides": [
    "team1_ct",
    "team2_ct",
    "knife"
  ],
  "spectators": {
    "players": {
      "76561198264582285": "Anders Blume"
    }
  },
  "clinch_series": true,
  "players_per_team": 5,
  "cvars": {
    "hostname": "MatchZy: Astralis vs NaVi #27",
    "mp_friendlyfire": "0"
  }
}

This file can be loaded using :

  1. matchzy_loadmatch astralis_vs_navi_27.json (if you have astralis_vs_navi_27.json in your csgo directory)
  2. matchzy_loadmatch_url "https://<url>/astralis_vs_navi_27.json"

Current Limitations?

  1. Coaches cannot be added directly via this match configuration, hence to add a coach, add them to "players" key of the team and then use .coach <teamside> command in the server to start coaching.
  2. Only Steam64id is supported currently.

These limitations will be resolved ASAP in the next updates! :D