finds.dev← search

// the find

geckosio/geckos.io

★ 1,490 · TypeScript · BSD-3-Clause · updated Mar 2026

🦎 Real-time client/server communication over UDP using WebRTC and Node.js

A UDP-over-WebRTC client/server library for Node.js, built specifically for real-time multiplayer games and chat apps where latency spikes from TCP's head-of-line blocking are a dealbreaker. It's for developers building an authoritative-server multiplayer game who already know how to run their own servers; the README explicitly says this isn't for your first multiplayer project.

The README opens with a 'who should NOT use this' section pointing beginners toward socket.io instead — an unusually honest scoping choice instead of selling itself to everyone. autoManageBuffering drops stale unreliable messages rather than queueing them, which is the correct default for game state (old positions are worthless) and most socket libraries don't bother with this because they're TCP-minded. The codebase is split into independent @geckos.io/client, @geckos.io/server, @geckos.io/common packages with CodeQL and Codecov wired into CI, and the test suite includes real Puppeteer e2e tests that exercise actual browser-to-server WebRTC handshakes rather than mocked connections.

It's maintained by one person (Yannick Deubel), which is a real risk for a library whose server half depends on node-datachannel's native bindings tracking Node ABI changes. Production deployment means running your own STUN/TURN servers and forwarding the full 1025-65535 UDP range (or a narrower portRange you configure) — the README is upfront about this but it's still real ops work most Node devs haven't done. The 'who is using it' section lists two of four example games with strikethrough, meaning they're already dead, which is a thin signal for real-world adoption beyond hobby projects. What it calls 'reliable messages' is just fire-and-forget retransmission N times at a fixed interval, not ack-based delivery — fine for the odd important event, but the naming oversells the guarantee if you need ordered, confirmed delivery.

View on GitHub → Homepage ↗

// 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 →