Comment by Stevvo

Comment by Stevvo 3 days ago

3 replies

A huge amount of words, a lot which validate the perspective of the people it is directed against.

I was involved in the development of a multiplayer mod for GTA5 nearly 10 years ago. I couldn't understand the technical direction of FiveM at the time because it was based on the existing peer-to-peer, client-authoritative architecture of GTA Online that caused countless problems with cheats/hacks. All it did was provide a way for Lua scripts to call the game's native script functions.

This is in contrast to other mods, such as Alt:V which is the target of much of this tirade. These other mods were inspired by MTA/SA:MP and provided a complete reimplantation of multiplayer in the game where the server is the ultimate authority. Much like any MMO or competitive FPS.

ChocolateGod 3 days ago

IIRC how FiveM works now is that it pretends to be a "peer" when reusing the GTA Online protocols. Per area where players are, one player becomes the "owner" of that zone (responsible for traffic etc since there's no way for the server to know the map), it network backs to the "server peer" which in turn networks it to other players in the area. The server keeps a track of what player owns what in order to prevent cheats and sanitizes input from clients.

The server only tries to network a limited amount of players to the client (that are nearby) in order to bypass the GTA online protocol player limit. But ultimately this meant that a lot worked on FiveM compared to Alt:V (e.g. traffic, networked scenes, full character appearance etc).

Philpax 2 days ago

> I was involved in the development of a multiplayer mod for GTA5 nearly 10 years ago.

I was one of the developers of Just Cause 2: Multiplayer, which was party to servers with over a thousand simultaneous players. I've also worked on the multiplayer for an unreleased open-world game. So pardon me when I ask this: what are you talking about?

> I couldn't understand the technical direction of FiveM at the time because it was based on the existing peer-to-peer, client-authoritative architecture of GTA Online that caused countless problems with cheats/hacks.

And yet FiveM succeeded where other projects didn't. It's much easier to build on something that already works and evolve it, which is what eventually happened: they switched to server-driven synchronisation half a decade ago.

> These other mods were inspired by MTA/SA:MP and provided a complete reimplantation of multiplayer in the game where the server is the ultimate authority. Much like any MMO or competitive FPS.

That's not what they did, because they couldn't have done it. It is effectively impossible to do that without access to the game's source code - it is intractable to convert a closed-source single-player open-world game into a server because the game is built around the assumption of the world existing around one player, not many.

What every open-world multiplayer mod - including FiveM, MTA, SA:MP, JC2-MP, and others - does is distributed authority: each player is responsible for their slice of the world, including their own state, and they send it to either a central server or other peers. In either case, the client is still implicitly trusted on its view of the world: there is no authoritative simulation to refer to, because that's not logistically or computationally feasible.

What can be done on top of that is validation: other peers, or the server, can verify state changes to make sure they're not too out-of-spec. That's not to be confused with what competitive FPSes do, which is actual server simulation, complete with rewind, lag compensation, and more [0].

> A huge amount of words, a lot which validate the perspective of the people it is directed against.

To conclude: does it really? I read through the entire thing, and it's consistent with what I know of FiveM's development, the people involved, and what happened post-acquisition. There's plenty of evidence that supports the timeline of events as presented here.

[0]: https://developer.valvesoftware.com/wiki/Source_Multiplayer_...