[HL25] TFC Update - Client crashes with no warnings
Hello,
After the new TFC update, there are some custom-made maps by the TFC community where users will crash in certaion sections. One example that I can think of is the escape TFC map, bm_consequences_b3, in the vent section. Hopefully more updates will be released in the future that will fix bugs, including this one.
Thanks :)
Hello @DarthMan, it's not clear if you're referring to Team Fortress Classic or Half-Life here. Also, a quick search for bm_consequences_b3 didn't give a strong result. Can you provide a convenience link for a goldsrc dev to use?
Team Fortress Classic
I am referring to Team Fortress Classic. The map is not available on the internet, as it's only playable on the Feckin Mad FM FUN server. Link to download the map: https://ufile.io/rhcrv2bm The link expires in 1 day.
Another thing to note here, it turns out that if you run the map on the latest TFC build and 25th anniversary build, all of the entities are invisible. Only the worldspawn is visible, and effects such as lasers etc. But doors that can be opened, glasses that can be damaged etc are not visible. No such issues are present on the old build.
I think the problem is this map.
I tried it on rehlds but it never worked. it gives segmentation fault...
tested on rehlds 3.13.0.788 metamod 1.21p38 without any plugin
I think the problem is this map.
I tried it on rehlds but it never worked. it gives segmentation fault...
tested on rehlds 3.13.0.788 metamod 1.21p38 without any plugin
The map runs just fine on my side under ReHLDS, the only issue is with players using the new TFC build. I only tested under Windows, so unsure about Linux. But I can say that there are no issues with stock HLDS under Linux.
just a little heads up. we sorta found out the issue, and the map author "fixed" it.
it seems like the latest tfc update somehow impacted the margins of "allowed" brush geometry in solid entities, mostly func_detail, which is a custom entity, in odd cases it will cause the client to crash and close the game whenever the player enters the area with the faulty entity, at this moment i cant even tell you what kind of shapes exactly are affected, but it seem to be variables of spikes and/or columns, possibly merged brushes aswell wasnt easy to nail this down, but im already working on a fix to get bm_consequences map up and running again
i would love, if someone from Valve would have any idea what changed in that department.
func_detail does not exist in a compiled map. This is possibly related to the changes made to the renderer involving how it deals with T-junctions since that entity can affect how geometry is cut.
This sounds similar to crashes I've been seeing in Half-Life. There's no error message and it only happens in certain areas of the map. I can tell a map has this problem by noclipping into the void and seeing large chunks of the map are missing.
Using Ghidra I think I've found the cause. Mod_LeafPVS decompresses to a 1024 byte buffer. At 8 leaves per byte, that's 8192 max leaves allowed per model. The maps I see crashes in all had more than 8192 leaves in the world model. Removing parts of the map fixed the crashes once the leaf count was under 8192. As a mapper, you can get around this limit by converting detailed parts of the world to func_wall (not func_detail).
Attached is the map I tested with (a stripped version of io_v1). Walk forward to crash. Or not, it depends on how you started the map. For me it crashes with the HL25 Windows client and steam_legacy Linux client when launching with maxplayers 1; map io_crash.