unusual particle effects don't count as another object. here's my data: pastebin.com/raw/ixJ4vWHE if you do some cool stat analysis on it like comparing game modes, post it :) (or show me on twitter @shoun1c) nerd asterisks: 1. the edict count / object count isn't going to be perfectly accurate because of logic entities that fire and create more things at X time or whatever, but at the least they're mostly accurate relative to each other. i know i could've checked their edict count in hammer or something, but my methodology was: using a srcds instance, loading each map, and writing down what it reports as the edict count without anyone in the server. it's not perfect but idk if there's a way to go about this that isn't incredibly tedious. also even with this method, the edict count reported for a map can fluctuate across days (???). i can take the measurement of a map on monday, come back on wednesday and following the same steps, they'll give me a new number lol. but the numbers are always only off by like 1-3 so whatever. 2. as i said above, some maps have a lot of "background noise" in that they have hammer logic entities that for example, randomly spawn a bunch of stuff at a random time, like a halloween boss, etc. for bloodwater this was kinda impossible to fully account, like i can't audit the thousands of objects it has to figure out every little detail, for so this is why i couldn't be specific about exactly how the counter moves. but basically every one object counts as one thing except players are like 6 objects. 3. why is the limit 2048? it's basically a number someone ""randomly"" picked. there's no objective reason why it MUST be 2048, but it's a nice power of 2, and presumably through testing, valve decided that 2048 was appropriate for not blowing up 2007 server hardware and 2007 players' computer hardware. but 2048 isn't a hard limit, even other source games like gmod and portal 2 have a much higher one.
Ayo shounic, do you have some info about MvM that could be interesting? It's my favourite Gamemode so maybe there could be something very wrong with it...
@@kkiil05 I think it's very easy since it doesn't need to be exactly 2048, so It should break anything if changed. And changing 1 string of code from 2048 to whatever number is easy as it could be
"The ball disappeared, why?" that's the first thing I said before my Doctor shot me with some experimental equipment that cured my tiny toe tumour but at the cost of my Doctor losing their medical licence.
Goddammit, I feared that my map was going to be the example of too many objects being on it. Tried so hard to reduce them without sacrificing aesthetics, the map still ended up pretty bloated. I never realized Upward was such a huge map before I started remaking it. I'll try harder for the next Halloween.
This feels like it would make for a good SAW map “Let’s play a game: There are 2042 objects on this map, including your facial expressions. Any more than 2048 will crash the server. First demoman to get a grenade kill lives.”
No chat, come on, *laughs* im not gonna do ithe thing, I’m- I’m not gonna fill the room with GYAS, it’s gonna crash the server guys I’m not gonna do it just because you tell me to ~jerma shortly before filling the room with gas
actualy, one time we managed to crash a x1000 server using this demo strat with using scottish resistance, but for some reason it only crashed when we all exploded the stickys, we crashed the server so many times that owners had to add plugin of some sort that fixed the issue
"So, unless if by some one in a billion miracle of god, someone actually wants to use the scottish resistance, we're safe." I felt indirectly called out and heartbroken by that sentence
It can be good too. A lot of people think it’s to make multiple traps at multiple chokepoints, but that’s actually not the case. That method is a beginner’s trap that makes the weapon look bad when it’s not.
I've seen on a x1000 server that the beggars bazooka can easily crash the server, a weird thing happens though where sometimes the rockets get stuck and just float around slowly and don't collide with players. The server does have some kind of countermeasures that cause interactable objects to stop behaving correctly and stops any more projectiles being fired but it isn't enough to stop the crash.
I'm terrified yet interested in the prospect of an army of crashbots wearing 3 cosmetics and spamming the scottish resistance in spawn during halloween in bloodwater.
Kind of surprising, I'm sure the original back-end developers never thought these limits would be passed in most situations, so they did not bother coding in some sort of "just in case" fail-safe to prevent this from happening. But I figure (in theory at least) one could just have the server code make sure that no new object created goes over the limit that would cause the server to crash like an index value attached to each new created object that would detriment or something upon destruction, and if the object limit is getting close to that "crash limit" just don't allow new objects to be created until older ones are destroyed, or destroy older ones to allow for the new ones to be created without the potential to crash the server.
I mean, it is pretty unlikely to have 24 demomans, 12 on each team, all with hats and scottish resistances, within casual, without coordinating to achieve a crashed server.
The failsafe you described actually is used for some things. For example, objects that are not synchronized between the server and client (ie ragdolls) are kept in a separate pool of objects, which has its own limit of 2048. If this limit is surpassed, then the game will just stop creating new objects for this pool, because it assumes the object is not important. With objects that are shared between clients and servers however, the game assumes these things are important, and assumes that something really bad has happened if it fails to create one. For example, it'd be really weird if players suddenly became unable to fire their weapons because some demos decided to do a little trolling. In a linear singleplayer game such as Half-Life or Portal (which run on roughly the same engine), you wouldn't want the player to get stuck in an area because some object/boss that the player needs to use/fight to progress didn't spawn. In these cases, while crashing the game isn't the optimal solution, having the game fail quickly is probably better than allowing things to continue in a broken state.
@@Flamme-Sanabi "without coordinating", yeah if only bots weren't able of coordination for votekicks against others, voting no on themselves, healing sniper bots with medic bots, literally causing everyone in the server to crash if they vote to kick them and so on... The only reason I'm not scared of this is because we already have something way worse, and I doubt those script kiddies would bother to invest money into ruining next halloween, especially when there might not be next halloween with the direction tf2 is going. I still play tf2, but already sold all of my hats and stranges and all I have is a gibus.
I've seen TF2x10 servers crash this way before. If you can get 7-8 Demos all putting piles of Scottish Resistance stickies down (you get 68 max in x10), the server barely stands a chance depending on the map. I've always wondered why that happened though, I figured it was due to the game rendering engine instead of the object limit.
@@shounic makes sense! I wonder if calling for medic or doing a taunt also creates objects. I'd wager you could probably crash more maps than you think if you were to have 24 players summon skellies, shoot 14 Scottish stickies, 4 pipes, and then taunt and do a voice command, assuming all of those things actually create objects. It would be fun to get 24 real people together and actually try to do this legitimately! XD
@@yarknark yeah they did, the server did a fairly computationally intensive task with every voice command and by just flooding it it would make for a simple DoS attack. They fixed it by adding a cooldown.
@@TheTedder the engineer's rancho relaxo, the medic's therapy bed and the spy's comfort seat spawn multiple objects. that paired with some engineer buildings and stickies should do the job
Wasn't there that one hallowen map that failed to unload a target dummy in it's shooting gallery minigame, thus filling up the object limit and crashing the server? I forget the name but that seems like something worth mentioning in this video.
Medic's syringes (from regular syringe guns) also create objects that are synced. Sometimes when a map is finished, the map creator will ask people to play demo and medic only and just spam stickies and syringes everywhere to see how quickly it will crash. As an example, this was done on snowplow, and the creators decided that the number of objects on the map is in an acceptable range.
What about MvM maps? With all of the cannon fodder robots and the giants that fire huge numbers of projectiles, could one of them be crashed by a malicious player and a team that doesn't kill robots quickly?
the thing is that, from what I recall, once the projectiles explode they dissapear from the list so unless all the robots fire at once and hit no walls or players they probably wont reach the limit, but since they only shoot when aiming at players such a scenario where we could even test it without game modification seems rather absurd and unlikely.
Even the highest default object count MvM map, Rottenburg, still has a ways to go before reaching the limit. It only has 649. Add in 6 players with 3 cosmetics each, contracker, 14 stickies, and 12 pipes, and you get 835 objects. MvM spawns at most like 20 robots at a time, and even if all of them had 30 projectiles out, plus 100 cash objects, you get 1,555, which is still far far away from the limit. Even under the worst case scenario it's unlikely that you'd hit it on an official map. That being said, on custom maps anything goes.
It's honestly a really nice visual detail that the mercs emote when firing their weapons. It's something I never noticed before, but now that I can see it, it really makes them look and feel more dynamic
Makes sense since valve also made Left 4 Dead, where they used photos of people and a stunt actor to make face expressions for survivors and neat dying animations for the zombies.
I wonder how x10, x100 and higher meme gamemodes managed to solve this. I clearly remember being able to spam seemingly endless rockets and hundreds of pipes with each click, and firing those pipes endlessly if i held it.
@@Tumbolisu the server i used to play in was running Hightower which has almost 1000 objects already apparently, and if you held down M1 as demo you would literally endlessly shoot pipes. I remember having multiple demos doing that as well as scouts and soldiers who also spam projectiles. I still think there's no way it would stay below 2024.
@@asnodt42 basically, the object limit is just an arbitrary number. I suspect what they do is increase it and only tell players about the 2048 closest objects to them... Or just tell the clients to expect more objects
Makes me wonder if some of my MVM crashes through the years were related to proyectile waves. Say, 20 soldiers with high fire rate in some high object map.
What about syringe guns? If It's projectiles are considered objects, they might crash some maps if they can fire fast enough. What about sappers? Could 30 engineers and 2 spies crash a server?
That makes me imagine a spy with a seemingly unending pillar of hats joining a server and breaking it Now that I think about it I feel like that would be more of an establishment of dominance than an attempt to crash a server
I feel like this explains a handful of random server crashes I've had over the years given the maps they happened on and it was often during peak gameplay
24 items max per player (1 player + 1 Facial Flex + 3 cosmetics + 1 Contracker + 14 sticky bombs + 4 grenades). 2048 item limit. The new 100 player servers can crash on literally any map, neat
Tf2 is a tower of duct tape about to collapse. Valve has been adding cosmetics for almost two decades to it and hasn't updated the stability in forever. If they keep it up eventually the game won't even be able to be launched at all
Entity processing. Minecraft is a great example of this but has a better handle on entities. Rather than the world crashing it just processes what it can with performance issues. There's a Minecraft modpack called Feed The Beast: Ultimate. This modpack has the largest number of mods for the specified version of Minecraft Java. You can build nearly everything in one chunk but some mods take up multiple chunks. Part of performance is spreading out mod builds across multiple chunks.
It's interesting to know that Valve developers subscribe to the "crash often, crash early" school of what programs should do when they encounter unforeseen internal conditions.
"We need everyone to play Demo, wear three hats along with the Contracker and shoot all their stickies" I'm skeptical that you could, yet intrigued that you may.
There should be an achievement for this, its about as specific as tuning Marasmus's dimensional television if not a bit more, it would be fun trying to convince a lobby to do this.
I remember on Dustbowl Stage 1 on BLU, I'd often go sandman scout and stand in front of the supply cabinet and start firing balls up the stairs where they'd start rolling back down, and after a while as they started to accumulate, I'd be able to fire them more rapidly since you automatically pick them up, so when the door open I could fire like a machinegun stream of balls out there and likely get some good hits in, and if nothing else get some laughs.
There was a certain community map that I know with bomb factories in it, and the bombs they produce don't despawn until they're triggered to explode by touching their fuses. It was entirely possible to crash the server with them.
I remember helping out with some custom maps back in the day and hearing about the mappers' struggles to keep the entity limits down. It doesn't help Hammer has a hard time giving you the actual number of objects
Damn, I knew Bloodwater was a messy map, but as someone who loves making entity heavy maps, I'm shocked that map is so close to the limit! This limit affects pretty much every source game (except Gmod, which went out of it's way to increase the entity limit because it's gmod), never seen it get too close to that upper bounds
Wasn't that a problem for big RP servers with big maps? I remember hearing about this problem while playing on such server with a big city map with accessible indoors for almost every building.
@@MiTaReX I can believe it. Gmod raised the limit by a wide margin, but I'm pretty sure it still exists. And those RP servers can end up with a LOT of entities. It's entirely understandable with gmod, where the point of the game is placing lots of entities.
So this is how I managed to crash so many x100 servers. If you're crouching and overload a beggar's bazooka, the missile will explode below you, sending your soldier flying. So I equip a boot that makes me heal from my own shots. Crouch and look up wards while walking to the left, slowly turning. That makes the soldier starts flying up until he hits the ceiling of that hightower map with 100x the size. When I'm flying fast enough towards the ceiling, I release the remaining missiles which makes him fire to all directions like fireworks. From the time I'm falling back to the floor, I can load and release more 100 missiles. That's how I can make a single soldier in x100 create around 200 objects at the same time. Just need the teammates to be doing silly things as well and server is down.
i ones had this happen on hoodoo. everyone was pyro during the jungle inferno update and when the gates opened on the second push everyone used their flamethrowers with the result being a server crash
Kind of a coincidence of me seeing this video cause 2 days ago me and a couple randoms crashed people's game by airblasting back forth multiple rockets from 2 pyros. It was on a 10x server so it was kind of easy to reflect the rockets
Keep this video in mind for the far flung nightmare future where bots have been hampered too much to cheat normally and therefore crash servers via the object limit, and we all have to bunker down in arena_watchtower
I like to think that in worst case scenario you could crash a server with a grin. I didn't expected facial flexes to be considered as an object when it could just be client side
Just a small little side note demo wasn't angry. It's actually that famous s*** eating grin he's got that being said it makes it so much more funnier seeing that face when the game crashes
I wish they would upgrade the engine and increase that number. When I finally decided to make a server I wept. 2048 is too low for the plugins you want to toy around with. Apparently gmod has 4096 or possibly 8192.