A very bizarre bug with the Gunboats I came across yesterday (will be fixed soon)
Apparently, if someone is spectating you while you have the Gunboats equipped, the self-damage reduction will not be applied to your rocket jumps, and you end up taking the normal 40 damage instead of the reduced damage of ~ 10. I had this happen to me a few times and was incredibly confused at what was going on.
Posted Mar 10, 2010, 3:25 PM UTC
This impresses me.
It scares me. It makes it sound as if spectators are coded in a very weird way that can affect players. Makes me wonder what else they can do. I know back in the day a Pyro could air blast a spectator.
I'd assume that they're "players", because the server needs to know where they are, so it can work out what data to send them (again I'm assuming the server is clever enough to not send every bit of location information to all players all the time).
So it kinda makes sense that they're a special class of "player". That means there's all the logic there for damaging and moving and stuff, so if weapons don't specifically exclude spectators when applying their effects, then they'll affect spectators as well.
The gunboats bug is probably something daft in the rocket damage calculations that does something like.. get a list of players that could be affected by the damage, and goes through it looking for players that aren't on your team, and switches off the gunboats effect if it finds any. But it should instead be checking for players that aren't on your team and aren't spectators (or simply looking for enemy players).
I'll admit this is all conjecture, assumptions and a healthy dose of random bollocks I pulled out of my arse. But it seems reasonable ;)
Sounds very reasonable. If a scout runs into you while you're trying to rocket jump it will negate the gunboats' effect, so I assume the same could happen with a spectator at the same proximity.
Actually, the server is constantly telling you everything that's happening. That's how you're able to record demos, and it's also why wall hacking is possible.
Essentially you're right, but to an extent.
The models are only rendered once you see past a certain point (I think they're called portals), so that you aren't rendering the whole map at once, you are just rendering what you need to see.
Fair enough. I speak as a guy who has seen a lot of bugs, rather than as someone who knows anything about how Valve's multiplayer games work. So I will happily bow to your judgement there.
Hm. If that's the case, why are they keeping track of spectator locations?
It doesn't actually tell you everything if you're on RED/BLU. Record a demo on a large map, stand at one end when a fight is going on on the other...nobody will be there. The game doesn't bother sending you all the player movements and firing when you're too far away to see any of it, just the kill info.
I think it's due to the spectators essentially being based in the player code already. If you start a server, use sv_cheats 1 and noclip 1, you will fly around in the same way a spectator does.
I imagine they had a similar situation with airblasting spectators. From that, Robin probably ascertained they made the same dumb mistake in not excluding spectators in their calculations and know how to correct it.