Auto Tournament

Troubleshooting

Fixes for common problems with the CS2 plugin.

For problems on the Auto Tournament side, see the main Troubleshooting page.

Where to look

  • The server console, and the server log. With CS2 Server Manager: sudo csm logs 1 200.
  • The plugin's own log of match phase changes: addons/counterstrikesharp/plugins/MatchZy/logs/matchzy_breadcrumbs.log.
  • In Auto Tournament, Admin Tools > Server Events Monitor shows the events that arrive from each server.

Since version 1.4.28, logs do not contain tokens or passwords. You can share them when you ask for help.

The plugin does not load

Run css_plugins list in the server console. MatchZy must be in the list.

  • If CounterStrikeSharp itself is missing, fix Metamod and CounterStrikeSharp first.
  • If the log shows Plugin uses old SourceHook Metamod build, Metamod is too new. Install Metamod 2.0.0.1411. With CS2 Server Manager, run sudo csm update-plugins.
  • Check that MatchZy.dll is at game/csgo/addons/counterstrikesharp/plugins/MatchZy/MatchZy.dll, not one folder deeper. The zip has a top folder that you must not copy.

No events arrive in Auto Tournament

  1. On the CS2 machine, test the connection. It must answer "success":true:

    curl http://192.168.1.50:3069/api/events/test
  2. Search the server log for Remote log URL set. The line shows the event URL the plugin uses. It must point to your Auto Tournament webhook URL. If it is empty or wrong, click Retry on the server in Auto Tournament.

  3. Send a test event with css_testevent, and watch the Server Events Monitor.

  4. Check the retry queue with matchzy_get_pending_events. A growing number means the events cannot get through.

  5. Check that matchzy_events_enabled is true.

The same server shows up several times

Several servers share one MySQL database, and the plugin cannot tell them apart. Update every server to version 1.4.28 or newer, and give each server its own +matchzy_config_scope <name> start argument. Then click Retry on each server. See Several servers on one database.

Look for this line at startup. Each server must show a different name:

[ConfigScope] Using scope 'cs2-server-2' (from start argument)

If the log warns that no scope was found, add the start argument.

Plugin DB down

The plugin cannot reach its own database. This is not the Auto Tournament database.

  • Check game/csgo/cfg/MatchZy/database.json: the host, port, database name, user and password.
  • Check that the MySQL server is reachable from the CS2 machine.
  • With CS2 Server Manager: run sudo csm, open Tools and choose MatchZy DB: verify/repair.

Restart the server after a fix.

The server loads the wrong match, or no match

  • A match loaded during postgame waits until the series resets. The reply ends with queued_match=<id>. matchzy_tournament_next_match shows it. Run matchzy_clear_queued_match to drop it.
  • The match config must have maplist, num_maps, team1 and team2. The server log names the missing field. See Match config and maps.

No demo

  • GOTV must be on (tv_enable 1). The plugin turns it on before recording.
  • matchzy_demo_recording_enabled must be true.
  • Check matchzy_demo_upload_url. Auto Tournament sets it for each match.
  • Look for demo_upload_fail in the Server Events Monitor. Behind nginx, set client_max_body_size 0, see Reverse proxy.

CS2 update required

Valve released a CS2 update. The plugin reports it with a cs2_update_required event and the log line [MATCHZY_UPDATE_AVAILABLE]. Update the game and restart the server. With CS2 Server Manager, see Plugins and updates.

On this page