Troubleshooting¶
Server Issues¶
Server Shows Offline¶
Symptoms: Status shows 🔴 Offline
Check:
- Is CS2 server running?
- Is RCON password correct?
- Can API reach server on port 27015?
- Check firewall rules
Fix:
- Verify server is running
- Test RCON:
rcon_address IP:27015; rcon_password PASSWORD; rcon status - Click "Check Status" to refresh
- Reconfigure server with correct RCON password
Match Won't Load¶
Symptoms: "Failed to load match" error
Check:
- Is server status "Online"?
- Is MatchZy plugin loaded? (
css_plugins list) - Can server reach API for webhook?
Fix:
- Verify MatchZy installed
- Check server console for errors
- Try manual RCON:
matchzy_loadmatch_url https://... - Restart CS2 server if needed
Events Not Arriving¶
Symptoms: No real-time updates, player connections not showing
Check:
- CS2 console:
[MatchZy] Remote log sent: ... - API console for events
- Webhook configuration
- SERVER_TOKEN matches
Fix:
- Check CS2 can reach API (from your CS2 server):
- Docker:
curl http://192.168.1.50:3069/api/events/test - Local dev:
curl http://192.168.1.50:3000/api/events/test
- Docker:
- Verify
matchzy_remote_log_urlis set correctly - Verify
matchzy_remote_log_header_valuematches SERVER_TOKEN - Click "Check Status" to reconfigure webhooks
- Check firewall allows inbound on port 3069 (Docker) or 3000 (local dev)
Match Issues¶
Player Can't Connect¶
Symptoms: "Auth rejected" or similar
Fix:
- Verify Steam ID is correct
- Add as backup player:
- Match Details → Player Management
- Search player, select team, add
- Ensure
get5_check_auths trueis set
Veto Not Starting¶
Symptoms: No "Start Veto" button on team page
Check:
- Is tournament started?
- Is match format BO1/BO3/BO5?
- Is match status "ready"?
Fix:
- Verify tournament is in "In Progress" state
- Refresh team page
- If stuck, admin can skip veto
Match Stuck in Warmup¶
Symptoms: Waiting for players, but all are connected
Check:
- Are all players actually ready? (typed
.ready) - Are there 10/10 players?
Fix:
- Check player roster for who's not ready
- Ask players to type
.ready - Or force start: Admin Controls → End Warmup
Scores Not Updating¶
Symptoms: Live scores not changing
Check:
- Are events arriving? (check API logs)
- Is WebSocket connected? (check browser console)
Fix:
- Refresh page
- Check server events endpoint
- Verify match is actually live on server
Bracket Issues¶
Winner Not Advancing¶
Symptoms: Match complete but bracket not updating
Fix:
- Verify match status is "completed"
- Check winner is set correctly
- Manually set winner if needed:
- Click match in bracket
- Set Winner → Select team
- Refresh bracket page
Team Shows as "TBD"¶
Symptoms: Team slot shows "TBD" instead of team name
Explanation: Normal - waiting for previous match
Fix:
- Previous match must complete first
- Winner auto-fills the slot
Network Issues¶
API Server Unreachable¶
Symptoms: CS2 servers can't send webhooks
Fix:
- Test API is reachable (from CS2 server):
- Docker:
curl http://192.168.1.50:3069/api/events/test - Local dev:
curl http://192.168.1.50:3000/api/events/test
- Docker:
- Check firewall allows inbound on port 3069 (Docker) or 3000 (local dev)
- Verify the webhook URL in the dashboard Settings matches your setup:
- Docker: typically
https://your-domain.com - Local dev:
http://your-ip:3000
- Docker: typically
- Use IP address instead of hostname if DNS issues
CS2 Server Unreachable¶
Symptoms: Can't send RCON commands
Fix:
- Check server is running
- Verify port 27015 is open
- Test from API server:
nc -zv server-ip 27015 - Check RCON password is correct
Docker Issues¶
Container Won't Start¶
Fix:
# Check logs
docker compose logs api
# Common issues:
# - Port already in use: change PORT in .env
# - Database locked: rm data/tournament.db (WARNING: deletes data)
# - Missing .env: cp .env.example .env
Can't Access from Other Machines¶
Fix:
# Ensure ports are exposed
docker compose ps
# Should show 0.0.0.0:3069->3069
# If not, check docker compose.yml ports section
General Tips¶
Enable Debug Logging¶
Restart API to see detailed logs.
Check Browser Console¶
Press F12 in browser, check Console tab for:
- WebSocket connection errors
- API request failures
- JavaScript errors
Verify Environment¶
# Check all services
docker compose ps # All should be "Up"
# Check API health
curl http://localhost:3069/api/events/test
# Check CS2 server
rcon_address IP:27015
rcon_password PASSWORD
rcon status
Clean Slate Restart¶
If all else fails:
# Restart everything
docker compose down
docker compose up -d --build
# Or without Docker:
npm run build
npm start
Getting Help¶
If you're still stuck:
- Check GitHub Issues: https://github.com/sivert-io/matchzy-auto-tournament/issues
- Start a Discussion: https://github.com/sivert-io/matchzy-auto-tournament/discussions
- Include:
- What you were trying to do
- Error messages (API logs, CS2 console)
- Browser console errors (if frontend issue)
- Your setup (Docker/local, network config)