• Increasing the modelprecache table.
    54 replies, posted
So my community is running a few servers, we only have a problem where the server crashes often with the error message: [code]Warning: Table modelprecache is full, can't add models/props_junk/Wheebarrow01a .mdl --This problem has nothing todo with the model, this is simply the model that got spawned when the table got full.[/code] First of all I thought that the servers RAM was full, which made it impossible to precache the model, but it appeared that the ram was only at 1.5GB out of the total 4GB available. So is there a way to increase the modelprecache table with lua or possibly a module? Could someone point me in the right direction when a module will be neccesairy?
That's distressing, dumpstringtables to see what's taking up all the space in the modelprecache table.
[QUOTE=AzuiSleet;14976166]That's distressing, dumpstringtables to see what's taking up all the space in the modelprecache table.[/QUOTE] You only get that error when the server's crashed and waiting for you to do something about it - you can't input any more commands. I get this occasionally. Edit: I just tried it on a running server and it dumped more than the scrollback length. Any way to dump it to file?
[QUOTE=Lexic;14976309]You only get that error when the server's crashed and waiting for you to do something about it - you can't input any more commands. I get this occasionally. Edit: I just tried it on a running server and it dumped more than the scrollback length. Any way to dump it to file?[/QUOTE] con_logfile
Thanks. Perhaps the 200 aparently empty entries might have something to do with it? [code]Table modelprecache 605/1024 items 0 : 1 : maps/RP_EvoCity_v2d.bsp 2 : *1 3 : *2 4 : *3 5 : *4 6 : *5 7 : *6 8 : *7 9 : *8 10 : *9 11 : *10 12 : *11 13 : *12 14 : *13 15 : *14 16 : *15 17 : *16 18 : *17 19 : *18 20 : *19 21 : *20 22 : *21 23 : *22 24 : *23 25 : *24 26 : *25 27 : *26 28 : *27 29 : *28 30 : *29 31 : *30 32 : *31 33 : *32 34 : *33 35 : *34 36 : *35 37 : *36 38 : *37 39 : *38 40 : *39 41 : *40 42 : *41 43 : *42 44 : *43 45 : *44 46 : *45 47 : *46 48 : *47 49 : *48 50 : *49 51 : *50 52 : *51 53 : *52 54 : *53 55 : *54 56 : *55 57 : *56 58 : *57 59 : *58 60 : *59 61 : *60 62 : *61 63 : *62 64 : *63 65 : *64 66 : *65 67 : *66 68 : *67 69 : *68 70 : *69 71 : *70 72 : *71 73 : *72 74 : *73 75 : *74 76 : *75 77 : *76 78 : *77 79 : *78 80 : *79 81 : *80 82 : *81 83 : *82 84 : *83 85 : *84 86 : *85 87 : *86 88 : *87 89 : *88 90 : *89 91 : *90 92 : *91 93 : *92 94 : *93 95 : *94 96 : *95 97 : *96 98 : *97 99 : *98 100 : *99 101 : *100 102 : *101 103 : *102 104 : *103 105 : *104 106 : *105 107 : *106 108 : *107 109 : *108 110 : *109 111 : *110 112 : *111 113 : *112 114 : *113 115 : *114 116 : *115 117 : *116 118 : *117 119 : *118 120 : *119 121 : *120 122 : *121 123 : *122 124 : *123 125 : *124 126 : *125 127 : *126 128 : *127 129 : *128 130 : *129 131 : *130 132 : *131 133 : *132 134 : *133 135 : *134 136 : *135 137 : *136 138 : *137 139 : *138 140 : *139 141 : *140 142 : *141 143 : *142 144 : *143 145 : *144 146 : *145 147 : *146 148 : *147 149 : *148 150 : *149 151 : *150 152 : *151 153 : *152 154 : *153 155 : *154 156 : *155 157 : *156 158 : *157 159 : *158 160 : *159 161 : *160 162 : *161 163 : *162 164 : *163 165 : *164 166 : *165 167 : *166 168 : *167 169 : *168 170 : *169 171 : *170 172 : *171 173 : *172 174 : *173 175 : *174 176 : *175 177 : *176 178 : *177 179 : *178 180 : *179 181 : *180 182 : *181 183 : *182 184 : *183 185 : *184 186 : *185 187 : *186 188 : *187 189 : *188 190 : *189 191 : *190 192 : *191 193 : *192 194 : *193 195 : *194 196 : *195 197 : *196 198 : *197 199 : *198 200 : *199 201 : *200 202 : *201 203 : *202 204 : models/vehicle.mdl 205 : models/weapons/v_toolgun.mdl 206 : models/weapons/w_toolgun.mdl 207 : models/weapons/v_pistol.mdl 208 : models/weapons/w_camphone.mdl 209 : models/props_lab/powerbox02d.mdl 210 : models/dav0r/balloon/balloon.mdl 211 : models/dav0r/camera.mdl 212 : models/dav0r/tnt/tnt.mdl 213 : models/dav0r/hoverball.mdl 214 : models/props_wasteland/prison_lamp001c.mdl 215 : models/props_c17/light_cagelight02_on.mdl 216 : models\Gibs\wood_gib01e.mdl 217 : models\Gibs\wood_gib01d.mdl 218 : models\Gibs\wood_gib01c.mdl 219 : models\Gibs\wood_gib01b.mdl 220 : models\Gibs\wood_gib01a.mdl 221 : models\Gibs\Glass_shard01.mdl 222 : models\Gibs\Glass_shard02.mdl 223 : models\Gibs\Glass_shard03.mdl 224 : models\Gibs\Glass_shard04.mdl 225 : models\Gibs\Glass_shard05.mdl 226 : models\Gibs\Glass_shard06.mdl 227 : models\props_debris\concrete_chunk08a.mdl 228 : models\props_debris\concrete_chunk09a.mdl 229 : models\props_debris\concrete_chunk03a.mdl 230 : models\props_debris\concrete_chunk07a.mdl 231 : models\props_debris\concrete_chunk02a.mdl 232 : models\Gibs\metal_gib1.mdl 233 : models\Gibs\metal_gib2.mdl 234 : models\Gibs\metal_gib3.mdl 235 : models\Gibs\metal_gib4.mdl 236 : models\Gibs\metal_gib5.mdl 237 : sprites/zerogxplode.vmt 238 : sprites/steam1.vmt 239 : sprites/bubble.vmt 240 : sprites/laserbeam.vmt 241 : effects/bubble.vmt 242 : models/weapons/w_bullet.mdl 243 : cable/cable.vmt 244 : cable/cable_lit.vmt 245 : cable/chain.vmt 246 : cable/rope.vmt 247 : sprites/blueglow1.vmt 248 : sprites/purpleglow1.vmt 249 : sprites/purplelaser1.vmt 250 : models/error.mdl 251 : models/player.mdl 252 : models/gibs/agibs.mdl 253 : models/weapons/v_hands.mdl 254 : sprites/gunsmoke.vmt 255 : models/gibs/hgibs.mdl 256 : models/weapons/v_357.mdl 257 : models/weapons/w_357.mdl 258 : models/weapons/v_stunbaton.mdl 259 : models/weapons/w_stunbaton.mdl 260 : models/Weapons/ar2_grenade.mdl 261 : models/weapons/v_smg1.mdl 262 : models/weapons/w_smg1.mdl 263 : models/weapons/v_shotgun.mdl 264 : models/weapons/w_shotgun.mdl 265 : models/weapons/v_rpg.mdl 266 : models/weapons/w_rocket_launcher.mdl 267 : sprites/redglow1.vmt 268 : effects/laser1_noz.vmt 269 : models/weapons/w_missile.mdl 270 : models/weapons/w_missile_launch.mdl 271 : models/weapons/w_missile_closed.mdl 272 : models/weapons/w_pistol.mdl 273 : models/weapons/v_crowbar.mdl 274 : models/weapons/w_crowbar.mdl 275 : models/crossbow_bolt.mdl 276 : sprites/light_glow02_noz.vmt 277 : sprites/blueflare1.vmt 278 : models/weapons/v_crossbow.mdl 279 : models/weapons/w_crossbow.mdl 280 : models/weapons/v_irifle.mdl 281 : models/weapons/w_irifle.mdl 282 : models/effects/combineball.mdl 283 : sprites/combineball_trail_black_1.vmt 284 : sprites/lgtning.vmt 285 : models/weapons/v_superphyscannon.mdl 286 : models/weapons/w_Physics.mdl 287 : models/weapons/v_stunstick.mdl 288 : models/weapons/v_slam.mdl 289 : models/weapons/w_slam.mdl 290 : effects/laser1.vmt 291 : sprites/orangelight1.vmt 292 : sprites/orangelight1_noz.vmt 293 : models/weapons/v_physcannon.mdl 294 : models/weapons/v_grenade.mdl 295 : models/weapons/w_grenade.mdl 296 : sprites/bluelaser1.vmt 297 : models/weapons/v_bugbait.mdl 298 : models/weapons/w_bugbait.mdl 299 : models/weapons/w_annabelle.mdl 300 : models/healthvial.mdl 301 : models/items/healthkit.mdl 302 : models/items/battery.mdl 303 : sprites/glow01.vmt 304 : particle/SmokeStack.vmt 305 : models/u4lab/chair_office_a.mdl 306 : models/weapons/flare.mdl 307 : models/props/de_piranesi/pi_sundial.mdl 308 : sprites/glow01.spr 309 : models/brokenglass_piece.mdl 310 : models/props_wasteland/cafeteria_table001a.mdl 311 : models/props_wasteland/cafeteria_table001a_chunk01.mdl 312 : models/props_wasteland/cafeteria_table001a_chunk02.mdl 313 : models/props_wasteland/cafeteria_table001a_chunk03.mdl 314 : models/props_wasteland/cafeteria_table001a_chunk04.mdl 315 : models/props_wasteland/cafeteria_table001a_chunk05.mdl 316 : models/props_wasteland/cafeteria_table001a_chunk06.mdl 317 : models/props_wasteland/cafeteria_table001a_chunk07.mdl 318 : models/props_wasteland/cafeteria_table001a_chunk08.mdl 319 : models/props_c17/door01_left.mdl 320 : models/props_wasteland/wood_fence01a.mdl 321 : models/props_wasteland/wood_fence02a_board10a.mdl 322 : models/props_wasteland/wood_fence02a_shard01a.mdl 323 : models/props_wasteland/wood_fence02a_board03a.mdl 324 : models/props_wasteland/wood_fence02a_board04a.mdl 325 : models/props_wasteland/wood_fence02a_board05a.mdl 326 : models/props_wasteland/wood_fence02a_board08a.mdl 327 : models/props_wasteland/wood_fence02a_board09a.mdl 328 : models/props_debris/wood_splinters01b.mdl 329 : models/props_debris/wood_splinters01d.mdl 330 : models/props_debris/wood_splinters01e.mdl 331 : models/props_wasteland/barricade001a.mdl 332 : models/props_wasteland/barricade001a_chunk01.mdl 333 : models/props_wasteland/barricade001a_chunk02.mdl 334 : models/props_wasteland/barricade001a_chunk03.mdl 335 : models/props_wasteland/barricade001a_chunk04.mdl 336 : models/props_wasteland/barricade001a_chunk05.mdl 337 : models/props_wasteland/barricade002a.mdl 338 : models/props_wasteland/barricade002a_chunk01.mdl 339 : models/props_wasteland/barricade002a_chunk02.mdl 340 : models/props_wasteland/barricade002a_chunk03.mdl 341 : models/props_wasteland/barricade002a_chunk04.mdl 342 : models/
The issue seems to be the map and gibs. I'm fairly certain the *1 etc entries are the brushes on the map.
This table really needs to be way higher then 1024. The growing amount of model packs and other mounted content means more models => more precached models when spawned. This is a serious problem because servers won't automaticly restart unless you press the stupid [OK] button. Eventually there should be an option that allows us to uncache models/sounds/ect. [QUOTE=AzuiSleet;14976482]The issue seems to be the map and gibs. I'm fairly certain the *1 etc entries are the brushes on the map.[/QUOTE] Yes you're right.
These should be adjustable. Some tables have huge amounts of space that don't look like they're going to fill up at any point and more important looking ones have quite a lot less. [code]Table downloadables 436/8192 items Table modelprecache 605/1024 items Table genericprecache 1/512 items Table soundprecache 331/8192 items Table decalprecache 219/512 items Table instancebaseline 31/1024 items Table lightstyles 64/64 items Table userinfo 255/256 items Table server_query_info 1/4 items Table ParticleEffectNames 15/1024 items Table EffectDispatch 20/1024 items Table VguiScreen 0/256 items Table Materials 19/1024 items Table InfoPanel 0/128 items Table Scenes 0/4096 items Table LuaFilenames 219/4096 items Table GameRulesCreation 1/1 items Table LuaStringTable 195/2048 items[/code]
[QUOTE=AzuiSleet;14976482]I'm fairly certain the *1 etc entries are the brushes on the map.[/QUOTE] This is correct. The map has over 200 brushes which fill the table.
What reason is there for this to be capped at just 1024?
[QUOTE=aVoN;14976706]This is correct. The map has over 200 brushes which fill the table.[/QUOTE] Brush entities surely - Evocity has over 200 brushes in the government building alone.
[QUOTE=AzuiSleet;14976482]The issue seems to be the map and gibs. I'm fairly certain the *1 etc entries are the brushes on the map.[/QUOTE] a model with a * tells the engine to look at the model array in the bsp which contains models made from brushes the number being the index
So is there any solution to this problem? (Garry???)
No. It's an engine thing.. I can ask Valve to increase the size of the table I guess - that's if they don't have a reason for it being small (for gmod).
Or garry can find all such limits like this and simply multiply them by 10 considering he has full source engine source code and can do whatever he wants but seems too lazy to ever do so. Look, the source engine was basically done around 2004 when HL2 came out and valve has only added new stuff and never upped limits like these for NO REAL REASON despite the fact that our computers and gpus are MUCH faster and more capable of having much higher limits. There is NO reason why all of these limitations can't be raised dramatically or removed altogether in gmod, even by garry and not even needing valve. One thing garry does need to remove, however, is his rubbish "anti-infinite-loop" mechanism. It is up to developers to produce scripts that don't infinite loop and it was completely rubbish to remove the convar that allowed competent people to be able to make a much higher limit when testing new concepts that require more than an unknown amount of loops.
[QUOTE=garry;14987749]No. It's an engine thing.. I can ask Valve to increase the size of the table I guess - that's if they don't have a reason for it being small (for gmod).[/QUOTE] Wait, what? I thought you had full engine access; you could do whatever the fuck you wanted with Source?
I'm just guessing but perhaps it makes it harder for Garry to merge his code with engine updates Valve release.
[QUOTE=nicktelli;15004526]One thing garry does need to remove, however, is his rubbish "anti-infinite-loop" mechanism. It is up to developers to produce scripts that don't infinite loop and it was completely rubbish to remove the convar that allowed competent people to be able to make a much higher limit when testing new concepts that require more than an unknown amount of loops.[/QUOTE] If you really need a loop with that many iterations you need to reconsider what you're doing. The game server is time critical, you can't have it waiting for 5 seconds to process something, everyone will see the game pause while the server is working.
[QUOTE=Lyoko774;15004667]Wait, what? I thought you had full engine access; you could do whatever the fuck you wanted with Source?[/QUOTE] I don't ship the engine binaries, I only ship server and client dlls. The engine is shared amongst all orangebox games.
[QUOTE=AzuiSleet;15005310]If you really need a loop with that many iterations you need to reconsider what you're doing. The game server is time critical, you can't have it waiting for 5 seconds to process something, everyone will see the game pause while the server is working.[/QUOTE] I'm not talking about something live with other people, I've just had random uses off hand where I've hit the limit while trying to stress test something or do something to do with random numbers or something, it's just really stupid to limit people in something called a "sandbox".
[QUOTE=garry;15005887]I don't ship the engine binaries, I only ship server and client dlls. The engine is shared amongst all orangebox games.[/QUOTE] I realize that. But I thought you could..Ah, nevermind. It would be nice if this could be fixed, though.
[QUOTE=garry;14987749]No. It's an engine thing.. I can ask Valve to increase the size of the table I guess - that's if they don't have a reason for it being small (for gmod).[/QUOTE] Did anything ever come of this?
I bet it's not going to happen..
Wow I never realized this, I hope Valve allows the increase.
[QUOTE=TehBigA;15322759]Wow I never realized this, I hope Valve allows the increase.[/QUOTE] Why not? it should not effect any other games right?
Most likely not but Valve never intended for a game to have more than 1024 models to need to be precached, let alone think a game like GMod would be on their engine. I think it's retarded that it causes the server to stop... I rather them make clients have to load them on the fly after then join...
or it could just empty the table and start at the beginning
Hopefully garry can get valve to increase it for gmod or make it a command-line thing for gmod like -tickrate
I always wondered why my server kept crashing on freespaces, while it worked fine on gm_construct. This may be the problem, so please fix this as soon as possible.
[QUOTE=DarKSunrise;15341073]I always wondered why my server kept crashing on freespaces, while it worked fine on gm_construct. This may be the problem, so please fix this as soon as possible.[/QUOTE] Garry has no control over the engine. Unfortunately only Valve has that.
Sorry, you need to Log In to post a reply to this thread.