Summary
Two related UX/configuration improvements for matchmaking:
1. Per-guild disable_matchmaking flag in GroupMetadata
Add a DisableMatchmaking bool field to GroupMetadata (in server/evr_group_metadata.go), analogous to the existing DisableCreateCommand flag. This allows specific guilds — particularly those without game servers or matchmaking infrastructure — to opt out of receiving matchmaking tickets entirely.
Why it matters: Guilds that don't support matchmaking are still accepting tickets today, filling up the per-group ticket limit (MaxMatchmakingTickets = 24) and silently blocking real players. There's currently no way for guild admins to disable matchmaking for their guild without server-side changes.
Reference pattern:
// server/evr_group_metadata.go
DisableCreateCommand bool `json:"disable_create_command"` // Disables /create
// Proposed addition:
DisableMatchmaking bool `json:"disable_matchmaking"` // Disables matchmaking for this guild
Enforcement should happen at ticket submission time in server/evr_lobby_matchmake.go, mirroring how DisableCreateCommand is checked before allowing /create.
2. User-facing feedback in two matchmaking failure scenarios
Currently, when matchmaking silently fails or is unavailable, users receive no feedback and are left waiting indefinitely.
Scenario A — Lobby/group changes during matchmaking:
If a player's party or lobby parameters change after a matchmaking ticket is submitted (e.g. party composition changes, lobby mode changes), the player should receive a Discord message or in-game notification explaining that matchmaking has been reset/cancelled and why.
Scenario B — Matchmaking attempted into a guild with matchmaking disabled:
If DisableMatchmaking is set for the guild associated with the player's matchmaking request, the player should receive immediate feedback (e.g. a Discord DM or ephemeral message) explaining that matchmaking is not available for their current guild, rather than waiting the full MatchmakingTimeoutSecs (currently 360s) with no result.
Relevant files
server/evr_group_metadata.go — add DisableMatchmaking field
server/evr_lobby_matchmake.go — enforce flag at ticket submission; send user feedback
server/evr_lobby_group.go — detect lobby/group changes; trigger feedback
server/evr_discord_appbot.go — send Discord DM/ephemeral feedback to user
Related
This was surfaced while investigating why the Vibinators bot gets stuck matchmaking. One likely contributing factor is that guilds without matchmaking infrastructure are silently consuming ticket capacity.
Summary
Two related UX/configuration improvements for matchmaking:
1. Per-guild
disable_matchmakingflag inGroupMetadataAdd a
DisableMatchmaking boolfield toGroupMetadata(inserver/evr_group_metadata.go), analogous to the existingDisableCreateCommandflag. This allows specific guilds — particularly those without game servers or matchmaking infrastructure — to opt out of receiving matchmaking tickets entirely.Why it matters: Guilds that don't support matchmaking are still accepting tickets today, filling up the per-group ticket limit (
MaxMatchmakingTickets = 24) and silently blocking real players. There's currently no way for guild admins to disable matchmaking for their guild without server-side changes.Reference pattern:
Enforcement should happen at ticket submission time in
server/evr_lobby_matchmake.go, mirroring howDisableCreateCommandis checked before allowing/create.2. User-facing feedback in two matchmaking failure scenarios
Currently, when matchmaking silently fails or is unavailable, users receive no feedback and are left waiting indefinitely.
Scenario A — Lobby/group changes during matchmaking:
If a player's party or lobby parameters change after a matchmaking ticket is submitted (e.g. party composition changes, lobby mode changes), the player should receive a Discord message or in-game notification explaining that matchmaking has been reset/cancelled and why.
Scenario B — Matchmaking attempted into a guild with matchmaking disabled:
If
DisableMatchmakingis set for the guild associated with the player's matchmaking request, the player should receive immediate feedback (e.g. a Discord DM or ephemeral message) explaining that matchmaking is not available for their current guild, rather than waiting the fullMatchmakingTimeoutSecs(currently 360s) with no result.Relevant files
server/evr_group_metadata.go— addDisableMatchmakingfieldserver/evr_lobby_matchmake.go— enforce flag at ticket submission; send user feedbackserver/evr_lobby_group.go— detect lobby/group changes; trigger feedbackserver/evr_discord_appbot.go— send Discord DM/ephemeral feedback to userRelated
This was surfaced while investigating why the Vibinators bot gets stuck matchmaking. One likely contributing factor is that guilds without matchmaking infrastructure are silently consuming ticket capacity.