Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Groups
Collapse
Brand Logo
  1. Home
  2. Announcements
  3. Project BlackICE Cyberpunk2077 Multiplayer Changelog

Project BlackICE Cyberpunk2077 Multiplayer Changelog

Scheduled Pinned Locked Moved Announcements
1 Posts 1 Posters 3 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • purpleP
    purpleP
    purple
    replay
    wrote last edited by
    #1

    Last update: 2026-11-08

    dfe0b133|29
    Client update is applied on next restart.
    Server update is required due to packet changes.

    Developers need to dotnet restore --force-evaluate depending on their pinned nuget packages to update their bundles

    Client:

    • Fixed an intermittent client crash that occurred during server join
    • Added "Close button" to F8 devtool windows
    • Added new Client UI for local server discovery
    • Added support for joining "server list registered" servers via the join local server button instead of having to go through the server list(Joining via connect <ip> is also supported)
    • Allow mounting .tweak only asset bundles without a .archive file
    • Added Surface Overlay extensions to allow rendering CEF content onto world meshes. See Surface Overlay - docs.replay.re for more information
    • Added a Surface picker devtool for the new Surface Overlay extensions
    • Added "per server" CEF caching to allow persistence of client settings. Caches are still isolated between different servers, but you can now retain UI settings and other useful UX improvements

    Server:

    • Fixed restart <bundle> command missing bundle updates
    • Added delay to sv_ugc_automatic_restarts to batch multiple file changes into one bundle restart
    • Added re.EntitySystem.CreateProp extension to spawn "static entities" / props into the game world
    • Added new sv_hide ConVar to allow servers to hide from the server list but still stay registered. Useful for testing the player identity system without having your server on the server list

    Shared:

    • Complete overhaul of the VoIP system. Added FX, preset groups, range control, virtual microphones with world audio capture, virtual speakers and lot more. Read the docs page here.
    • Fixed an UGC race condition that was able to corrupt bundle packing
    • Added ConVar scripting and a ComCommand "Execute" extension
    • Added a UDP beacon system for local server discovery. You can now start servers on non standard ports within your local network and join them via the UI

    Scripting:

    • Published nuget packages v1.4.0 with support for the new extensions

    e058fc72|28
    Client update is applied on next restart.

    Developers need to dotnet restore --force-evaluate depending on their pinned nuget packages to make use of new features

    Server:

    • Added new re.ClientObserverEntityChanged event. Intended for UGC scripts to update mappings between re.ClientId and re.EntityId of a clients observer entity

    Scripting:

    • Published nuget packages v1.3.1 with support for the new event
    • Updated guest-csharp-examples/gamemodes. Character customization in "Roaming" mode now support body gender changing, implemented handling for changing observers and fixed a log spam issue

    06ee71e6|27
    Client update is applied on next restart.
    Server update is required due to packet changes.

    Developers need to dotnet restore --force-evaluate depending on their pinned nuget packages to update their bundles

    Client:

    • Fixed vehicle aiming from first person not syncing camera angles
    • Added vehicle damage (body mesh, glass, tires, lights) sync
    • Added vehicle RPM, gear / shifting, brake light and tire FX sync. You can now properly do burnouts and audio sounds a lot more aggressive on other clients
    • Optimized vehicle wheel spin sync into quantized state sync instead of anim driven. Reduces network traffic in vehicle dense areas
    • Added .app resource patching to UGC streaming
    • Fixed and thus re-enabled entity morphing of PlayerPuppets (face, nails, chest, etc.)
    • Added PlayerPuppet gender selection with runtime swapping support
    • Added native Puppet gender selection UI extension which can be opened easily via re.Ui.ShowBodyGenderSelector(bool continue_to_customization) and takes care of everything for you
    • Added support for overriding gender presets on individual clients after streaming them as UGC via re.EntitySystem.SetBodyGenderPreset
    • Added raw API for gender switching re.EntitySystem.RequestLocalPlayerBodyGender (server: ObserverComponent.SetPrimaryObserverBodyGender) for custom gender / customization selector implementations
    • Fixed default PlayerPuppet missing legs / ankles before customizing appearance once
    • Fixed vehicle combat sync with special handling of vehicle rocket launcher positional sounds
    • Added native handling for PlayerDevelopmentSystem not handing out default items, no more hooking required. Updated docs with a legacy deprecation notice
    • Added vehicle.Engine, vehicle.Gearbox and vehicle.DriveModel extensions to modify individual vehicle behavior.

    Server:

    • Added config.toml filtering before sending it to clients to strip all fields that are not required on client (like your [Networking] allow list or the new [Database] properties) and could disclose information
    • Added sv_idle_mode ConVar (default false) to allow configuring the server to go into CPU load / power saving mode if no players are connected. Be aware that scripts will also tick slower
    • Added new re.sql.** extensions with postgres and SQLite backend support. Provides full support for ADO.NET styled ORM layers liker Dapper.AOT (see Script API - Databases)

    Shared:

    • Fixed UGC added entities potentially being networked/created before the client finished downloading and registering them, leading to asserts
    • Added exported function support to UGC scripting. Bundles can now export functions and other bundles can call them sync or async. Limited cycling between bundles is supported (see Script API - Exports)
    • Updated cacerts.pem to mitigate CVE-2026-114406. We didn't rush this out because the impact was very small. The bundled CEF has its own revocation list, this only affects curl
    • Updates wasmtime to mitigate GHSA-32h6-97mm-8q3c. It was not exploitable in our configuration, but we updated anyways

    Scripting:

    • Published nuget packages v1.3.0 with support for all the new APIs

    0c1435a2|26
    Client update is applied on next restart.
    Server update is required due to packet changes.

    Developers need to dotnet restore --force-evaluate depending on their pinned nuget packages to update their bundles

    Client:

    • Updated to game build 2.5
    • Added support for dual wielding weapon sync
    • Disabled pause menu entries like GOG login, Mods and Saving that caused crashes or have no purpose
    • Fix traffic sound leaks accumulating over time and overloading the sound engine, leading to artifacts
    • Reduced RAM usage by shrinking the interpolation history on ecs::TransformComponent
    • Fixed race condition in multi-client handling. Up to 3 clients can now be properly started again
    • Fix UI race condition on fast clients
    • Improve disconnect during "Connecting to server" phase. Connection is reset gracefully now and can be restarted

    Shared:

    • Added dropped Item and Loot container sync with server configurable behavior (see Console Variables)

    Scripting:

    • Published nuget packages v.1.2.0 with support for game build 2.5

    Misc:

    • Updated scripting docs to include version 2.5 RTTI data
    • Updated docs to include new improved async and event handler patterns, updated ConVar list and also fixed a dead link
    • Added rolling CI builds to guest-csharp-examples/gamemodes

    9fe9167c|25

    • Client update is applied on next restart.
    • Server update is required due to packet changes.
    • A bug has been fixed in the container image. Pull a new version if you have issues

    Client:

    • Fixed weapons appearing over the players head on holster
    • Fixed a crash on bundle reload related to keybind registration
    • Fixed clients not connecting to VOIP if the the server was joined via an ipv6 address literal
    • Fixed a rare crash when cycling VOIP input devices while actively capturing

    Server:

    • Made [Scripting] group in config.toml optional to support asset only bundles
    • Fixed a potential out of bounds read on the server sync grid
    • Added bypass flag to bridge/mcp to allow servers to start without forcing sv_lan true (Allows using the mcp protocol to build server automation tooling. The flag is --mcp-dangerous-allow-server-listing)

    Shared:

    • Added sync for traffic cycles / intersection traffic lights. Greatly improved traffic flow
    • Added initial UGC content streaming. Compatible with ArchiveXL and TweakXL single player mods. (This is still very early and WIP. Its tested with a number of map changes, interiors and vehicles, but modifications to NPCs and appearance are still in the works)
    • Reduced traffic state sync packet size
    • Improved server messages when trying to connect with a mismatching network protocol version
    • Bumped network protocol version. Servers will need to update

    Misc:

    • Updated the container image to fix a badly formatted --voip-addr being passed to the server

    f77f3d3c|23
    Client update is applied on next restart.
    Depending on your server configuration you have to update using the update command.

    Client:

    • Fixed a race condition in the bundle mounter with latent CEF requests
    • Fixed a double insert into the scripting load queue of client blobs
    • Improved UGC frame isolation
    • Fixed a hashmap rehash bug

    Server:

    • Improved bundles listing command
    • Fixed early abort if --bindaddr was specified on windows
    • Made the [ReUi] group in config.toml completely optional

    Shared:

    • Added auto-complete support to ConCmd parameters. Initially for start, stop and restart
    • Added bridge module for all features related to communication with other processes
    • Added a mcp client to bridge (see blackice-mcp)

    1ad4600a|22
    Client update is applied on next restart.

    Client:

    • Improved client connection UX. Client will now gracefully fail, inform the user and allow new connection attempts
    • Reduced the initial connection timeout to 15 seconds (previously 60) to prevent the client from being stuck too long
    • Fixed an overzealous check in the use after free detector in scripting when dealing with structs with multiple layers of inheritance

    b243211c|20
    Client update is applied on next restart.

    Client:

    • Fixed a crash during startup on proton
    • Fixed a crash when taking a photo in photo mode (Images now correctly appear in your Pictures folder)

    d04cc442|19
    Client update is applied on next restart.
    Depending on your server configuration you have to update using the update command.

    Developers need to dotnet restore --force-evaluate depending on their pinned nuget packages to update their bundles

    Client:

    • Fixed a crash during shutdown

    Server:

    • Fix a server console input bug that could leave a windows server CLI unresponsive
    • Add async HTTP Request API with allow listing in bundle config
    • Add server APIs for GameStateEnvironment (weather and time)

    Shared:

    • Allow multiple re.Events.OnNet handlers for the same event. This was already possible for re.Events.On and is now unified
    • Fix a bug with event delivery of local events in certain scenarios

    b5d8f7b7|18
    Client update is applied on next restart.
    Depending on your server configuration you have to update using the update command.

    Client:

    • Silenced a confusing debug message

    Server:

    • Fixed a server_netwatch crash
    • Improved error messages when user validation failed on join

    Infra:

    • Allow binding server endpoints (via sv_endpoint) to local addresses like 127.0.0.1, for convenient local joining of dev servers
    1 Reply Last reply
    0
    • purpleP purple pinned this topic

    Hello! It looks like you're interested in this conversation, but you don't have an account yet.

    Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

    With your input, this post could be even better 💗

    Register Login
    Reply
    • Reply as topic
    Log in to reply
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes


    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categories
    • Recent
    • Tags
    • Popular
    • Groups