Announcement

Collapse
No announcement yet.

Valve's GameNetworkingSockets 1.3 Released With Better Performance

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Valve's GameNetworkingSockets 1.3 Released With Better Performance

    Phoronix: Valve's GameNetworkingSockets 1.3 Released With Better Performance

    One of Valve's many open-source projects is GameNetworkingSockets as a basic transport layer for games to handle UDP-based messaging, P2P networking, encryption, IPv6, and other network handling functionality of particular use to games / game engines...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    It'd be interesting to see, as QUIC matures, whether it suits this use case better over time; it's nice because it provides bulk vs. low latency, and reliable vs. unreliable all over one connection state that can migrate.

    Comment


    • #3
      I did not know this lib existed. It's remarkable and even comes under 3 clause BSD licenese. I hope game (engine) designers will start using this.

      Engines like Godot* can really use this as it's networking leaves a lot to be desired.

      I hope we will see more bindings (or even implementations) as this lib becomes more known.

      *Thanks to Calinou for pointing out that Godot already has similar but not identical features via ENet fork.
      Last edited by Jabberwocky; 31 May 2021, 11:29 AM. Reason: Godot uses ENet fork

      Comment


      • #4
        Originally posted by microcode View Post
        It'd be interesting to see, as QUIC matures, whether it suits this use case better over time; it's nice because it provides bulk vs. low latency, and reliable vs. unreliable all over one connection state that can migrate.
        It seems the lib is based on some of the QUIC ideas, according to its GitHub page.

        Comment


        • #5
          Originally posted by Jabberwocky View Post
          Engines like Godot can really use this as it's networking leaves a lot to be desired.
          Godot uses a fork of ENet that supports IPv6, and encryption is supported via DTLS. I don't think the networking limitations are coming from the library, but rather from the lack of documentation.

          Comment


          • #6
            It is also written very nicely and the build system is not some sprawling mess. The documentation is very nice too.

            I actually just made an initial FreeBSD port.
            Last edited by kpedersen; 31 May 2021, 11:15 AM.

            Comment


            • #7
              Originally posted by Calinou View Post

              Godot uses a fork of ENet that supports IPv6, and encryption is supported via DTLS. I don't think the networking limitations are coming from the library, but rather from the lack of documentation.
              I did some testing based on Godot's master branch about a year ago. I did spend hours not days but still don't know how I missed this. I'm happy to see that I'm wrong. I apologize.

              You're right about the documentation, I did not see this in the highlevel sections but after searching for it I found some API docs about it.

              It still looks like GameNetworkingSockets is very different to ENet, both in terms of simplifying abstraction and also features like p2p. In the end it could still benifit from using it, but it might go against Godot's pholosophy or have too many tradeoffs so it makes sense if they/you don't want to use it. ENet seems like a nice basic solution.

              I'll keep my eye on Enet/forks, Raknet (now that it's open) and GameNetworkingSockets going forward.

              Comment


              • #8
                Originally posted by Jabberwocky View Post
                I did not know this lib existed. It's remarkable and even comes under 3 clause BSD licenese. I hope game (engine) designers will start using this.

                Engines like Godot* can really use this as it's networking leaves a lot to be desired.

                I hope we will see more bindings (or even implementations) as this lib becomes more known.

                *Thanks to Calinou for pointing out that Godot already has similar but not identical features via ENet fork.
                True. I wonder if something like Teeworlds can integrate this.

                Comment

                Working...
                X