I checked out - seems like primary reason why such issue exists is lack of lag compensation for SWEPs used in TTT. I guess we all should blame author. It's possible to fix but need some calculations. P.S I guess CS use some lag compensation for weapons in code that's why it a bit smoother
If you believe you found a way to make these better, I suggest you send those changes as a PR to GMod's official repo: https://github.com/Facepunch/garrysmod This will make it possible for the fix to be added to GMod, and help the entire TTT community.
I was thinking about trying to fix but there is one issue. It's only about default SWEPS i think. Not sure custom(there is bunch of them on non-vanilla servers) will be affected. I can't remember how base swep affect "derived" ones. Anyway i have no idea how do i test that because it's better to have ping ~100 when effect is visible(both situations when shoot you and when you get shot because i heard many times "Why the heck you did not die? I shot your head!")
I believe most custom weapons derive from weapon_tttbase. I suppose fixing this one will affect most of them.
I remember one bug which made owner of one of previous servers where i played to remove crossbow. It was oneshot BUT still same issue(and there is special projectile which hit you instead of standard bullet). T had 3 shots but sometimes only 2/3 or even 1/3 worked and he replaces with glitchy harpoon(same as on this server can be thrown trought wall) P.S For melee it's enabled: https://github.com/Facepunch/garrys...ntities/weapons/weapon_zm_improvised.lua#L121
Hitboxes aren't the issue, its hit registration. All hitboxes can be adjusted with third party tools without valve assistance.
I know about hitboxes. I am looking into gamemode sources and see next situation: It do call self.Owner:Firebullets here: https://github.com/Facepunch/garrys...town/entities/weapons/weapon_tttbase.lua#L317 and documentation here https://wiki.garrysmod.com/page/Entity/FireBullets says that Entity:FireBullets do use Player:LagCompensation internally. But that seems to be not true. Other gamemodes do similar things - as example Zombie Survival code: https://github.com/JetBoom/zombiesu...tities/weapons/weapon_zs_base/shared.lua#L238 Not sure why so but every gamemode don't use Player.LagCompensation manually. Windows dlls(client.dll and server.dll does not have debug information because it' s in PDB) but seems like Linux versions has even function names etc. I gonna load that shit into IDA Pro and look what does Entity.FireBullets do
Yea I don't blame you. Earlier today I was a traitor on the bank map and I went up to knife someone and they didn't die. I saw the blood come out and everything. And before you guys tell me that knives are two hits, I did have the insta knife perk enabled and I stabbed him and he still didn't die and then I died. Talk about extreme shitboxes.
Maybe i am totally blind but i can't see call to Player.LagCompensation inside of CBaseEntity::FireBullets. So Wiki gives wrong information? P.S I gonna ask on Facepunch because this is weird
I'm also pretty sure this isn't lag compensated on the original files. But maybe facepunch added it themselves on their variation of the sdk? That's my best guess.
Ok situation is very screwed up. They have lag compensation in CHL2MP_Player::FireBullets(i disassembled server_sv.so from Linux server) but it does not work as expected. That could be related to server hardware i guess(there is some cost for that operation and maybe not that small). Do you have any idea what tickrate server use?
I mean this one. If it's 66 then i can understand why that happens. I saw complaints even about server with 128
CS:GO servers don't use 128 tick, they use 64. Valve said that 128 tick servers are too straining on their servers Edit: Also 128 tick servers are not possible anymore, Valve removed it as it caused more issues than 64 tick
I am not sure - there is message after death which show inflicted damage/taken damage. I shot t for 148dmg and he shot me for 104 dmg but he survived(and he had green HP). Is that client-sided calculation?
Are you sure you didn't damage him, then he healed from a health/death station, then you damaged him again, and he healed again, and then he killed you?
ok i have played a lot of ttt and the only thing i think is wrong is the weapons. that's why the ak is a good weapon because it was ported from cs and has proper hit scan. and i double checked. all of the cs weapons (beside the m4a4) always land their shots in gmod Edit: forgot a few words, derp