
Show HN: librg - Build simple and fast cross-platform multiplayer - zaklaus
https://github.com/librg/librg
======
fuball63
This is cool. I'm trying to learn how to do multiplayer networking from
scratch, and it is a challenge. I have a C++ game project in my to do
projects, might try it out.

It says that all the logic is coded on the server side... would it also be
client side too to do the interpolation? I'm coming from the perspective of
this article, which I'm following for my networking experiments:
[https://www.gabrielgambetta.com/client-server-game-
architect...](https://www.gabrielgambetta.com/client-server-game-
architecture.html)

~~~
zaklaus
Game logic can be written on either side, as it largely depends on the use
case. We strongly encourage developers to design their game logic to be run at
server-side due to security considerations however.

As for interpolation, yes, that is entirely possible and completely in your
control as well.

librg allows for entity peer streaming, which means that you as a player can
take control over a specific entity (or entities) and provide your own updates
for the server (such as player position or view angles, etc). It is entirely
up to you really.

As an example, we also develop an unofficial multiplayer for Mafia: The City
of Lost Heaven, so we use librg as a server proxy for players. Since we can't
replicate the game logic on server side, we trust the player in various
aspects, such as his player position, animation states or even vehicle
handling. This case leads us to librg being used on server as a proxy with
minimal logic, that shares game-generated content between players and provides
basic fact-checking.

See:
[https://www.youtube.com/watch?v=2s3Ox5_4rQo](https://www.youtube.com/watch?v=2s3Ox5_4rQo)

With librg, you are free to do as you please. Feel free to contact us on
Discord or via GitHub issues/E-Mail.

~~~
fuball63
Great thanks for the reply, I'm going to star this on Github for using later,
thanks for offering contact info; makes this a little less daunting.

