Multiplayer Networking Solutions

This page summarizes the projects mentioned and recommended in the original post on reddit.com/r/gamedev

Our great sponsors
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Sonar - Write Clean C++ Code. Always.
  • SaaSHub - Software Alternatives and Reviews
  • Awesome-Game-Networking

    A Curated List of Game Network Programming Resources

    Awesome-Game-Networking Similar to this thread, bunch of info and link about stuff.

  • RakNet

    RakNet is a cross platform, open source, C++ networking engine for game programmers.

    Raknet No longer worked on but from what I've read, it's complete and working. It has been used in many games between 2000 - 2010

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • zig

    General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.

    Zig is an up-and-coming language, meant to be an alternative to C. It's low level, high preformance and safer than C. It has very, very good C interop, to the point where the Zig compiler is also a C compiler.

  • yojimbo

    A network library for client/server games written in C++

    yojimbo/ netcode/ reliable, all developped by Glenn Fidler, author of GafferOnGames

  • TrinityCore

    TrinityCore Open Source MMO Framework (master = 10.0.5.47871, 3.3.5 = 3.3.5a.12340)

    TrinityCore Again, MMO library, but this one seems to operate under the assumption that your game is functionnaly similar to WoW.

  • netcode.io

    A protocol for secure client/server connections over UDP

    yojimbo/ netcode/ reliable, all developped by Glenn Fidler, author of GafferOnGames

  • Boost.Asio

    Asio C++ Library

    Asio Extracted from the much bigger Boost C++ library, it's apparently a really good networking library. As a bonus it also handles async / threads. Here's a really good video tutorial by OneLoneCoder

  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • reliable

    A packet acknowledgement system for UDP

    yojimbo/ netcode/ reliable, all developped by Glenn Fidler, author of GafferOnGames

  • KCP

    :zap: KCP - A Fast and Reliable ARQ Protocol

    KCP Is a kind of protocol ( like UDP and TCP ) that is reliable like TCP but is faster, at to cost of slightly bigger bandwidth costs.

  • librg

    🚀 Making multi-player gamedev simpler since 2017

    LibRG is an open-source, C99 header-only that handles actor relevancy, similar to Unreals Actor Relevancy Graph.

  • Odin

    Odin Programming Language

    Odin is similar to Zig in it's goal, alternative to C. It's designed to be very high-performance, with data-oriented programming in mind. If your game is simulation intensive, this would be a nice alternative to c++.

  • ezyfox-server

    A socket server (include SSL) supports realtime application, realtime game, MMORPG, messaging, chat and streaming data with TCP, UDP and Websocket

    EzyFox-Server, just sumble upon while researching this post, it seems like an open-source alternative to smartfox.

  • Nim

    Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).

    If you really want to have the python dev experience for your server and high performance, you might want to take a look at Nim. Compiled, (optionally) Garbage Collected, Good C interop, C-like speed. Never heard of a game server built with it, but it seems viable.

  • MessagePack

    MessagePack serializer implementation for Java / msgpack.org[Java]

    MessagePack Similar to JSONs, just more compact, although not as much as the ones above. Still, it's usefull to retain some readability in your messages.

  • FlatBuffers

    FlatBuffers: Memory Efficient Serialization Library

    FlatBuffer also developed by Google. It's used by Cocos2d-x, a game engine , as serialization protocol, instead of JSON / XML / YAML.

  • henet

    Haskell bindings for ENet

    Enet already talked about in the thread

  • Protobuf

    Protocol Buffers - Google's data interchange format

    ProtoBuf or Protocol Buffers are developped by google and are supported in many languages.

  • Cap'n Proto

    Cap'n Proto serialization/RPC system - core tools and C++ library

    Cap'n Proto, by the original protobuf developer. Overall a faster / improved version of protobuf. Speed is usually more desirable in games, depends on your needs.

  • bevy

    A refreshingly simple data-driven game engine built in Rust

    If you're proficient with Rust, go for it, performance, memory safety, "easy" multi-threading, growing ecosystem. Bevy might be of interest, as an underlying framework / game world simulation.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts