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

Discussion in 'Tutorials & Resources' started by KonstantinUb, Dec 7, 2012.

  1. KonstantinUb

    KonstantinUb L1: Registered

    Messages:
    9
    Positive Ratings:
    10
    [​IMG]

    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:

    [​IMG]

    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.
    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: Dec 13, 2012
  2. A Boojum Snark

    aa A Boojum Snark Toraipoddodezain Mazahabado

    Messages:
    4,769
    Positive Ratings:
    5,527
    ...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?
     
  3. KonstantinUb

    KonstantinUb L1: Registered

    Messages:
    9
    Positive Ratings:
    10
    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.

    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: Dec 10, 2012
  4. tyler

    aa tyler snail prince, master of a ruined tower

    Messages:
    5,032
    Positive Ratings:
    3,978
    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: Dec 10, 2012
  5. KonstantinUb

    KonstantinUb L1: Registered

    Messages:
    9
    Positive Ratings:
    10
    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.

    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: Dec 12, 2012
  6. KonstantinUb

    KonstantinUb L1: Registered

    Messages:
    9
    Positive Ratings:
    10
    Added better example picture and updated the entity list.