3 ms·
This has been done before in both 1.6 as well as Source. I helped with some of these implementations back in the late-2000s when I was playing professionally an
by dvt 3mo ago
This has been done before in both 1.6 as well as Source. I helped with some of these implementations back in the late-2000s when I was playing professionally and I even tried to kickstart an anti-cheat hardware solution about a decade ago[1].. spent way too much time working on some of these problems. The main issue with occlusion was slightly increased latency, visual jitter because of interpolation (especially around corners), and a few other more technical problems[2]. It's good enough for public servers, but not tenable in serious competition.
Cheating has always been a problem in FPSs, and it likely won't go away. That's why premier competitions have always been on LAN.
[1] https://www.pcgamer.com/introducing-gameref-the-anti-cheat-hardware/ https://www.pcgamer.com/introducing-gameref-the-anti-cheat-h...
[2] Hard to fully obfuscate audio sources, hard to obfuscate hitboxes since you still need them for collision checking (e.g. if a grenade bounces off an enemy player behind a wall—the server does not do all physics for all clients), and this is on top of the engine itself sometimes requiring actual entities, so you're stuck with these dummy entities in memory, and so on.
- davedx 3mo agoWhy on earth don't the producers of the game implement this? It sounds trivial to do?
- xeonmc 3mo agoThe many tradeoffs involved are not trivial, this can only feasibly work well on LAN. This is the reason why Valorant is the least playable among all competitive shooters if your internet is anything lesser than Google campus fiber, ironically in spite of having even-slower-than-CS movement physics on its side to mask the problem. Riot conveniently cherry picks the best case scenario and handwaves the actual technical tradeoffs in their smug "we solved peeker's advantage!" engineering blog posts that are really just barely-disguised monorail Gish gallop.
- efilife 3mo agoYup, I just reread the post you are talking about (https://www.riotgames.com/en/news/peeking-valorants-netcode https://www.riotgames.com/en/news/peeking-valorants-netcode) and it really seems like just endless fluff and no real solutions. Reading this post is almost unbearable and it all just comes down to this part: > We built Riot Direct, our own internet backbone, to minimize network routing delays and processing time across the internet. > We’re standing up VALORANT servers around the world, ultimately aiming to deliver 35ms ping to 70% of our player base. > We optimized our servers to provide a smooth 128 server tickrate to all players. > We optimized the VALORANT game client to run at 60FPS on most machines from this decade and higher framerates for players with high refresh rate monitors. > We run clients and servers running with minimal buffering, targeting one buffered frame of movement data for clients and an average of half a frame of movement data on servers. This seems like basic stuff that every other game does.
- tharkun__ 3mo agoHah, this reminds me of my "ancient past". This must have been CS 1.4 or 1.5 times. I had terrible internet. 36k modem times, super high (ish - 150+ms at the very least, been a while, don't quote me, maybe it was way higher even?) ping to a server that had all the custom maps I loved. I got accused of cheating. I didn't. Simply a result of CS/HL netcode. I was able to "run circles" around others. Something in that version favored my local client view of things I suppose. I literally just went around corners and if there was an enemy I circled them while driving bullets into them w/ my P90. They died without even really seeing me (from what they were saying). On my end everything looked smooth and normal. This tactic never worked all that well on servers where I had the usual <120ms ping. I guess never mind at <15ms :)
- mmh0000 3mo agoBecause what do you think matters more in an online game: A. Smooth and consistent client experience, where bullets hit what you aim at (client-side prediction) where aimbots and wallhacks work. B. Jittery/laggy client experience, where aimbots still work, but wallhacks are disabled? You can only choose one option. Generally, everyone agrees "A" is the best option and cheaters will be dealt with at game time. It's annoying, but that's the cost of online video games.
- frollogaston 3mo agoAlso even if it worked perfectly, there'd still be other practical ways to cheat. In a way it's better to detect cheats than prevent them, because you waste a lot more of their time sticking them into a pool of cheaters and can also undo it. Though afaik Counterstrike tells you when you're low-trust.
- 6510 3mo agoC. give everyone wall hack and aimbot.
- 20k 3mo agoIt isn't an unsolvable problem though, there's only jitter because the implementation isn't very good Implementing a more conservative anti wallhack cheat where player positions start streaming in slightly earlier still significantly cuts down on the efficacy of wallhacking, while entirely avoiding the jitter problem. Characters in CSGO move at a fixed speed, so you can calculate exactly how many ticks in advance you need to start sending that data in, before they will become visible to another client around a corner - and add a margin There's also no excuse for sending player positions through a smoke for example - the server should be performing visibility culling With the two combined you could cut the utility of wallhacks by 80%, in a way that would be completely unnoticeable. The real reason that this has never happened is that valve's investment into anticheat has always been pretty minimal compared to what's necessary for it to be effective (VAC has generally been the least effective anticheat). They're a small company which largely develops steam as a platform, not VAC or anticheat solutions for games
- 3mo ago
- charcircuit 3mo agoCSGO already added this over a decade ago.
- dminik 3mo agoThey've actually unimplemented this. CS:GO being a source 1 game meant the maps used BSPs and got visibility checking essentially for free. Various platforms even made it stricter. It was not uncommon to see enemies teleport from behind walls on Faceit as their settings were very strict. However, Source 2 is more of a mesh based engine and so they just never bothered to implement this particular feature back in.
- shaokind 3mo agoValve also implemented this on CS:GO back in 2015 [0], and enabled by default in competitive servers, so I would consider it absolutely tenable (FACEIT, the platform used by competitive variants, had their own hand-rolled SMAC implementation, before using the 1st party solution, albei,t that solution was buggy). Why Valve didn't port this over to CS2, I will never know. [0]: https://www.reddit.com/r/GlobalOffensive/comments/35zwwy/optional_counterstrike_global_offensive_update/ https://www.reddit.com/r/GlobalOffensive/comments/35zwwy/opt...
- xeonmc 3mo agoPVS-based culling is very different from the kind of fog of war system in discussion here. The cases that these FoW systems purports to deal with would all be "pass" cases for PVS culling. PVS culling solves the informational/strategic advantage aspect provided by wallhacks, but not the pre-aiming reaction-time advantage in a peeker vs holder scenario.
- dvt 3mo ago> so I would consider it absolutely tenable Always confuses me why people speak so authoritatively on topics they aren't versed in. PVS culling is not even remotely comparable to occlusion culling, mainly because wallhacks are not relevant accross the map; in fact they are only useful when opponents are always well into your PVS range. FYI: there are also some clever ways to get around PVS culling (mostly by inferring opponent position based on other indicators, like gunfire).
- deleted 3mo ago[deleted]
- deleted 3mo ago[deleted]
- delusional 3mo agoI was on the other side of this in League of Legends. They used to have packets leak information to the client about player position. The classic examples are for stuff like particle emission or spell usage. Well at some point they decided that they had enough and did a pretty major rework of their netcode to only send player positions when you were supposed to have vision on them (plus a tiny extra radius). That absolutely wrecked the determinism of the game, as small jitters would cause skill shots to hit you before they even drew in your game, players would become invisible as the packets arrived out of order. Particle emitters would bug out. This stuff i way harder than people imagine. I think League eventually got it somewhat figured out, but it took a couple of years from what i recall.
- cosmic_cheese 3mo agoI wonder why similar methods haven't been employed in MMO servers to help curb botting/cheating there. The impact of jitter and loss of smoothness in a tab-target game like WoW would be minimal (even in PvP), because it's always had a noticable level of artifacts like rubberbanding.
- foota 3mo agoHow would it help? MMOs generally don't need to know where things are right now since it's mostly static, no?
- cherryteastain 3mo agoWoW has a lot of mechanics involving line of sight (eg a spell you begin casting when the target was in LOS will fail when the casting time finishes if the target moves out of LOS) and positioning (AOE spells, spell ranges, NPCs/objects you can interact with only within a certain range, among many others)
- dvt 3mo agoWell, if you cheat in WoW, Blizzard might just sue you[1], so that tends to be quite effective :) [1] https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzard_Entertainment,_Inc https://en.wikipedia.org/wiki/MDY_Industries,_LLC_v._Blizzar....
- drdexebtjl 3mo agoI haven't played WoW, but I played other third-person MMORPGs, and usually by design you can freely rotate the camera and see behind walls. The "fog of war" is simply a distance around the player. So they do implement this, it's just not nearly as complicated to implement as in an FPS.
- ExpertAdvisor01 3mo agoHas been implemented in mobas such as lol
- dietr1ch 3mo ago
- reactordev 3mo agoExcept when the professionals are doing the cheating. LAN won’t save you. Word.exe
- 6510 3mo agomy first thought was to have lots of hidden players running around that only you can see. The grenade thing kinda ruins it.
- aucisson_masque 3mo ago> Cheating has always been a problem in FPSs, and it likely won't go away. That's why premier competitions have always been on LAN. And even then I heard of aimbots included in the gamer mouse that would 'infect'the computer when it's wired in.
- jjpones 3mo agoThat's the infamous "word.exe" CSGO scandal.
- ikda 3mo agoi remember you man, sad ur project didn't get much support, you're david titarenco if i'm not mistaken