Repository navigation
openQ4 0.13.0
Save-game fix: Upgrade to 0.13.1 to fix saving in release packages. The download repairs below restore the original 0.13.0 files and do not change that build.
Download repair — 8 September 2026: The macOS Metal archive, Linux x64 archive, Linux x64 AppImage and Windows x64 installer were restored from their intact original CI artifacts. If an earlier download failed to unpack or install, discard that partial file and download it again. The restored files contain the original 0.13.0 build.
openQ4 0.13.0
| Field | Value |
|---|---|
| Version | 0.13.0 |
| Release tag | v0.13.0 |
| Commit | b639d265 |
| Generated | 2026-09-07 22:12 UTC |
| Release scale | override |
| Version decision | Version override was supplied manually. |
| Workflow | 34164437153 |
| Since | v0.12.0 (compare) |
Highlights
- Multiplayer matches are easier to organize, follow and replay. Managed series support map vetoes, selected-map handoffs, persistent results and recovery between maps. Spectators can switch player cameras from Match Control, replays preserve their selected player, and the configurable chat panel retains conversations and channel drafts.
- High-refresh gameplay is much smoother while game logic stays at its original rate. The camera, first-person weapon, skeletal animation, projectiles, moving world objects, lights, and effects can now present an interpolated pose between authoritative game ticks. Zoom markings and joint-bound effects follow the pose actually shown.
- Experimental rendering has a broader, safer foundation. OpenGL and Vulkan now share sealed contracts for classic materials, GUIs, interactions, fog, subviews, deforms, and post effects. Optional temporal AA/upscaling, dynamic resolution, GPU skinning, PBR materials, reflections, volumetrics, and indirect-light previews remain default-off and retain complete fallback paths.
- Vulkan shadows are more complete and easier to diagnose. Shadow-mapped lights can replace eligible stencil work, combine cached static and dynamic casters, reuse fitted cascades, expose receiver/debug views, and report non-blocking GPU timings without losing direct lighting when a shadow allocation fails.
- Complex levels load and settle faster. The
airdefense1opening avoids presentation work for cinematic frames that are never displayed and skips bake-only light-grid setup during ordinary play. A guarded repeat-load cache can be enabled for evaluation, while the classic source path remains the default. - Saving and restoring fail safely. Unset or invalid GUI animation values can no longer abort an otherwise valid save, malformed GUI and auxiliary data is rejected before partial state reaches the renderer, and incompatible old saves are refused before the active level is unloaded.
- Internet multiplayer is safer and easier to enter. Network parsers now reject truncated state at explicit boundaries, remote administration avoids plaintext passwords by default, pure play keeps asset checks without accepting executable code from servers, and connecting opens a compact Quake 4-styled join card over the live map.
- Liquids and effects feel more complete. Projectiles and hitscan shots cross liquid surfaces with matching splashes, sounds, and underwater trails; water jumping is reliable; slime, lava, and drowning have distinct feedback; and soft particles now reduce hard intersections between smoke and solid geometry.
- Everyday controls and presentation received focused polish. Controller menu traversal no longer fights stale mouse focus, scalable menu text selects a sharper source atlas on modern displays, material texture filtering is configurable again, and light-grid preloading is available in Display settings.
- Platform and tool reliability improved. macOS packages bundle OpenAL Soft to prevent long-session audio exhaustion, Linux accepts legitimate repeated-dot save paths, staged packages reject case-colliding files, and
dmaponce again compilesfunc_groupgeometry correctly.
Upgrade Notes
- Replace the complete openQ4 package for your platform. Keep the engine, renderer modules,
game_sp,game_mp, and bundledbaseoq4data from the same 0.13.0 package. - Retail Quake 4 assets are still required. Point openQ4 at a complete installation, including the unsuffixed language archive such as
zpak_english.pk4. - Existing settings remain valid. Soft particles now default to on for new configurations; an existing archived
r_softParticlesvalue is preserved. - OpenGL remains the default and recommended renderer. Vulkan remains experimental and opt-in with
r_renderApi vulkan, applied after restart. - Temporal AA, dynamic resolution, GPU skinning, modern shared-renderer domains, PBR lighting, screen-space effects, and repeat-load caching remain experimental and default-off.
r_rendererModernQuality 0andcom_levelLoadModernization 0retain the established rendering and loading paths. - Saves from unsupported older development formats are rejected before unloading the current map. Finish an affected campaign using the build that wrote it, and keep backups of important saves before upgrading.
- macOS users should replace the complete package to receive the bundled OpenAL Soft runtime. Linux ARM64 downloads remain preview packages. The experimental macOS packages target Apple Silicon/arm64 and may be unsigned when Apple signing and notarization credentials are unavailable. Intel Mac packages are not published or supported, and Rosetta is not a supported substitute.
- On macOS, OpenGL remains the recommended renderer; the Vulkan option runs through MoltenVK, a Vulkan-on-Metal translation layer. The
macos_graphics_bridge=metalpackage is a Metal bridge around the OpenGL renderer, not a native Metal renderer, whileplatform_backend=nativeis comparison-only diagnostic infrastructure, not a release backend. Visual parity remains tracked by issue #98, and support promotion remains gated bydocs/dev/macos-signoff-evidence.md. - Server operators should review the updated remote-console, pure-server, package-download, and malformed-packet behavior before replacing a public server.
- Update multiplayer clients and servers to the same build, and finish active managed series before upgrading; structured match views now use schema 4 for persistent results, and spectator-follow requests, player requirements, Duel contender seats, round resets and One Flag map support have changed. Replay older development multiplayer demos with the build that recorded them.
Change Log
- Added a configurable multiplayer chat panel with wrapped message history, preserved scroll position, per-channel draft and sent-message recall, and adjustable size, placement, opacity and fade timing.
- Fixed multiplayer warmup with bots: bots fill player slots without voting for unready humans, Duel waits for its seated contenders, and players can cancel countdown by withdrawing readiness.
- Restored automatic starts when casual ready-up is disabled, kept bots out of option-vote majorities, and preserved the ongoing match state on remote clients between rounds.
- One Flag and Arena One Flag can now complete captures on original CTF maps: missing neutral flags use stock assets at a central pickup location, while authored objectives take precedence. Remote clients also receive server announcer cues correctly.
- Freeze Tag rescues now work when a teammate reaches a frozen player, and overkills no longer destroy the body needed for the rescue.
- DeadZone scores only eligible controllers during live play, handles lost tokens and contested zones consistently, and supports map-authored zones that do not require a token.
- Managed Red Rover converts defeated players without opening voluntary live team changes, preserves declared rosters and restores their home sides between rounds.
- Managed listen servers honor initial auto-join, and authorized force-ready actions now complete their countdown and enter gameplay.
- Remote players now keep their accepted join choice, and managed team or roster changes update their own client correctly.
- Managed series now load the selected map after veto and publish the final series result after review, with matching match reports and committed demo links. Clients can recover from long countdown-to-play world resets without being disconnected for predicting ahead.
- Managed Duel admits its two contestants reliably and gives each their own timeout budget, with matching request and resume controls.
- Managed summaries now distinguish the committed winner, forfeit, draw and abort from the original scores. Winning identities and names survive later player changes, and Match Control shows Last Result through review and the next warmup until the next countdown or session, even with optional evidence recording disabled.
- Long winner names and forfeit messages fit the result banner, and older chat lines no longer leave distorted text above the summary's chat history.
- Captain invitations are revoked when the captain loses authority, and roster actions explain when they must wait for warmup. Canceled, expired or unsuccessful proposals release their voting slot for the next proposal while retaining normal cooldowns.
- Series check that the selected map file is available before starting the handoff, keeping a missing-map attempt ready for retry. Repeated checks of loose map files no longer accumulate open file handles.
- Added Previous, Next and Free Camera buttons to Match Control's Status tab for spectators, alongside live commands
follow next,follow prev,follow freeandfollow <client-slot>, withfollownext,followprevandfollowfreealiases. Server camera permissions still apply, stale direct targets are rejected, and existing eligible bot targets remain available. - Fixed relative includes in root-level map-cycle scripts on Windows and POSIX systems without requiring replacement assets.
- Fixed remote referee sign-in stalling after the server issued its authentication challenge.
- Competitive pauses now keep remote player and weapon animations frozen through network clock corrections, while gameplay timers resume from their saved remaining time.
- Match Control shows readable status summaries, committed rule values and roster choices in both widescreen and 4:3 layouts, using the original Quake 4 interface art.
- A managed series restored after a completed map can now advance from its recovered review. Duel operators can rebind the current contestants and continue with the saved score and reports intact.
- Match replays retain the selected player across round restarts during playback and seeking, and immediately restore their correct view height while paused. Repeated player-camera changes work while paused, and explicitly choosing free camera still takes precedence.
- Corrected score-limit winners and ties, cleared stale timers between matches, and ended abandoned matches when their last active human leaves.
- Corrected tied scoreboard places and result recording, reduced repeated ranking work, and restored Duel's final table with both finalists retained through review and waiting players excluded.
- Reduced memory allocation and copying during in-memory file generation, and prevented corruption when overwriting buffered data or handling oversized reads and writes.
- Made Windows staging retries respect the option to leave running games open when an install encounters a locked file.
- Added presentation-only interpolation for eligible single-player actors, first-person weapons, movers, projectiles, lights, and effects while preserving authoritative simulation, collision, networking, demos, and save behavior.
- Added default-off native-history TAA/TAAU and bounded delayed-GPU-time dynamic resolution on OpenGL and Vulkan, with native-resolution HUD, menu, console, screenshot, and save-preview output.
- Added default-off exact four-weight GPU skinning for supported MD5 and MD5R models, with CPU-owned collision, traces, decals, overlays, and stencil-shadow data.
- Added guarded PBR materials, OpenGL specular probes and clustered decals, plus bounded OpenGL/Vulkan volumetric, SSR, and SSGI preview paths.
- Added shared, atomic renderer contracts for eligible GUI, in-world GUI, world ambient, interaction, fog/blend, cinematic/post, special-frame, subview, and material-deform work.
- Expanded Vulkan shadow-map ownership, static/dynamic caster composition, fitted cascade caching, receiver diagnostics, debug overlays, and timestamp-query timing.
- Improved shadow-map caster coverage and contact quality for open, thin, and sealed stock geometry while preserving stencil fallback ownership.
- Fixed stale door shadows, false point-light occlusion, unnecessary cache redraws, and Vulkan shadow-diagnostic crashes; cutout casters can update over cached opaque projected shadows.
- Prevented lit decals and other translucent materials marked
noShadowsfrom casting unintended solid shadows, while preserving eligible translucent casters andforceShadowsoverrides. - Added backend-neutral whole-frame CPU/GPU measurement and replayable per-map renderer budget contracts.
- Reduced
airdefense1cinematic and light-grid startup work, and added a guarded exact-source repeat-load cache backed by bounded background jobs and transactional model/world/collision data. - Fixed animated-model traces so stable surface IDs, reordered snapshots, omitted meshes, and generated backfaces resolve to the correct MD5/MD5R joint instead of terminating the level.
- Prevented non-finite or uninitialized cosmetic GUI values from aborting saves, and strengthened preflight checks for incompatible, truncated, or corrupt save data.
- Hardened Base64, lexer, GUI timeline/restore, render-demo, decal, CVar dictionary, user-command, snapshot, projectile, and hit-scan decoding against malformed input.
- Restored pure multiplayer asset enforcement without allowing package negotiation to install or launch executable code, and replaced plaintext-by-default remote-console authentication with bounded
rcon2. - Added the compact multiplayer join card, restored the stock F1/F2/F3/F6/F7 match actions, improved snapshot/effect rate handling, and prevented clients from authoring the clock used for lag-compensated hit judgment.
- Added complete liquid crossing, underwater trail, water-jump, sound, obituary, and developer-lab behavior using bundled openQ4 content and stock media.
- Enabled soft particles by default while excluding depth-hacked and unsupported effects from the fade.
- Restored all six Quake 4 material texture-filter modes on OpenGL and Vulkan with immediate sampler refresh.
- Improved controller menu focus, high-resolution font-atlas selection, machinegun zoom alignment, single-player pause-menu responsiveness, and the Display setting for optional light-grid preloading.
- Bundled checksum-pinned OpenAL Soft in macOS packages and made backend allocation/upload exhaustion fail gracefully.
- Fixed the manual macOS release audit so the exact bundled OpenAL Soft
@rpathdependency is accepted only after its architecture, dependencies, signature, and install name pass validation. - Fixed publication of previously staged draft releases so validated downloads can go live and trigger their Discord announcement.
- Prevented legacy OpenGL contexts from attempting unsupported SMAA shaders, texture swizzles, multisample textures, direct texture binding and GPU timestamp queries, retaining the available rendering paths.
- Made renderer self-tests safer on macOS and explicit about optional features unavailable on the current OpenGL context.
- Fixed SDL swap-interval updates after temporary context detachment, Linux save paths containing legitimate repeated dots, and case-insensitive package path collisions.
- Restored
dmaphandling offunc_groupgeometry, initialized geometry-tool surface allocation, and accepted generated AAS 1.08 face settings. - Added contributing and community-conduct documentation and packaged the relevant project guidance with releases.
Linux ARM64 Support
Linux ARM64 preview artifacts enabled. First-class publication remains gated on accepted real-hardware native-Wayland SP/MP, dedicated-server, audio, input, display, and package evidence.