[ANN] Silly — coroutine-based Lua network framework

64 views
Skip to first unread message

重归混沌

unread,
Nov 20, 2025, 9:03:47 PM (6 days ago) Nov 20
to lua-l
Hi all,

This is the first time I’m introducing Silly to the public.

Silly originally started as the networking framework powering our game backend. Over the past few months, after rethinking its architecture in depth, I completed a major redesign of both its runtime and networking stack. The goal is to evolve it from a game-specific framework into a general-purpose, coroutine-driven network framework for Lua.

The vision is similar in spirit to node.js, but with a different philosophy: built entirely on coroutines instead of callbacks.

---

### Modules included

Silly is a batteries-included framework providing:

- coroutine scheduler, timers, logger, and a thread pool for integrating blocking APIs into a coroutine-based single-threaded framework
- TCP / UDP / TLS, HTTP/1.1 / HTTP/2, WebSocket, gRPC
- JSON, crypto, DNS, cluster RPC
- MySQL, Redis, Etcd
- metrics (Prometheus), JWT, debugger, console, hot-reload
- and more

Repository is available here:
https://github.com/findstr/silly

---

### Current status

This is not yet 1.0 — the redesigned APIs are stabilizing.

If you’re interested in Silly, I would love to hear:

- Which API choices feel right or wrong?
- What’s missing for real-world production use?

Thanks for reading, and I hope some of you will find Silly useful—or at least interesting—from a runtime and architecture perspective.

Special thanks to Skynet, from which Silly’s coroutine scheduler borrows many design insights.

Please let me know if this message isn’t appropriate for the list.
Reply all
Reply to author
Forward
0 new messages