How to Prevent Your Map from Crashing, or Fix It — “Bad Inline Model” Errors

KonstantinUb

L1: Registered
Dec 7, 2012
9
12
badinlinemodel.png


I'm sure you've experienced these errors at one point or another. They're incredibly annoying and make your game crash instantly. They cause entire servers to empty out if an affected map comes on, and they're hell to troubleshoot.


How can I prevent my map from being affected?

The cause of bad inline model errors is the presence of static content (decals) on dynamic brush entities (doors, moving platforms, breakable glass panes, rotating parts and so on). This is what the number in the errors represents — the index of the inline (brush) model causing problems.
All you have to do is be careful where you stick your decals: make sure they aren't placed over any brush you've tied to an entity, either partially or in their entirety. This, for example, is bad:

baddecalexample.png


Even though the button doesn't move when pressed, the lambda decal on it still causes an error. In a perfect world, the compile tools would report this to you, or even fix it for you, but you'll just have to keep an eye out yourself.
In summation, tread carefully when decorating your map, and keep decals away from moving parts! This includes, but is not limited to, the following entities:

Need a quick way to check your map or even fix already existing maps?

Look no further than the Sassilization Inline Patcher.
The Sassilization Inline Patcher is a utility application which fixes “bad inline model number #, worldmodel not yet setup” errors in Source engine BSP files. These errors are very common and cause many people to crash on certain maps, regardless of game or gamemode. Valve recently made an attempt to fix them, but the problem remains.

Theoretically, the patcher supports virtually any Source game and BSP version. It was created in Java by Mozartkugeln (myself) and Sonic5039.
If you're unsure whether you've misplaced any decals in your map, a quick way to check is to compile it and run the BSP through this application. The thorough logging system will inform you what the problematic decals are (their texture paths) and where they're located (underlying brush model, class and targetname).
Likewise, if you're a server owner and would like to spare your players the discomfort of crashing to desktop, run any map you get complaints about through the patcher, and then upload the fixed version to your servers.

Inline Patcher can be downloaded here or, if you want the test builds, directly from here. It requires Java 7 or higher. For more information on how to use the application, check the Usage section or this Facepunch thread.



Thanks for reading.
Any comments, requests or criticism are welcome.
 
Last edited:

A Boojum Snark

Toraipoddodezain Mazahabado
aa
Nov 2, 2007
4,775
7,670
...it's almost three years old. Beyond a month people generally don't care, and especially since this is a brand new utility it would make way more sense to give it its own thread.

That said, I'm a little confused about the point of this. Isn't this something that could, and should, be fixed at the development time by the mapper?
I know a server can have an external entity lump that is loaded server-side and not interfere with client consistency, but does that even work when you change the BSP itself? Does the game not run a CRC on the whole thing?
 

KonstantinUb

L1: Registered
Dec 7, 2012
9
12
Hm, alright then, apologies are due. Usually forums have a policy about it being better to bump closely related threads, no matter how old, than to make new ones which could end up being duplicates.

That said, I'm a little confused about the point of this. Isn't this something that could, and should, be fixed at the development time by the mapper?
I know a server can have an external entity lump that is loaded server-side and not interfere with client consistency, but does that even work when you change the BSP itself? Does the game not run a CRC on the whole thing?
The big idea is that server owners should use the application to fix up crashy maps and then distribute the fixed versions to their clients. As far as the mappers go, you're right, but barely any of them know what the actual cause of those errors is.


I'll make a new thread for it later (tomorrow, most likely, as it's quite late now) along with a mapper-friendly explanation on crash-proofing new maps.
 
Last edited:

tyler

aa
Sep 11, 2013
5,102
4,621
Don't bother, I split the posts into a new thread.

I know all forums are different, but it has been closer to 4 years than 3 (as ABS said) and at any rate, a new utility deserves its own thread for maximum exposure (probably anywhere, not just here). Though this error is so outdated, I don't see many server admins needing it, or coming here to find it... who knows, though.

To my knowledge it's impossible to do this on accident anymore; it has to be deliberate. I may be wrong, but I don't think VBSP will compile correctly anymore if there's an overlay/decal on a brush entity.
 
Last edited by a moderator:

KonstantinUb

L1: Registered
Dec 7, 2012
9
12
Thanks. As promised, I've made a mapper-friendly guide, and I've updated the OP with it. I'd appreciate it if you could rename the thread to How to Prevent Your Map from Crashing, or Fix It — “Bad Inline Model” Errors and move it to the tutorials section.

To my knowledge it's impossible to do this on accident anymore; it has to be deliberate. I may be wrong, but I don't think VBSP will compile correctly anymore if there's an overlay/decal on a brush entity.
I just made a simple map and put a bunch of decals and overlays on several func brushes — VBSP didn't complain, and the map compiled fine.

Edit:
Oh and holy smokes, Boojum, I just realized you're the guy who created that car racing map! I've referred to that topic so many times for help …

Edit 2:
Thanks for the rename/move.
 
Last edited: