• themoonisacheese@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    ·
    11 months ago

    Oh, it’s not just P2P. There are ways to make P2P networking work, but GTAO has several inherent networking flaws.

    One of them is that a client is understandably responsible for computing things around it (pedestrians etc). This is fine in itself but what if two people meet and one leaves? What happens to the things it was computing?

    Well, clients can send a packet that means “don’t worry I got it from here” that they can send to other clients to tell them that from now on, they will be the one computing a specific thing. Non-hacked clients are programmed to always agree. No matter what the thing is.

    Unrelated, here are a few example of the types of things that are affected by this:

    • pedestrians
    • NPC cars
    • various props
    • empty cars
    • cars with other players in them
    • other player’s avatars (which are considered special pedestrians)
    • various item pickups
    • vehicles other than cars
    • various scripts that have to do with single-player interactions, such as the casino wheel, slots, biker gang actions, etc.

    This means that as a hacker, you get to decide what happens with the car somebody is driving, and change whatever attributes you want about it.

    Note that this also means that any client is free to spawn any of the above items at any point, including the money bags spawned by tellers when you rob them (R* does do some checks when you tell them your new account balance but it’s really not that hard to bypass). Any client is also free to change anything about these items. Color, license plate, engine upgrades, hell, even straight up engine variables. And other clients have to accept that that happened, because that’s how the protocol is written.

    This is just for regular stuff though. Hackers can already massively affect the game this way but there is some stuff they can’t do. Until they become the most senior client of the session (for example by crashing anyone more senior than them through various exploits - patched in their own clients of course).

    Being the oldest client in a session means you become the script host, and when you’re script host, you unlock additional things that everyone agrees are your responsibility, such as what time of day and weather it is. Overall being script host isn’t that desirable because it doesn’t grant stuff that is really strong, just stuff that has wide impact (for example I think the script host has the capacity to make it winter anytime, but it’s just not that funny to do that after the 2nd time).