<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Project BlackICE Cyberpunk2077 Multiplayer Changelog]]></title><description><![CDATA[<p dir="auto">Last update: 2026-11-08</p>
<p dir="auto"><strong>dfe0b133|29</strong><br />
Client update is applied on next restart.<br />
Server update is required  due to packet changes.</p>
<p dir="auto">Developers need to <code>dotnet restore --force-evaluate</code> depending on their pinned nuget packages to update their bundles</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed an intermittent client crash that occurred during server join</li>
<li>Added "Close button" to F8 devtool windows</li>
<li>Added new Client UI for local server discovery</li>
<li>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 <code>connect &lt;ip&gt;</code> is also supported)</li>
<li>Allow mounting <code>.tweak</code> only asset bundles without a <code>.archive</code> file</li>
<li>Added Surface Overlay <a href="https://scripting.replay.re/client/classes/re/Ui/#fn-CreateSurfaceOverlay" target="_blank" rel="noopener noreferrer nofollow ugc">extensions</a> to allow rendering CEF content onto world meshes. See <a href="https://docs.replay.re/ugc/authoring/surface-overlay/" target="_blank" rel="noopener noreferrer nofollow ugc">Surface Overlay - docs.replay.re</a> for more information</li>
<li>Added a Surface picker devtool for the new Surface Overlay extensions</li>
<li>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</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Fixed <code>restart &lt;bundle&gt;</code> command missing bundle updates</li>
<li>Added delay to <code>sv_ugc_automatic_restarts</code> to batch multiple file changes into one bundle restart</li>
<li>Added <code>re.EntitySystem.CreateProp</code> <a href="https://scripting.replay.re/server/classes/re/EntitySystem/#fn-CreateProp" target="_blank" rel="noopener noreferrer nofollow ugc">extension</a> to spawn "static entities" / props into the game world</li>
<li>Added new <code>sv_hide</code> 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</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>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 <a href="https://docs.replay.re/ugc/authoring/voice-chat/" target="_blank" rel="noopener noreferrer nofollow ugc">docs page here</a>.</li>
<li>Fixed an UGC race condition that was able to corrupt bundle packing</li>
<li>Added ConVar scripting and a ComCommand "Execute" <a href="https://scripting.replay.re/server/classes/re/Con_/" target="_blank" rel="noopener noreferrer nofollow ugc">extension</a></li>
<li>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</li>
</ul>
<p dir="auto"><em>Scripting:</em></p>
<ul>
<li>Published nuget packages <code>v1.4.0</code> with support for the new extensions</li>
</ul>
<hr />
<p dir="auto"><strong>e058fc72|28</strong><br />
Client update is applied on next restart.</p>
<p dir="auto">Developers need to <code>dotnet restore --force-evaluate</code> depending on their pinned nuget packages to make use of new features</p>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Added new <code>re.ClientObserverEntityChanged</code> event. Intended for UGC scripts to update mappings between re.ClientId and re.EntityId of a clients observer entity</li>
</ul>
<p dir="auto"><em>Scripting:</em></p>
<ul>
<li>Published nuget packages <code>v1.3.1</code> with support for the new event</li>
<li>Updated <a href="https://github.com/replayre/guest-csharp-examples" target="_blank" rel="noopener noreferrer nofollow ugc">guest-csharp-examples/gamemodes</a>. Character customization in "Roaming" mode now support body gender changing, implemented handling for changing observers and fixed a log spam issue</li>
</ul>
<hr />
<p dir="auto"><strong>06ee71e6|27</strong><br />
Client update is applied on next restart.<br />
Server update is required  due to packet changes.</p>
<p dir="auto">Developers need to <code>dotnet restore --force-evaluate</code> depending on their pinned nuget packages to update their bundles</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed vehicle aiming from first person not syncing camera angles</li>
<li>Added vehicle damage (body mesh, glass, tires, lights) sync</li>
<li>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</li>
<li>Optimized vehicle wheel spin sync into quantized state sync instead of anim driven. Reduces network traffic in vehicle dense areas</li>
<li>Added <code>.app</code> resource patching to UGC streaming</li>
<li>Fixed and thus re-enabled entity morphing of PlayerPuppets (face, nails, chest, etc.)</li>
<li>Added PlayerPuppet gender selection with runtime swapping support</li>
<li>Added native Puppet gender selection UI extension which can be opened easily via <code>re.Ui.ShowBodyGenderSelector(bool continue_to_customization)</code> and takes care of everything for you</li>
<li>Added support for overriding gender presets on individual clients after streaming them as UGC via <code>re.EntitySystem.SetBodyGenderPreset</code></li>
<li>Added raw API for gender switching <code>re.EntitySystem.RequestLocalPlayerBodyGender</code> (server: <code>ObserverComponent.SetPrimaryObserverBodyGender</code>) for custom gender / customization selector implementations</li>
<li>Fixed default PlayerPuppet missing legs / ankles before customizing appearance once</li>
<li>Fixed vehicle combat sync with special handling of vehicle rocket launcher positional sounds</li>
<li>Added native handling for <code>PlayerDevelopmentSystem</code> not handing out default items, no more hooking required. Updated docs with a legacy deprecation notice</li>
<li>Added <a href="https://scripting.replay.re/client/classes/vehicle/Engine/" target="_blank" rel="noopener noreferrer nofollow ugc"><code>vehicle.Engine</code></a>, <a href="https://scripting.replay.re/client/classes/vehicle/Gearbox/" target="_blank" rel="noopener noreferrer nofollow ugc"><code>vehicle.Gearbox</code></a> and <a href="https://scripting.replay.re/client/classes/vehicle/DriveModel/" target="_blank" rel="noopener noreferrer nofollow ugc"><code>vehicle.DriveModel</code></a> extensions to modify individual vehicle behavior.</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Added <code>config.toml</code> filtering before sending it to clients to strip all fields that are not required on client (like your <code>[Networking]</code> allow list or the new <code>[Database]</code> properties) and could disclose information</li>
<li>Added <code>sv_idle_mode</code> 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</li>
<li>Added new <code>re.sql.**</code> extensions with postgres and SQLite backend support. Provides full support for <a href="http://ADO.NET" target="_blank" rel="noopener noreferrer nofollow ugc">ADO.NET</a> styled ORM layers liker Dapper.AOT (see <a href="https://docs.replay.re/ugc/authoring/script-api/#databases" target="_blank" rel="noopener noreferrer nofollow ugc">Script API - Databases</a>)</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>Fixed UGC added entities potentially being networked/created before the client finished downloading and registering them, leading to asserts</li>
<li>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 <a href="https://docs.replay.re/ugc/authoring/script-api/#exports-calling-other-bundles" target="_blank" rel="noopener noreferrer nofollow ugc">Script API - Exports</a>)</li>
<li>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</li>
<li>Updates wasmtime to mitigate GHSA-32h6-97mm-8q3c. It was not exploitable in our configuration, but we updated anyways</li>
</ul>
<p dir="auto"><em>Scripting:</em></p>
<ul>
<li>Published nuget packages <code>v1.3.0</code> with support for all the new APIs</li>
</ul>
<hr />
<p dir="auto"><strong>0c1435a2|26</strong><br />
Client update is applied on next restart.<br />
Server update is required  due to packet changes.</p>
<p dir="auto">Developers need to <code>dotnet restore --force-evaluate</code> depending on their pinned nuget packages to update their bundles</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Updated to game build 2.5</li>
<li>Added support for dual wielding weapon sync</li>
<li>Disabled pause menu entries like GOG login, Mods and Saving that caused crashes or have no purpose</li>
<li>Fix traffic sound leaks accumulating over time and overloading the sound engine, leading to artifacts</li>
<li>Reduced RAM usage by shrinking the interpolation history on <code>ecs::TransformComponent</code></li>
<li>Fixed race condition in multi-client handling. Up to 3 clients can now be properly started again</li>
<li>Fix UI race condition on fast clients</li>
<li>Improve disconnect during "Connecting to server" phase. Connection is reset gracefully now and can be restarted</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>Added dropped Item and Loot container sync with server configurable behavior (see Console Variables)</li>
</ul>
<p dir="auto"><em>Scripting:</em></p>
<ul>
<li>Published nuget packages v.1.2.0 with support for game build 2.5</li>
</ul>
<p dir="auto"><em>Misc:</em></p>
<ul>
<li>Updated scripting docs to include version 2.5 RTTI data</li>
<li>Updated docs to include new improved async and event handler patterns, updated ConVar list and also fixed a dead link</li>
<li>Added rolling CI builds to guest-csharp-examples/gamemodes</li>
</ul>
<hr />
<p dir="auto"><strong>9fe9167c|25</strong></p>
<ul>
<li>Client update is applied on next restart.</li>
<li>Server update is required  due to packet changes.</li>
<li>A bug has been fixed in the container image. Pull a new version if you have issues</li>
</ul>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed weapons appearing over the players head on holster</li>
<li>Fixed a crash on bundle reload related to keybind registration</li>
<li>Fixed clients not connecting to VOIP if the the server was joined via an ipv6 address literal</li>
<li>Fixed a  rare crash when cycling VOIP input devices while actively capturing</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Made <code>[Scripting]</code> group in <code>config.toml</code> optional to support asset only bundles</li>
<li>Fixed a potential out of bounds read on the server sync grid</li>
<li>Added bypass flag to bridge/mcp to allow servers to start without forcing <code>sv_lan true</code> (Allows using the mcp protocol to build server automation tooling. The flag is <code>--mcp-dangerous-allow-server-listing</code>)</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>Added sync for traffic cycles / intersection traffic lights. Greatly improved traffic flow</li>
<li>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)</li>
<li>Reduced traffic state sync packet size</li>
<li>Improved server messages when trying to connect with a mismatching network protocol version</li>
<li>Bumped network protocol version. Servers will need to update</li>
</ul>
<p dir="auto"><em>Misc:</em></p>
<ul>
<li>Updated the container image to fix a badly formatted <code>--voip-addr</code> being passed to the server</li>
</ul>
<hr />
<p dir="auto"><strong>f77f3d3c|23</strong><br />
Client update is applied on next restart.<br />
Depending on your server configuration you have to update using the update command.</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed a race condition in the bundle mounter with latent CEF requests</li>
<li>Fixed a double insert into the scripting load queue of client blobs</li>
<li>Improved UGC frame isolation</li>
<li>Fixed a hashmap rehash bug</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Improved bundles listing command</li>
<li>Fixed early abort if <code>--bindaddr</code> was specified on windows</li>
<li>Made the <code>[ReUi]</code> group in <code>config.toml</code> completely optional</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>Added auto-complete support to ConCmd parameters. Initially for start, stop and restart</li>
<li>Added bridge module for all features related to communication with other processes</li>
<li>Added a mcp client to bridge (see blackice-mcp)</li>
</ul>
<hr />
<p dir="auto"><strong>1ad4600a|22</strong><br />
Client update is applied on next restart.</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Improved client connection UX. Client will now gracefully fail, inform the user and allow new connection attempts</li>
<li>Reduced the initial connection timeout to 15 seconds (previously 60) to prevent the client from being stuck too long</li>
<li>Fixed an overzealous check in the use after free detector in scripting when dealing with structs with multiple layers of inheritance</li>
</ul>
<hr />
<p dir="auto"><strong>b243211c|20</strong><br />
Client update is applied on next restart.</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed a crash during startup on proton</li>
<li>Fixed a crash when taking a photo in photo mode (Images now correctly appear in your Pictures folder)</li>
</ul>
<hr />
<p dir="auto"><strong>d04cc442|19</strong><br />
Client update is applied on next restart.<br />
Depending on your server configuration you have to update using the update command.</p>
<p dir="auto">Developers need to <code>dotnet restore --force-evaluate</code> depending on their pinned nuget packages to update their bundles</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Fixed a crash during shutdown</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Fix a server console input bug that could leave a windows server CLI unresponsive</li>
<li>Add async HTTP Request API with allow listing in bundle config</li>
<li>Add server APIs for GameStateEnvironment  (weather and time)</li>
</ul>
<p dir="auto"><em>Shared:</em></p>
<ul>
<li>Allow multiple <code>re.Events.OnNet</code> handlers for the same event. This was already possible for <code>re.Events.On</code> and is now unified</li>
<li>Fix a bug with event delivery of local events in certain scenarios</li>
</ul>
<hr />
<p dir="auto"><strong>b5d8f7b7|18</strong><br />
Client update is applied on next restart.<br />
Depending on your server configuration you have to update using the update command.</p>
<p dir="auto"><em>Client:</em></p>
<ul>
<li>Silenced a confusing debug message</li>
</ul>
<p dir="auto"><em>Server:</em></p>
<ul>
<li>Fixed a server_netwatch crash</li>
<li>Improved error messages when user validation failed on join</li>
</ul>
<p dir="auto"><em>Infra:</em></p>
<ul>
<li>Allow binding server endpoints (via <code>sv_endpoint</code>) to local addresses like 127.0.0.1, for convenient local joining of dev servers</li>
</ul>
]]></description><link>http://forum.replay.re/topic/23/project-blackice-cyberpunk2077-multiplayer-changelog</link><generator>RSS for Node</generator><lastBuildDate>Mon, 09 Nov 2026 16:03:40 GMT</lastBuildDate><atom:link href="http://forum.replay.re/topic/23.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 08 Nov 2026 16:53:20 GMT</pubDate><ttl>60</ttl></channel></rss>