// the find
zpl-c/enet
⚡️ ENet reliable UDP networking library
A fork of the original lsalzman/enet library that repackages ENet's reliable-UDP transport as a single C header, adding IPv6 support and monotonic timing on top of the classic API. It's for gamedev and real-time app developers who want ordered/reliable delivery over UDP without pulling in a full networking stack.
ENet's core protocol has been battle-tested in shipped games for over a decade, so the reliability/ordering/fragmentation logic isn't new or unproven. Single-header distribution (drop enet.h in, define ENET_IMPLEMENTATION once) makes integration trivial for C/C++ projects with no build system fuss. IPv6 support is a real, useful addition the upstream repo still lacks. CI runs actual tests on push (tests.yml) rather than just building.
No encryption or authentication, by design — anyone assuming UDP reliability means any kind of security will get burned, and there's no example showing how to layer DTLS or similar on top. The C API pushes manual lifecycle management onto the caller (enet_packet_destroy, enet_peer_reset) with no RAII/wrapper, so use-after-free or leaked packets are easy mistakes. Real documentation still lives off-repo at enet.bespin.org and in old Doxygen .dox files rather than anything current or searchable. Being a fork with its own Discord/contributor base fragments the community — it's not obvious to a newcomer whether to pick this or upstream lsalzman/enet, and cross-compatibility between forks isn't addressed.