CS2 is mostly 64 tick from what I understand. The "sub-tick" stuff is timestamping actions that happen on a local frame before the next tick. So in theory the client feels perfectly responsive and the server can adjust for the delta between your frame and the tick.
In practice it seems to have been an implementation nightmare because they've regularly shipped both bugs and fixes for the "sub-tick" system.
The netcode in CS2 is generally much worse than CSGO or other source games. The game transmits way more data for each tick and they disabled snapshot buffering by default. Meaning that way more players are experiencing jank when their network inevitably drops packets.
That's very interesting. The CS2 netcode always felt a little brittle and janky to me, but I could never pin point exactly what was causing the issues. Especially since other games mostly run fine for me.
I also remember reading a few posts about their new subtick system but never put two and two together. Hopefully they keep refining it.
Worth noting that part of the packet size appears to be due to animation data, which they’ve begun the process of transitioning to a more efficient system. [0]
With that being said: totally agree on the netcode.
It's actually incredible how CSGO was such a great game and it's been replaced (not deprecated, replaced!) by CS2 which is still inferior over 2 years after the launch.
CS2 is 64 tick under the hood, with interpolation between the ticks. In the beta, server operators could modify the tick rate by patching the server binary, but when that revealed inconsistencies (which was meant to be avoided with the "subtick" system), they hard coded the client side tick rate to 64 [0].
Nowadays it's more like 20 players and 80 bots, so a lot less networking stuff going on, and the bot AI is so basic that I doubt it has a significant impact on server performance unless it's very badly implemented.
Also assumes that the bots coexist on the server. My first thought would just be to connect them like any other client, with compute of their own so the server doesn't even know it's a bot.
In my experience you can do reasonable bots cheaper than sending network updates to a regular player. Thats just straight up, but you can also tick their logic way less than every update if you want. Even more way-less if nobody is near them or spectating them.
Also some stuff you might want to calculate for them to use to make decisions can be shared among all bots.
As I aluded to in my post, how expensive the AI is depends entirely on how complex and optimized is. Remember that the process of encoding and sending packets to a client and receiving/decoding/processing the client's packets in turn is completely skipped for bots.
Fortnite bots are very barebones and are only capable of performing a handful of simple tasks in repetitive ways. It's entirely plausible that the code responsible for governing their actions is fast enough to be less expensive than networking a real player.
An advantage to bots is that the server can trust them. It doesn't need to do any verification of input since it can trust that they aren't cheating (except they probably are...).