yojimbo
enet
Our great sponsors
yojimbo | enet | |
---|---|---|
5 | 3 | |
2,382 | 2,585 | |
1.3% | - | |
8.8 | 3.2 | |
28 days ago | 4 days ago | |
C | C | |
BSD 3-clause "New" or "Revised" License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
yojimbo
-
Multiplayer Networking Solutions
yojimbo/ netcode/ reliable, all developped by Glenn Fidler, author of GafferOnGames
-
"Move all" feature added in inventory. In your face little fudsters. Gaming revolution incoming!
They really just didn't know how to go about building a complex online game or what that entails. At one point they were trying to donate to open source networking projects that were still in development and not production-ready in hopes they'd help them make their game, you'll see them listed as sponsors of yojimbo for example. It was bizarre to watch.
-
Handling acks during 1+ second packet loss with Glenn Fiedler's Reliable UDP Solution
I can't remember exactly how best to handle this (Glenn's yojimbo project is probably your best bet for a concrete implementation), but here's an idea: buffer and ACK some packets (e.g. up to N packets following your missing packet) and discard everything else (without ACK) until the missing one shows up. The protocol will then continuously try to send your missing packet, in addition to the packets you've intentionally not ACK'd. Once the missing packet shows up you can process it and any buffered packets up to your next missing packet and repeat.
-
I need a good and simple networking library for C++
You may want to take a look at yojimbo , looks like it will fit your requirements pretty well.
-
Programming question : Which techniques are used to achieve real-time between players in online openworlds ? (think wow, ff14, teso)
And has his own C++ library for transmitting messages over UDP protocol https://github.com/networkprotocol/yojimbo
enet
-
C++ RAII encapsulation of ENet (Server<->Client only)
The sole dependency is ENet 1.3.17. In visual studio this means adding to the 'Additional Include Directories', to the 'Additional Library Directories', and enet64.lib;ws2_32.lib;winmm.lib; to 'Additional Dependencies'. You'll also need to use C++17 or newer since std::optional is used.
-
C++ sending std::string over reliable UDP (ENET)?
It's a (good) library for what it's intended for but it's not good for bulk packets and file transfer speeds can be limited to around 100 kb/s, default enums have to be constantly tinkered with too (see issue). Good for gaming with unreliable packets (although not really for streaming asset data), bad for TCP replacement which it advertises itself as.
-
Bespin ENet Options
So I'm thinking of either using this re-implemented, from C to Erlang, version of ENet https://github.com/archaelus/enet or using the original C version of ENet https://github.com/lsalzman/enet and connecting it using Erlang ports.
What are some alternatives?
netcode.io - A protocol for secure client/server connections over UDP
enet - ENet reliable UDP networking library
ENet-CSharp - Reliable UDP networking library
enet - Pure Erlang network stack
KCP - :zap: KCP - A Fast and Reliable ARQ Protocol
lsquic - LiteSpeed QUIC and HTTP/3 Library
SDLPoP - An open-source port of Prince of Persia, based on the disassembly of the DOS version.
bitproto - The bit level data interchange format for serializing data structures (long term maintenance).
SLikeNet - SLikeNetâ„¢ is an Open Source/Free Software cross-platform network engine written in C++ and specifially designed for games (and applications which have comparable requirements on a network engine like games) building upon the discontinued RakNet network engine which had more than 13 years of active development.
mojozork - A simple Z-Machine implementation in a single C file. Now with online multiplayer! :)
zork - The DUNGEON (Zork I) source