Repository navigation
[Bug] GTAV Enhanced: selective base-map RPF removal crashes #365
Replies: 3 comments
|
I want to emphasize why this is more than an edge-case request or a convenience feature. This blocks serious total-conversion work from being deployed reliably. It also creates unnecessary client downloads, resource enumeration overhead, cache pressure, longer development iteration times and failures that are extremely difficult to diagnose. At the moment, there is no production-safe path for doing this on GTAV Enhanced (Not on legacy too but i already migrated to enhanced so) I would also like to mention the following resource: https://forum.cfx.re/t/release-los-santos-removed-empty-game-map-compatible-with-ipl-loaders/5176084 This resource previously relied on preventing the relevant RPF archives from being mounted. However, after an update to the Legacy version, that method stopped working, forcing the developer to replace the original files with empty placeholder files instead. While this workaround can still remove the Los Santos map, overriding thousands of individual files is far from optimal. It increases pool usage, contributes to stuttering and longer loading times, adds unnecessary streaming and cache overhead, and may cause conflicts with custom assets. The fact that a widely used resource had to move from archive-level mount control to mass file replacement demonstrates why a properly supported RPF exclusion mechanism is needed. Thank you for taking the time to review this. I appreciate the work that goes into maintaining the platform, and I hope this issue can be considered for a proper supported solution. |
|
Just bumping this as the issue is still reproducible on the latest Enhanced build and remains a major blocker for custom map projects. |
|
Bumping this once more as this is still a major blocker for total-conversion/custom map projects on Enhanced. The current workaround still requires mass file replacement, which introduces significant streaming, cache and pool overhead instead of solving the problem at the archive mount level. If useful, I can provide an updated minimal reproduction, logs, or run additional tests against the current build. Would appreciate any indication whether selective RPF exclusion/unmounting is something that could be supported or investigated. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Summary
Hotfix 5 fixed the resource-backed images.meta path crash reported in #124. However, there is still no safe way to prevent selected Los Santos RPF archives from being mounted.
When the relevant RPF entries are removed from images.meta, even with an otherwise valid and carefully reduced configuration, the client crashes during startup. As a result, developers are forced to keep those archives mounted and override thousands of individual YMAP and YBN files with empty replacements.
This is not a practical or reliable solution. The core issue is that selectively dismounting unnecessary Los Santos RPF archives currently results in a client CTD instead of being supported or producing a clear dependency error.
Issue type
Client
Repro rate
Always
Server build version
b101
OS
Windows 11 Pro 10.0.26200
CPU
AMD Ryzen 5 7500F 6-Core Processor
GPU
NVIDIA GeForce RTX 5070 Ti
RAM
32 GB
Storage type
SSD NVMe
Connection type
None
ISP and bandwidth
No response
DxDiag
No response
Network graph
No response
Platform
Windows
OS version / distribution
Windows 11 Pro 10.0.26200
CPU
AMD Ryzen 5 7500F 6-Core Processor
RAM
32 GB
Using txAdmin?
Yes
Hosting provider
Self-hosted
Machine type
Dedicated
/perf endpoint output
No response
DDoS protection
No
ulimit -n value (Linux only)
No response
Docker Compose file (Docker only)
No response
Steps to Reproduce
gamecache_gen9/1158_13, OneSync enabled and a b101 server artifact.gta5.metaandimages.meta, loaded withreplace_level_meta 'gta5'. After Hotfix 5, a byte-identical resource-backed copy loads successfully.<Item>archive entries fromimages.meta. Fully restart the server and connect. The Enhanced client crashes instead of reporting missing mandatory archive dependencies.Expected Behavior
FiveM should provide a supported and deterministic way to exclude selected Los Santos/base-map RPF entries before map initialization while preserving mandatory base-game archives and GTA Online DLC such as mpheist4.
If a reduced mount graph is invalid, the client should reject it with a clear validation error naming the missing archive/dependency instead of crashing. Removing the base map should not require streaming more than 22,000 proxy files, and proxy files should not prevent unrelated custom collision from working.
Actual Behavior
A valid but empty images.meta causes a client CTD. Aggressively reduced lists can either crash during map reload or pass connection tests and later crash during city traversal.
Using disabled=true does not unmount archives that were already loaded. RemoveIpl only handles IPL/YMAP instances and does not remove collision, path nodes, navmeshes or every archetype registration.
The remaining workaround is thousands of streamed filename replacements. In a controlled A/B test, enabling 11,753 YBN proxies caused widespread loss of custom-map collision; disabling only those proxies restored it.
Evidence
Previous resource-backed path crash, opened by us and fixed in Hotfix 5:
#124
Controlled metadata reduction:
[ASSERT]: 0x43ED4D14 Pool Full, Size == 3000Filename-replacement fallback:
The current session log confirms that b101 is installed and b110 is now available. The reproduction above records the builds on which the controlled tests were performed.
Additional Context
This is a total-conversion map use case. The custom map supplies its own YMAPs, YBN collisions, YND path nodes, YNV navmeshes, YTYP archetypes, models and textures.
We need to remove Los Santos map archives while preserving:
Re-streaming DLC is not a production solution because clients already own the files, it requires gigabytes of downloads, and streamed MLO/archetype dependencies are less stable.
A suitable solution could be a resource-manifest denylist/unmount directive processed before INIT_SESSION, or equivalent replace_level_meta semantics that actually exclude selected logical archive entries before they mount. It should preserve mount order, restore stock mounts when the resource stops, and report found/removed/missing entries.
An entirely empty archive graph is not expected to be playable. The empty-list test demonstrates the lack of dependency validation and the CTD failure mode. The actual request is supported selective base-map archive removal while mandatory and DLC archives remain mounted.
Related pool reports:
#299
#110
#72
#155
#18
All reactions