← All B44-REVIVAL updates
Changelog

B44-REVIVAL

Reviving Battalion 1944.

2026-09-30 30 September 2026

Add a match-ready sound and per-account volume control

✨New
  • Add a match-ready sound and per-account volume control
    The site now plays a supplied match-found sound when a demo ready check opens and when you press Play test sound on Account; a Volume slider (0–100%) appears under the sound control and saves the chosen value to your account once you stop moving the slider. The API accepts and validates a new preference readySoundVolume so the value is persisted and used by the site and the ready-check playback.
  • Add a live push connection and show your online state in the header
    Signed-in pages now open one push-only Socket.io connection to the API while you are signed in; the header shows your connection state (Connecting…, Online, Appearing offline, Offline) and the site re-reads the players-online count from the activity API when your connection comes up. The live channel is documented and the dev/proxy instructions updated so the web socket is forwarded correctly in development and production.
  • Show account bio on public profiles and allow Kosovo (XK) as a country choice
    Public player profiles now display the bio saved in a player's Account page, and the account country picker includes Kosovo (XK) where Steam uses that code. The site and API read and persist the profile/bio and country as the account data source.
  • Allow admins to force-start matches and auto-fill teams with bots
    Staff can force-start a waiting match: the site/mod issues the server's AddBot command to fill teams up to 5v5 and then triggers the native countdown to start the match. Admin commands sent to the server are logged so the action and sender appear in the match log and record.
  • Start ladder placements from 750 Elo and treat the first 10 rated matches as placements
    Players now start at 750 Elo and their first 10 rated matches are treated as placement matches: those placement matches move Elo three times as much for the individual player and are marked in the rating history and public rating view. The ranking code and API views were updated so placement progress and placement-match counts appear in player rating responses.
  • Require a join password for game servers (test servers fall back to a test password)
    Every game server now uses a join password set by the website for each match; test servers fall back to the image's test password (b44revival). The classic console connect syntax (connect <ip>:<port> password <pw>) works and was exercised on the test server.
🐛Fixes
  • Fix incorrect match winner reported at match end
    Ensure a match's winner is taken from a surrender (if present) or from the team with more rounds, instead of using the last round's stale winner; this corrects match result data emitted at match end and fixes incorrect winners shown in match/round APIs and pages.
  • Fix match damage events so human hits are attributed to the attacker
    Damage events written by the server now record the attacker for human hits when the server applies the hit (the attacker/weapon comes from the hit call the server executes), so player ADR, hits, accuracy and per-weapon damage are no longer zeroed for human players. This corrects the match reports and per-player stats that previously missed many human hits.
⚡Improvements
  • Use bundled country flag icons and deterministic default player pictures
    The site now serves country flags from the bundled country-flag-icons package and uses a deterministic default avatar chosen from the site images when a player has no Steam avatar, so the same player gets the same default image everywhere (header, rankings, profiles). This reduces external asset requests and makes flags and defaults consistent across pages.
  • Make the sidebar Discord button fill its bar
    The sidebar's Discord button now fills the available width in the full sidebar layout so it is visually aligned with the rail and footer controls; the rail and phone-drawer variants keep their expected layouts.
  • Update ranked format and halftime to match the chosen tournament length
    The ranked match configuration and documentation were updated: the project uses the chosen ranked match length and related settings (change recorded in the server configs and docs). The server/runtime configs and website docs were updated to reflect the new ranked format and the agreed settings.
28 internal changes in this release