For the people who have had map crashes: what's your entdata?

Discussion in 'Mapping Questions & Discussion' started by Vilepickle, Dec 31, 2007.

  1. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    I'm curious. Someone told me they were playing on the new Mach3, which has a pretty high entdata, and it was crashing. For the toystore guy and the studio guy, what is your entdata? Is it under 100%? Mine is

    entdata [variable] 378018/393216 (96.1%) VERY FULL!

    Let me know.
     
  2. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    I'm thinking that this issue can be solved simply by combining many (or all) func_details in a final compile so they aren't all individual. I'm going to give this a go.
     
  3. jakeparlay

    jakeparlay L2: Junior Member

    Messages:
    66
    Positive Ratings:
    2
    i think its a heavier load on point entities thats causing maps to crash... reduce sprites, spotlights, particles, etc... i don't think the crashing is affected by brushwork per se

    (and I think, if you combine all the detail brushes into one massive func_detail, the whole bunch of 'em will be rendered once a single item is visible... i'm about 80% that this is the case across the map, and 100% sure its true for brushes within the same visleaf
     
  4. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    Ok, yeah combining all the details doesn't do anything for entdata. HOWEVER, I did a bit of digging.

    THIS is the error showing up (in Mach3 at least on this 32man server):
    Error
    ED_Alloc: no free edicts

    Fix
    An error that indicates you've gone over the entity limit. Use fewer entities.

    ----------------------
    This is from the source wiki:

    A Source engine server can handle up to 2048 entities at the same time (see MAX_EDICT_BITS in \public\const.h), where each entity may have 1024 different member variables that are networked to clients (MAX_PACKEDENTITY_PROPS). (A CNetworkArray consisting of X items counts as X properties towards the 1024 limit.) Also, each entity can only send 2K of encoded data at a time. See SDK Known Issues List for more information.
     
    • Thanks Thanks x 1
  5. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    Is there any way to check the # of entities you have in a map?
     
  6. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    nm, found it.
     
  7. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    Yeah, I had around 1850 entities going in Mach3. I'm sure that would add up with a full 32 man server with the player models and projectiles/etc etc to be over the 2048 limit. Time to start cutting.
     
  8. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    As a reference for anyone else with this problem, Castle has 1559 entities and does NOT have any edict crashing.
     
  9. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    I'm testing it right now, as reducing my func_details to one func_detail is about 200 entities.

    I'll let you know what I find.

    http://developer.valvesoftware.com/wiki/Optimization_(Geometry)#Detail_brushes

    ^^Says nothing about making many across the map into one detail. Just states that they act as normal brushes after their vis is ignored.
     
  10. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    Ok, making all my detail brushes into one actually worked fine. It doesn't draw all of them, it works the same as it did before (draws only in vis range). That saved me a lot of hassle so far.
     
  11. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
  12. jakeparlay

    jakeparlay L2: Junior Member

    Messages:
    66
    Positive Ratings:
    2
    glad to hear you got it sorted :D

    can't believe I was wrong on the detail brushes. :lol:
     
  13. Kev_Boy

    Kev_Boy Guest

    Positive Ratings:
    0
    I actually have entdata at 125%. I also had the "no free edicts" error but that was due to an oversized 3D Skybox which was resolved when I shrunk it down some. I've got about 3500 entities (Maximum is at 4096 I believe not 2048) but that's including prop_statics and func_details, I'm not cutting anything! No way.
     
    Last edited by a moderator: Jan 2, 2008
  14. Armadillo of Doom

    aa Armadillo of Doom Group Founder, Lover of Pie

    Messages:
    949
    Positive Ratings:
    615
    Are you sure func_detail counts towards entities? I could have sworn it was still a brush for rendering purposes. Still, 125% ent data is pretty impressive :p
     
  15. Kev_Boy

    Kev_Boy Guest

    Positive Ratings:
    0
    I've exceeded that with LZ 129 Hindenburg for The Ship before, it shouldn't be a concern as far as I know. It's mostly named things like controlled electrical outlet shocks and of course the light groups that can be toggled on/off.
     
  16. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    Well, I reduced my map from around 1850 to 1500 and it stopped the edict crashes. So obviously Valve has something bugged with TF2 approaching 2048 entities. I'm fairly sure the official maps have MUCH more than 2048, but currently 3 custom maps I've known of that have a lot are crashing.

    Could it be something with the compiler? I don't know what it could be really, but I've narrowed it down to the 2048 mark and some sort of anomaly happening here.

    And yes func_detail does count towards entities, as it reduces the count in Show Information.
     
  17. Kev_Boy

    Kev_Boy Guest

    Positive Ratings:
    0
    I have just played Toystore with about 3 other players for over an hour without any crashing. It does seem to be a problem with either entities or just for the most part, complexity. More players = More complexity.
     
  18. Vilepickle

    Vilepickle L7: Fancy Member

    Messages:
    495
    Positive Ratings:
    148
    I tried your map with the 24 bot cfg and it crashed, same crash I was getting. My crash map (with 1850 ents) worked with up to 24 players, but at 24 and above the map crashes. When I reduced it to around max 1600 entities it stops crashing. Try using the bot cfg and testing it out to be sure if it crashes or not.

    This crash hard locks my system now so it's kind of blah... so be warned. I have the G15 keyboard with LCD screen where I can kill processes on it though so it isn't an issue.

    It's kind of hard to reduce the # of ents if you're WAY over, but try it by saving a new file and keeping your old. Just cut a lot of stuff out of the new one, make func_details all together (select them all with the Entity Report), and run a test with the bots. I'll bet you it will stop.