Guild icon
Teeworlds
IRC / bridge
One-way IRC channel bridge. If you want to be able to send messages to IRC, contact @Dune or @heinrich5991. https://www.teeworlds.com/?page=docs&wiki=rules/irc_rules
Between 2019-09-27 00:00:00Z and 2019-09-28 00:00:00Z
Avatar
I don't care about that rather Unverständnis n event of a free kill happening then someone fills the empty spot, while the grenade is still flying, I guess the part where a server might crash is a kittle bit more important, as people might exploit that, I guess.
09:58
-Unberständnis +uncertain
10:02
Haven't looked at the coredump yet, but I highly expect that exactly this bug crashed tue server there.
Avatar
ChillerDragon 2019-09-27 10:15:49Z
There is not a single nullptr in vanilla Code if I remember exactly. Probably not a single std:: feature
10:19
I think it would be supportive for Server modders to keep the player around. In 0.6 kills after disconnect were a thing that could crash custom mods because it is something that might happen rarely and can be forgotten by the devs. So keeping the player around until all projectiles are destroyed might make all custom mods a bit more stable.
Avatar
@rand() crash was sadly due to me having forgotten to check for nullptr in my debug code :'/ weird stuff happening and one bug is haunting me for the past three months.
Avatar
[quakenet] rand BOT 2019-09-27 14:38:23Z
@ChillerDragon: what do you mean by keeping the player around ?
Avatar
ChillerDragon 2019-09-27 14:38:43Z
not deleting the CPlayer object
14:38
just keep the character death or delete it
14:39
so CGameServer::m_apPlayers[LEFT_PLAYER] doesnt become a nullptr
Avatar
I don't like this idea
14:41
however if you were to go through with this idea, you'd need to communicate when the game may drop the player
14:41
this is probably not trivial
Avatar
ChillerDragon 2019-09-27 14:41:21Z
yea
14:42
easiest would be to delete projectiles but idk it just feels wrong or weird
Avatar
[quakenet] rand BOT 2019-09-27 14:42:23Z
I prefer to add team info into projectile data, and remove reference to a disconnected player by iterating on all projectiles
Avatar
ChillerDragon 2019-09-27 14:42:49Z
and the teaminfo should be updated on teamchange then?
Avatar
[quakenet] rand BOT 2019-09-27 14:42:55Z
no
Avatar
no
Avatar
ChillerDragon 2019-09-27 14:43:09Z
so i can kill teammates without friendlyfire? xd
Avatar
[quakenet] rand BOT 2019-09-27 14:43:13Z
a projectile shouldn't change team
14:43
that's the old you
Avatar
ChillerDragon 2019-09-27 14:43:30Z
ya
14:43
but killfred shows new me right?
Avatar
[quakenet] rand BOT 2019-09-27 14:43:39Z
like the LEFT_PLAYER you suggestes
Avatar
ChillerDragon 2019-09-27 14:43:40Z
killfeed*
Avatar
[quakenet] rand BOT 2019-09-27 14:43:42Z
*ed
Avatar
ChillerDragon 2019-09-27 14:44:09Z
ya is probably a fine idea
14:44
i wonder how it will affect performance
Avatar
iterating over all projectiles on disconnect? not measurably I guess
Avatar
[quakenet] rand BOT 2019-09-27 14:44:59Z
it adds a test on the killer ID and a arguments to some functions
Avatar
ChillerDragon 2019-09-27 14:45:04Z
the team id thing
Avatar
[quakenet] rand BOT 2019-09-27 14:45:32Z
*an argument (the team id)
14:46
but, ones could argue that team id is not enough for modding support
14:46
like, having an arbitrary player info on a projectile might be more extensible
Avatar
ChillerDragon 2019-09-27 14:47:44Z
and then it becomes really similar to keeping the whole player object around.
Avatar
[quakenet] rand BOT 2019-09-27 14:47:46Z
like: a struct CProjectile::CKillerInfo { int id, teamid... }
14:48
yes
14:48
but it does not need to reference an actual player
14:49
I do not really like the iteration on all Projectile though
14:49
but I dont have other idea yet
14:49
(except using some uid instead of connection ID)
14:51
(uid's that could be use with a mapping between connection slot and player slot, allowing a disjoint management of clients and players And spectators)
Avatar
LordSk 🦋 2019-09-27 15:09:25Z
Deleting projectiles owned by the disconnecting player seems to be a fine solution.
15:12
We don't want those to linger around anyway and cause weird behaviours.
Avatar
Yeah, or else the server needs to remember that these projectiles have no owner
Avatar
[quakenet] rand BOT 2019-09-27 17:43:23Z
this is weird to make a projectile on its course
17:45
+disappear
Avatar
when the projectile detonates, check if the owner still exists
17:53
and either do or do no damage
Avatar
[quakenet] rand BOT 2019-09-27 17:53:31Z
what about teamplay ?
Avatar
there the player id is the same, so it would do damage?
Avatar
[quakenet] rand BOT 2019-09-27 17:54:53Z
team information is in the player data that are destroyed when the client disconnects
Avatar
I thought you mean team change
17:57
ok
17:58
no owner no damage.
Avatar
[quakenet] rand BOT 2019-09-27 17:59:05Z
yes, that is more elegant than make it disappear
Avatar
[quakenet] rand BOT 2019-09-27 18:12:19Z
the current behaviour is taking account the team when the projectiles hit, right ?
18:12
meaning changing team before hitting changed the team of the projectile
Avatar
seems so
18:17
c style code, prone to errors. nheir's PR looks good.
Avatar
[quakenet] rand BOT 2019-09-27 18:23:07Z
I wonder if it used this way
Avatar
it does.
18:24
on client drop all projectiles loose their owner. and projectiles with no owner deal no damage.
Avatar
[quakenet] rand BOT 2019-09-27 18:30:57Z
I mean, when changin team (this time)
Avatar
there is nothing that conciders teams
Avatar
[quakenet] rand BOT 2019-09-27 18:34:30Z
before taking damage, the server check if it is "friendly fire"
18:35
so I'm blue, I fire on another blue, join red before hitting the other player, then the blue player will take damage
Exported 68 message(s)