1.0.30 - 28 OCTOBER 2026 - SINGLE SNIPER SCOPE
- Fixed overlapping sniper scopes and inconsistent scope sizing; ch_scopescale controls the single scope independently of HUD scaling.

Only the Windows x64 client EXE changes. The game DLL, asset pack and updater
retain their 1.0.29 hashes. Server layouts and automatic zoom fallback share
one centered scope in OpenGL and Vulkan. Crosshair and ch_scope settings remain.

1.0.29 - 26 OCTOBER 2026 - LOOPBACK AND EIGHT RACE COURSES
- Race courses barnyard, bomba2, bwcity2, country, country2, junkke2, murder and torabora are now available.
- Fixed local maps such as country staying on the loading screen because the first world update exceeded the legacy packet limit.

Refresh Play > Race to load the eight new routes. Each matching map BSP must
be installed locally. Local loopback traffic now uses the existing 4096-byte
buffer; remote legacy packet limits are unchanged. Only the client EXE changes.
The game DLL, asset pack and updater retain their 1.0.28 hashes. Existing
Race courses and times remain unchanged.

1.0.28 - 24 OCTOBER 2026 - THREE RACE COURSES AND TEXTURES
- Race courses desertsun, forest and dbtrk1 are available with new medal targets.
- Fixed holes and green speckles in solid map surfaces using original or replacement textures; explicit cutout surfaces retain transparency.

Refresh Play > Race to see the new tracks. Each matching map BSP must be
installed locally. The fix uses BSP surface flags in OpenGL and Vulkan;
ordinary solid faces remain opaque, while map-authored cutouts still show.
Custom alpha on an ordinary solid face needs a map alpha-test flag for cutout
behavior. Only the client EXE changes; game DLL, asset pack and updater remain
the same as 1.0.27. Existing Race times and ghosts are unchanged.

1.0.27 - 22 OCTOBER 2026 - RACE UPGRADES AND JUNGLE1
- Options > Race controls footsteps, checkpoint sounds, checkpoint flash RGB/opacity/duration and split-time feedback.
- Checkpoint crossings show elapsed time and the difference against your cloud personal-best run for four seconds. Multiplayer hosts send exact checkpoint splits.
- Race hosts remove world pickup items and drops; normal games are unchanged.
- Race global leaderboards show points, map completion percentage, world records and medal counts.
- Scroll global Race standings with the mouse wheel or arrow keys instead of changing pages.
- r_maxfps 0 enables unlimited asynchronous rendering in OpenGL and Vulkan; Video includes Unlimited (0).
- Race course jungle1 is now available with checkpoints and medal targets.

The Race options apply only during Race. Multiplayer hosts need the updated
game DLL for exact checkpoint splits and pickup removal. The jungle1 map
must be installed to play its course. The asset pack and updater are unchanged.
1.0.26 - 19 OCTOBER 2026 - INPUT, DEMO VIEWPOINT AND FPS LIMIT
- Attack and use inputs bypass the scheduled packet wait, and Vulkan sends input before waiting for the GPU.
- Attack and use input bypass frame-rate waits, and incoming server packets are processed before rendering limits.
- Classic .dm2 playback hides the recorder model correctly when the recorder is not player slot zero.
- Use cl_fps2 1 to display the current cl_maxfps limit, including changes from binds.

cl_fps2 is off by default, saved when enabled, and shares the FPS display's font,
scale and position. The input changes reduce client-side scheduling waits; they
do not alter server weapon rules or guarantee network latency. Only the Windows
x64 executable changes. The game DLL, asset pack and updater are unchanged.

1.0.25 - RACE PLAYER VALIDITY AND GRENADES (14 OCTOBER 2026)
Solo Race disables spectator mode and prevents observer movement from completing a timed run.
Race enforces non-team spawn rules and disables grenades to prevent grenade boosts.
Solo Race enforces non-team player rules and disables spectator 1, including
inherited configs and console requests. Course editing remains separate.
Observer/non-solid movement cancels solo checkpoint progress; returning to
player mode cannot resume that attempt. Multiplayer spectators remain allowed
but cannot record finishes. Grenades cannot be picked up, equipped or thrown
in Race, and existing grenades cannot explode while Race rules are active.
Update both the client executable and host game DLL. Normal games are unchanged.
Previously submitted records are not modified or automatically removed.

1.0.24 - 12 OCTOBER 2026 - LOCAL GAME PACKET FIX
Fixed local-game disconnects when menu messages and game updates exceed a packet limit.
Reliable messages are still sent when the current game update will not fit.
The expendable update is skipped instead of disconnecting. No settings or
protocol changes are required; game DLL, assets and updater are unchanged.

DBTRK3 RACE - SERVER CONTENT, 12 OCTOBER 2026
Dbtrk3 is live with 13 checkpoints and Author/Gold/Silver/Bronze targets of
71/75/85/95 seconds. Refresh Play > Race; no client update is required.
Players need action/maps/dbtrk3.bsp installed. Existing records are unchanged.

1.0.23 - 12 OCTOBER 2026 - CONSOLE FONT STARTUP FIX
- Fixed startup with PNG-only AQtion console fonts when gl_replacepcx is disabled, including Vulkan installs without colormap.pcx.
- Only the Windows x64 executable changes. Game DLL, asset pack and updater are unchanged.

CONSOLE FONT DETAILS
The essential console font falls back to PNG when PCX is unavailable, even
with gl_replacepcx 0. This fixes startup on PNG-only AQtion installations
in OpenGL and Vulkan. Existing PCX font preference is retained. Other image
replacement settings are unchanged; game data is still required.
Vulkan also uses the built-in palette when colormap.pcx is absent, matching
OpenGL and supporting the stock AQtion base assets.

1.0.22 - 11 OCTOBER 2026 - RACE PRACTICE SPOTS
- race_set saves a practice spot; race_recall returns there with restored view and health. Recall disables record submission until race_restart.
- Spots work in solo and multiplayer Race. Multiplayer hosts must update the game DLL. Only the executable and game DLL change; the asset pack and updater are unchanged.

RACE PRACTICE SPOT DETAILS
- race_set saves a practice spot; race_recall restores position, view and health.
- Recalling disables timing/uploads until race_restart. Supports solo and multiplayer with an updated host DLL.

1.0.21 - 9 OCTOBER 2026 - CEL OUTLINES AND PARTICLE CONTROLS
- Cel outlines work in OpenGL and Vulkan, including weapon models.
- Added Q2PRO gl_partscale, gl_partstyle and gl_partshape controls for particles, including blood.
- Customize cel outline colors with gl_celshading_color "R G B" (0-255).

Only the client executable changes. Game DLL, assets and updater are unchanged.

1.0.20 - 7 OCTOBER 2026 - RACE SETTINGS, GHOSTS AND FIXES
- Race uses its own race.cfg for settings and bindings, restoring your normal settings when you leave.
- Mouse1 restart, F1 scores and F2 ghost visibility can now be rebound or unbound for Race only.
- Race Mode shows your crosshair (hidden only while the times board is open).
- Stealth Slippers are visible on the ground again in local games.
- New inputrec / inputrec_stop commands record your movement inputs to action/inputs/ (separate from demos), for analysing runs.
- Finished Race results are no longer invalidated by later movement hitches; active-run protections and original landing physics remain.
- race_ghost_line 1 replaces ghost bodies with green trails; race_ghost_line_lenght defaults to 2 model lengths, with 100 showing the full route.
- Click the Race times-screen checkboxes to show individual ghosts, including only your own. F2 hides both models and lines.

Multiplayer Race hosts should update their game DLL. The asset pack and updater are unchanged.

SERVER CONTENT - 6 OCTOBER 2026 - FLYJUMPBOY RACE
Flyjumpboy Race joins the cloud catalog with two checkpoints and 34.5/35/36/37
second author/gold/silver/bronze targets. Refresh Play > Race. Install the
flyjumpboy map BSP locally before loading it; no client update is needed for
the course listing.

1.0.19 - 5 OCTOBER 2026 - CUTOUT PLANT TRANSPARENCY
- Fixed black rectangles behind Rantasauna plants while retaining the gl_emptywalls map-hole fix.

1.0.18 - 5 OCTOBER 2026 - RACE LANDINGS AND GHOST SHORTCUT
- Race restores the original landing damage calculation; near-limit safe drops no longer receive extra height-based damage.
- Race attempts with movement commands longer than 100 ms are invalidated instead of receiving artificial damage; restart after recovering FPS. Jump and cheat protections remain.
- Press F2 during Race to hide or show ghosts; your normal-game F2 binding is unchanged.

1.0.17 - 5 OCTOBER 2026 - RACE FIRST-PERSON GHOSTS
- Race F1 / cmd help shows the cloud top 20, with one personal best per player.
- Use arrow keys to watch available top-five ghosts in first person. Enter watches the selected run, F1 toggles the list, and Esc restarts your own attempt.
- Race downloads the top five ghosts plus your own best. Watching cancels your attempt and cannot submit a time. Playback uses recorded movement and view angles, without weapon animations.
- Removed invalid runs and their ghosts from the Urban, Riot and Cloud leaderboards.

1.0.16 - 4 OCTOBER 2026 - MENUS AND LASER SIGHT
- Options menus overhauled: lists sit below the logo and scroll, values show as values (sensitivity, volume), YES/NO in colour, and opening a menu no longer changes any setting.
- New menu options: mouse acceleration, raw input, field of view, scope sensitivity, audio toggles, crosshair/HUD extras, brightness, frame rate cap, demo auto-record and a new Network page.
- Reset defaults now asks "Are you sure?" (Y/N), and the Gameplay & Mouse and Audio resets no longer wipe your key bindings.
- Keybinds now list Action commands (weapons, bandage, IR vision, say, radio messages); Race single player, Demos and Player setup layouts were tidied.
- Mouse hover now selects menu entries over the whole word, and installing an update shows a large animated DOWNLOADING... / INSTALLING... screen.
- New option Options > Network > Predict laser sight (cl_laser_predict 1): your own laser dot follows your crosshair without ping delay; hits are unchanged.

1.0.15 - 30 SEPTEMBER 2026 - MAP FIXES, DEMOS, M4 AND MEMORY
- Fixed see-through holes and flickering colours on maps such as rcity: solid faces with fully transparent textures are drawn black like AQtion (gl_emptywalls 0 restores see-through).
- Building walls on city-style maps no longer turn invisible or black because of broken replacement texture files.
- Demo playback no longer puts the camera inside the spectated player's model in older .dm2 demos.
- M4: smaller front sight, and the foregrip is gone (the left hand no longer clips through it). Hold and animations are unchanged; all M4 skins were rebaked for the new shape.
- Vulkan: weapon textures ship pre-compressed and use a quarter of the video memory; the game uses about 1.3 GB instead of 2.3 GB on a typical map, with the same look.
- Weapons load identical textures only once: Vulkan uses about 570 MB less video memory and about 0.6 GB less system memory.
- Running out of memory while loading a sound (for example when a Discord stream starts) now skips that sound instead of closing the game.
- If the game disconnects because a server message can't be read, it saves that message to action/badpacket.txt; please send the file with your report.

1.0.14 - 29 SEPTEMBER 2026 - RACE FALL-DAMAGE HOTFIX
- Timed Race locks Jump mode off and prevents no-falling flags, godmode, spawn shields and enhanced slippers from bypassing leg damage.
- Race falling damage now follows each movement command and checks fall height, fixing low-FPS and mid-fall FPS changes that could avoid leg damage. Existing records are retained.
- Players and Race hosts must update the client and game module. Existing times, medals and ghosts are retained.

1.0.13 - 29 SEPTEMBER 2026 - SKINS, NETWORKING, DEMOS AND TEAMJUNGLE
- cl_zoom_autosens with cl_zoom_2x/4x/6x sets the mouse sensitivity at each scope level without changing your saved sensitivity.
- cl_indicators 0 also hides AQtion teammate indicators during demo playback.
- AQtion protocol 38 (cl_protocol 38) uses revision 3016 and reports the server's synced settings, such as cl_spectatorhud and cl_indicators.
- AQtion protocol 38 (cl_protocol 38) draws AQtion's graphical HUD, such as team icons, scores and spectator player bars, in OpenGL and Vulkan; cl_ghud and cl_ghud_scale adjust it.
- Experimental AQtion protocol 38 connection with cl_protocol 38; automatic selection still uses protocol 36.
- Scoreboards from newer AQtion servers with up to 10 players per team are no longer cut off.
- cl_xerp on AQtion protocol 38 asks the server to extrapolate other players and projectiles (1 on, 2 conservative); AQtion's synced settings are now saved between launches.
- New cl_limp_predict for AQtion protocol 38: 0 classic leg-damage feel (default), 1 AQtion limp prediction, 2 never predict while limping.
- Config comments (lines starting with //) no longer run or say the text after a ';' in them.
- Console command history is kept between launches; con_history 0 turns it off.
- ch_legacy_numbering 1 selects ch1-ch50 directly; default 0 preserves existing Battery crosshairs.
- HTTP downloads only use HTTP and HTTPS, including redirects.
- timescale below 1 (e.g. 0.1) slows demo playback again, at full frame rate.
- Demos recorded on Q2PRO and AQtion servers now keep your view angles instead of a fixed view.
- New seek command for .dm2 demos (seek 1:30, seek +10, seek -5.5), $cl_demopos position macro, and record now works while watching a demo.
- cl_extlimits 1 requests AQtion 3017 / Q2PRO 1024 extended limits (bigger maps and mods where the server enables them).
- AQtion hit markers: a red X at the crosshair when you damage someone (cl_protocol 38 with cl_extlimits 1; cl_hit_markers 0 turns them off).
- Extended-limits MVD recordings now play; classic MVDs are unchanged.
- A map that differs from the server's version is downloaded again automatically; the old file is kept as .mismatch.
- Network packets default to AQtion's size (net_maxmsglen 1390); Q2PRO and AQtion servers split larger messages across packets.
- New Q2PRO script macros: $cl_ping, $cl_lag, $cl_pps, $cl_mps, $r_fps, $com_uptime and $com_uptime_long.
- Q2PRO servers use the newer protocol 36 revision 1023, including higher-precision angles for moving brush models.
- On Q2PRO servers large network messages are split into packets and reassembled (net_chantype 1, default), as in AQtion.
- R1Q2 servers use protocol 35 revision 1905; demos recorded on Q2PRO and R1Q2 servers keep correct entity sizes.
- ch_scopescale adjusts scope size independently of the crosshair; default 1 preserves existing scale.
- Scope replacement images respect PCX bounds and small dimension-only PCX headers in both renderers.
- Teamjungle Race is available: 23 checkpoints, with 79/86/95/110 second medal targets.
- On Q2PRO and AQtion servers the client receives the server's full update rate (20 Hz on vrol instead of 10) for smoother, lower-delay player movement; cl_updaterate 10 keeps the classic rate.
- Vulkan: the Weapons menu preview works during a game.
- Vulkan: left-handed weapons (hand 1) are no longer drawn inside out.
- Weapons menu: choose a first-person skin for each weapon (SKIN name, left/right arrows or [ and ]); it applies at once and is saved.
- New skins: Basic factory finishes for seven weapons, Crimson Shard and Ember Stripe for the rifles and MK23, and Engraved Silver and Arctic Ceramic for the handcannon.
- Protocol 38 and extended limits remain opt-in; broader match testing is pending.
- Known issue: warmup can leave players stuck inside walls.

UNRELEASED - Optional AQtion crosshair numbering
ch_legacy_numbering 1 makes crosshair 1-50 load ch1-ch50 directly.
Default 0 preserves Battery built-ins 1-10 and images 11-50 = ch1-ch40.
The menu labels and preview follow the selected mode. Missing images do not
fall back to another crosshair. Existing crosshair values are not rewritten.

UNRELEASED - Scope sizing
- Independent ch_scopescale setting (default 1); ch_scale remains crosshair-only.
- Both renderers use PCX bounds for replacement sizes and accept dimension-only headers.

1.0.12 - 28 SEPTEMBER 2026 - BRIGHTNESS AND SCOREBOARDS
- gl_modulate and gl_modulate_world now apply immediately, without vid_restart.
- The match scoreboard keeps the full team view on more servers instead of falling back to the server scoreboard.
- Automatic scoreboard player-list replies stay out of the console after closing the scoreboard.
- Removed the bottom-left scoreboard loading and unavailable-roster notices.

1.0.11 - 28 SEPTEMBER 2026 - CONFIGS, SKY, SOUNDS AND SCORE ORDER
- AQtion q2config.cfg loads before saved Battery settings, preserving later overrides.
- sky black now gives a plain black sky, whatever env/black sky images are installed.
- New Options > Visual effects > Always black sky: every map loads with a plain black sky.
- s_force_llsoundoff 1 uses normal custom weapon sounds on Action servers with low-lag sounds enabled.
- Local Action servers default to llsound 0, using server-requested weapon sounds.
- Q2PRO scripts support multi-word set values, quoted if branches, setu/sets and additional macros.
- Imported q2pro scripts can use saved seta variables and the ${qt}/${sc} macros for custom kill messages.
- Removed routine GLB weapon-loading console spam.
- Pickup scoreboards follow server frag order and tie breaks, keeping known substitutes separate.
- s_force_llsoundoff defaults to 0; enable it with 1.
- Config compatibility is partial; custom kill messages still need scripts.
- BSCmenuoverrides.cfg remains the final settings layer.
- Incomplete ranking replies retain the original server scoreboard.

BATTERY SUPER CLIENT - CHANGELOG
https://batterysuperclient.com/changelog

1.0.10 - 27 SEPTEMBER 2026 - SCOREBOARDS, INPUT AND MULTIPLAYER RACE
- The console version command reports the actual Battery release number.
- Expanded teams retain the original scoreboard artwork and font.
- Player stats stay compact and centered; HUD icons remain visible.
- Pickup teams show 20 players each, including subs; longer lists scroll.
- Arrows select a player, Enter opens stats, Backspace returns.
- Team scores, readiness and time remain; unknown subs show ?.
- Incomplete rosters keep the old screen; cl_pickupscoreboard 0 disables the feature.
- Local games allow jumping right after landing: sv_strafejump_hack defaults to 1; 0 restores the delay.
- Signed-in multiplayer racers save records, medals and eligible PB ghosts on matching cloud courses.
- Cloud queues handle long paths; players sharing an IP have separate upload limits.
- Fixed repeating or distorted audio after Race transitions and window activation; sound restarts reset timing.
- Multiplayer Race requires matching Battery protocol-2 clients and hosts; update both.
- Create Server requires Discord sign-in before course selection.
- Race Create Server hosts a published course for up to 12 players and restores your settings after hosting.
- Play > Race offers Single Player and Multiplayer with direct joining by address.
- Multiplayer races have independent timers and Mouse1 restarts without player blocking.
- m_rawinput 1 fixes the reported Raw Accel mouse dropouts; default remains 0. Set m_directinput 0 to use it.
- Player stats no longer flash a separator in console notifications.
- Optional r_frametimestats reports texture loads and possible view stalls; experimental precaching is not included.
- Multiplayer timing uses 100 ms server frames; hosts are trusted, not cheat-verified.
- Known issue: some warmup wall-sticking reports remain unresolved.

1.0.9 - 27 SEPTEMBER 2026 - PERFORMANCE AND SNIPER ANIMATIONS
- Faster Vulkan rendering on large maps and with detailed weapons.
- GPU weapon poses and static map geometry reduce CPU work.
- vk_weapon_gpu and vk_world_static default to 1, with compatible fallbacks.
- More precise timerefresh and expanded r_frametimestats reports.
- Larger default network messages address reproduced world freezes and movement snapping on busy servers.
- Sniper gloves retain original MD2 finger poses and timing, with corrected grip and synchronized sway.
- Approved support and reload placements add smoother withdrawal.
- The reload cartridge follows the loading hand into the chamber.
- Known issue: warmup can leave players stuck inside walls.

1.0.8 - 26 SEPTEMBER 2026 - WEAPON SKINS AND INSPECTION
- New M3 Ember, Knife Temper, MK23/Akimbo Crimson, MP5 Nightshift and M4 Jade finishes.
- MP5 gains a fixed stock; M4 gains a carry handle, ribbed handguard and slimmer magazine. Animations stay intact.
- All first-person gloves gain leather and fabric PBR detail.
- Grenade Olive adds worn paint, markings and steel detail.
- Handcannon Walnut adds polished barrels, checkering and detailed reload shells.
- Lighter SSG3000 with Borealis finish, matching gloves, restored scope mounts and a bolt-handle groove.
- Improved weapon assembly: slides, receivers, magazines, handcannon furniture and grenade spoon.
- New Weapons menu: choose eight weapons, drag to rotate, scroll to zoom and reset with R.
- Inspection shows full-detail weapons and textures without hands or loose reload parts.
- Vulkan weapon PBR adds metal, roughness, normal and AO maps, smooth animated normals and material preloading.
- Vulkan loads weapon material maps correctly and adds studio reflections and highlights.
- Weapon replacements, Vulkan PBR and studio lighting default to on. Saved settings still take priority.
- Cloud Race is available from Play > Race > Refresh.
- The website gallery shows the new first-person skins.
- Release notes have pages for longer updates.
- The M3 ground pickup now has corrected V12 proportions.
- Known issue: warmup can leave players stuck inside walls.
- Some hand/weapon clipping remains. Skin selection is planned.

1.0.7 - 26 SEPTEMBER 2026 - M3 AND RACE FIXES
- Drydock_b1 loads without the Bad s_blocklights size error.
- The M3 shotgun keeps its real shape in first person instead of looking bent at the receiver.
- Mouse1 correctly respawns you at the Race start when pressed immediately after death.
- Known issue: warmup can leave players stuck inside walls.

1.0.6 - 26 SEPTEMBER 2026
- Large maps such as Nightwalk no longer hit the 16 MB map-loading limit.
- Known issue: warmup can leave players stuck inside walls.

1.0.5 - 25 SEPTEMBER 2026
- Slow mouse aiming no longer stalls with m_autosens enabled.
- Mouse autosensitivity now matches AQtion axis and FOV scaling.
- Mesto Race is available from Play > Race > Refresh.
- Known issue: warmup can leave players stuck inside walls.

1.0.4 - 25 SEPTEMBER 2026
- Existing autoexec.cfg loads automatically for personal settings.
- Chat messages stay aligned instead of drifting diagonally.
- Race ghosts show available top-three runs and your best.
- Toggle ghost visibility in the Race menu or with race_ghosts.
- Remove duplicate exec autoexec.cfg lines from BSCcustom.cfg.
- Saved menu overrides still take priority over autoexec.cfg.
- Known issue: warmup can leave players stuck inside walls.

UPCOMING - NOT RELEASED YET
Plans and ideas; timing and scope may change.
- Upgrading the MVD player.
- Polishing weapon models.
- Adding different weapon skin options.
- Weapon stickers? An idea being explored.
- Client achievements.
- Further optimization of the TrueText text system.
- More improvements and fixes.

KNOWN ISSUE
- During warmup, players can get stuck inside walls. A fix is planned.
  This is not marked as fixed in the current release.

1.0.3 - 25 SEPTEMBER 2026 - EFFECTS AND RACE IMPROVEMENTS
- Optional grenade/rocket fire and smoke: cl_grenade_effects 1.
- Original blasts remain default; underwater blasts unchanged.
- Preview blasts locally or in demos with testexplosion.
- Vulkan water ripples and shine: vk_water 1 (default).
- Experimental waves/caustics: vk_water_experimental 1 (off).
- Underwater caustics no longer tint the sky.
- Race requires Discord login; logout ends an active race.
- Race menu shows medal targets and your earned medals.
- Urban2 race is available from Play > Race > Refresh.
- Known issue: warmup can leave players stuck inside walls.
- Enhanced blasts are twice the initial JangaFX visual size; damage is unchanged.
- Experimental water can show seams at boundaries.

1.0.2 - 25 SEPTEMBER 2026 - WHAT'S NEW
- A text screen shows the installed release's changes when the client starts.
- Dismiss it once and it stays hidden for that version, including after restart.
- Notes are included in the client and work offline.
- Type whatsnew in the console while disconnected to open the notes again.

1.0.1 - 24 SEPTEMBER 2026 - EASIER UPDATES
- Accept Install and restart to download, install and restart automatically.
- Only changed files download; unchanged zz_battery.pkz assets are skipped.
- Downloads are verified by size and SHA-256 before installation.
- Personal configs are preserved. Replacements keep backups and roll back
  earlier changes if a later replacement fails.
- Cancel during file checking or downloading to keep the current installation.
- Version 1.0.0 users must install the full 1.0.1 package once, including
  bsc-update.ps1, to enable automatic installation for future updates.

1.0.0 - 24 SEPTEMBER 2026 - FIRST PUBLIC RELEASE
- Windows 64-bit aq2-x64.exe, shared assets and the local game module.
- Scope-centering fix for replacement scope artwork.
- Competitive leaderboard requests through the Battery webserver.
- Background startup version check and browser download prompt.
- This version requires manual installation of downloaded updates.

SERVER CONTENT - 26 September 2026
Cloud Race is available from Play > Race > Refresh; no client update required.
13 checkpoints; Author 36.5s, Gold 38s, Silver 41s, Bronze 47s.


UNRELEASED - MULTIPLAYER RACE
- Opt-in servers support up to 12 independent runners, server-owned checkpoints
  and timers, individual Mouse1 restarts, and no player blocking or damage.
- Signed-in players upload server-measured records and PB ghosts on matching
  published courses. Play > Race offers Single Player and Multiplayer. See
  game_race/MULTIPLAYER_RACE.md for separate-server setup and remaining work.


UNRELEASED - RACE CLIENT COMPATIBILITY CHECK
Multiplayer Race requires a compatible Battery Super Client multiplayer build.
Missing or incompatible identifiers are rejected with a client requirement message.
This is a compatibility gate, not proof against modified clients copying the ID.


UNRELEASED - RACE MODE MENU
Play > Race now offers Single Player (existing cloud maps, medals and Discord
login) or Multiplayer (join by address or create a Race server).
The last server address is remembered. Each player signs in with Discord.

UNRELEASED - AUDIO RESTART FIX
Prevent repeated window activation from leaking a looping DirectSound buffer
during Race/game-directory transitions. Reset mixer timing on sound restart.
No audio settings are changed. Restart the client once after installing this
fix to clear any buffers leaked by the previous executable.

UNRELEASED - MULTIPLAYER CLOUD RECORDS AND GHOSTS
Every signed-in player uploads their own server-measured times, medal progress
and eligible personal-best ghost to the shared cloud leaderboard. Existing
Discord login is reused; hosts never receive player login tokens. Private
hosts are trusted. The hosted course must match the published geometry and
medal thresholds. Old queued solo runs and ghosts remain compatible.
Both host and clients need the updated multiplayer protocol (battery-race/2).
Server timing remains 100 ms at the default 10 Hz. Ghosts retain the existing
ten-minute limit and top-three-plus-your-best playback selection.
Cloud upload queues now support long installation paths without truncating or colliding time/ghost filenames.

UNRELEASED - CREATE RACE SERVER
Play > Race > Multiplayer > Create server opens the published course picker.
Select a locally installed map to host up to 12 players, including yourself.
The course is copied from the cloud cache automatically. The server uses your
configured UDP port (27910 by default); Internet guests need that port reachable
through the router/firewall. No network rules are changed automatically.
Temporary hosting settings are restored when you leave; config saves preserve
the previous settings while hosting. Hosting ends when you disconnect or quit.

UNRELEASED - RACE HOST DISCORD LOGIN
Create server requires Discord sign-in before opening the course picker.
If signed out, selecting it highlights Discord login. Starting a host also
checks sign-in, and signing out ends the hosted Race session.


1.0.14 - RACE FALL DAMAGE RULES
Timed Race forces jump 0, dmflags 256, cheats 0 and gravity 800 before map
setup and movement. Jump/cheat commands cannot enable protection or noclip.
Fall/leg damage is resolved per movement command, including low movement FPS
and commands arriving together. Godmode, spawn shields, no-falling flags,
grapple grace and enhanced slippers cannot suppress Race fall/leg damage.
Normal water cushioning, bandaging and race_restart recovery remain available.
The solo course editor (race_edit 1) is unranked and retains authoring cheats.
Internal solo teleport/heal commands cannot be forwarded to bypass race_restart.
Existing cloud times, medals and ghosts are retained. This is a local rules fix,
not proof against modified clients or untrusted hosts; older clients must update.

Race also checks height lost during a fall, so long movement commands cannot
reduce impact below the normal gravity-based speed for that drop. Teleport
and restart clear the fall history; safe short drops remain safe.


