finds.dev← search

// the find

lsalzman/enet

★ 3,269 · C · MIT · updated Jun 2026

ENet reliable UDP networking library

ENet is a thin C library that adds reliable, ordered (or unordered) delivery, sequencing, and connection management on top of raw UDP. It's aimed at game developers who need low-latency networking with fewer guarantees than TCP but more structure than bare sockets — it's been the transport layer under Cube/Sauerbraten and a long list of indie game engines.

The API is small enough to read in an afternoon: host, peer, packet, and a handful of functions cover the whole surface. It has no dependencies beyond libc and compiles to a few hundred KB, so it drops into embedded or console targets without dragging in a networking stack. It's been in production in shipped multiplayer games for close to two decades, so the wire protocol and edge cases (packet loss, reordering, fragmentation) are genuinely battle-tested rather than theoretical.

The in-repo README is three lines and just points you to an external homepage for actual documentation — there's no quickstart or example code in the tree itself, so a new user has to leave GitHub before writing a line of code. There's no encryption or authentication built in; you're expected to layer that yourself, which is easy to get wrong. The project has both autotools and CMake build files coexisting, which is a sign of a codebase that's accreted rather than been redesigned, and IPv6 support has historically lagged behind IPv4 in maturity.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →