Skip to content

Releases: EchoTools/nakama

v3.27.2-evr.304

Choose a tag to compare

@metis-sprock metis-sprock released this 02 May 22:57
d134ecc

Party Hotfix

  • Fix: Party members no longer split across opposite teams in arena matches — buildMatch now detects same-ticket entrants on different teams and swaps them with solo players to reunite the party
  • Fix: Regression guard for party followers being sent to social lobby instead of following leader into combat (extracted shouldFollowerFindOrCreateSocial with tests)

v3.27.2-evr.303

Choose a tag to compare

@metis-sprock metis-sprock released this 02 May 21:10
e7ec68b

Changes

  • Matchmaking: MinCount reduced from 4 to 2 for Combat mode, allowing faster 1v1 formation after queue delay. Fixed team rating lookup using ticket ID instead of User ID in Combat mode. (#432)
  • Cosmetics: Unblocked 20 season/store cosmetic tags that were incorrectly restricted. (#433)
  • Notifications: Fixed persistent 99+ notifications by setting correct BattlePass version defaults. (#434)
  • Party System: Fixed infinite matchmaking when party leader transitions to social lobby. Refactored lobbyFind to resolve party state early and sync follower mode before authorization. (#435)

All changes authored by he_is_the_cat.

v3.27.2-evr.302

Choose a tag to compare

@metis-sprock metis-sprock released this 30 Apr 22:07
2cb4213

Combat matchmaking overhaul (even teams, dynamic queue timer, party splitting, pair-wise backfill) and infinite matchmaking fix for party followers in social mode.

v3.27.2-evr.301

Choose a tag to compare

@metis-sprock metis-sprock released this 25 Apr 20:00
v3.27.2-evr.301
a8bce76

Party Reliability, Combat Matchmaking, and Display Name Fixes

Bug Fixes

  • Backfill race condition — fixed a race where multiple players tried to fill the last slot simultaneously, causing "lobby full" errors and party splits (#416, #425)
  • Party slot reservation — leader now waits for followers before submitting matchmaking ticket, preventing solo placement (#410)
  • Party persistence — party members no longer lose track of the leader when transitioning between lobby types (#422)
  • Display name sync — Discord nickname changes now correctly update in-game; override names are temporary, only locked names are permanent (#411)
  • Lobby metadata fallback — handles stale presence data during reconnects instead of erroring (#409)
  • Prometheus metric labels — fixed startup metric registration conflict (#415, #426)

New Features

  • Combat matchmaking — behind EnableCombatMatchmaking toggle: party splitting for opposing teams, 1v1/2v2 support, uneven teams (3v4, 4v5). Design by @heisthecat31 (#413, #414)

Quality of Life

  • Cosmetics — blocked rwd_goal_fx_0009 and rwd_medal_0017 (#404)
  • Log noise reduction — demoted 5 expected-behavior warnings to info/debug (#418, #423)

Tools

  • Party split detector — diagnostic tool measuring party split rate from production logs (#424)

v3.27.2-evr.300

Choose a tag to compare

@metis-sprock metis-sprock released this 24 Apr 21:25
v3.27.2-evr.300
59c0d4c

Bug Fixes

  • Cosmetics: Re-block 20 tags that were accidentally unblocked for all players (#407)
  • Matchmaking: Party followers now queue for their own match instead of being dumped to social lobby when leader's match is full (#408)
  • Lobby Join: Fall back to fresh metadata instead of "internal error" when entrant presence is missing — fixes 106+ occurrences of login failures (#409)

v3.27.2-evr.299

Choose a tag to compare

@metis-sprock metis-sprock released this 22 Apr 20:07
v3.27.2-evr.299
8c9cb21

Fix party followers being falsely marked as placed during matchmaking, causing party splits. Fixes #406.

v3.27.2-evr.298

Choose a tag to compare

@metis-sprock metis-sprock released this 21 Apr 22:07
0a7fbbc

Player Changes

  • Unlocked additional cosmetic items for all players — goal effects, medals, and tags that were previously unavailable in character customization are now accessible

Operator/Developer

No operator or API changes in this release.

v3.27.2-evr.297

Choose a tag to compare

@metis-sprock metis-sprock released this 20 Apr 23:07
v3.27.2-evr.297
6c82630

Changes since v3.27.2-evr.293

Bug Fixes

  • fix: OOM crash prevention — VRML startup race, Discord goroutine pileup, matchmaker leak
  • fix: eliminate OOM from event queue memory retention
  • fix: matchmaking — social-lobby race, party-splitting, nil panics
  • fix: GamesPlayedLoad reads ArenaWins+ArenaLosses instead of nonexistent board
  • fix: stats injection — validate XPID matches submitter
  • fix: cosmetic profile bugs (race condition, NewUnlocks mutation, IsUnlocked check, MarshalJSON typo)
  • fix: ambassador error message shows only failing condition(s)
  • fix: keep party tickets out of new player team bias swaps

Other

  • feat: add disable_matchmaker global setting
  • test: expose party split in new player team bias

v3.27.2-evr.293

Choose a tag to compare

@metis-sprock metis-sprock released this 15 Apr 20:22
v3.27.2-evr.293
184fa92

Matchmaking threshold fix, party stability, RoundClosing status, guild fallback fixes, LSP cleanup.

v3.27.2-evr.275

Choose a tag to compare

@thesprockee thesprockee released this 06 Apr 11:47

Party System

  • Party Follow Fix: pollFollowPartyLeader now retries when the leader's old match label is unavailable during transitions, instead of permanently giving up. Fixes "unable to follow party leader" errors after matches.

Authentication

  • Bearer JWT WebSocket Auth: EVR WebSocket connections accept Authorization: Bearer <jwt> headers.
  • Device Auth Token Refresh RPC: New device/auth/refresh endpoint validates refresh tokens by JWT signature.

Match Lifecycle

  • MatchHistory Orphan Fix: Async terminate task no longer races with post-match cleanup.