Server-rendered multiplayer games with Lua (no client code)

Cheat-proof multiplayer from the server; fans hype, skeptics yell “just stream video”

TLDR: Cleoselene runs multiplayer entirely on the server and streams simple shapes to players. Commenters loved the anti-cheat promise, but debated whether it’s better than just streaming video or the classic “send inputs, return positions” model—raising big questions about efficiency, novelty, and real-world usability.

A weekend hack called Cleoselene lets you make multiplayer games with no client-side code: the server runs everything and streams simple shapes—lines, text, rectangles—to your screen. Dev brunovcosta says it fixes sync headaches, keeps secrets safe, and is “impossible to cheat.” Games are scripted in Lua, performance-critical parts run in fast Rust, and connections use WebRTC (a browser tech for low-latency links). It’s free to self-host; macOS and Linux now, Windows “soon.”

Commenters split fast. MMO fans cheered the anti-cheat dream and RuneScape vibes; ghxst praised “eliminating client authority.” Skeptics rolled their eyes: cmrdporcupine argued it may be simpler to just stream video like Stadia, with hardware doing the encoding/decoding. Pragmatists asked what’s new: fionic wondered if it differs from the classic pattern—send inputs up, send positions down—and suggested raw coordinates might be lighter than shapes.

Playtest chaos added memes: duduzeta got swarmed and couldn’t find the fire button. Mood: half “this could fix multiplayer,” half “we tried this already,” plus control jokes. The big fight: do drawing primitives beat video—or is this cloud-gaming déjà vu with extra steps? Either way, the pitch is spicy: simpler multiplayer, fewer hacks, and your code never leaves the server. Drama level: high, curiosity: off the charts.

Key Points

  • Cleoselene is a server-rendered, multiplayer-first game engine that uses Lua for scripting.
  • It streams drawing primitives to clients, aiming to be lighter than cloud gaming and traditional networking.
  • Performance-critical logic runs in native Rust, and networking uses WebRTC for sub-frame latency.
  • The engine is free for personal or commercial use on self-hosted infrastructure, with macOS and Linux support and Windows planned.
  • A minimal Lua game implements callbacks for init, update (typically 30 TPS), per-client draw, and network events, with an 800x600 virtual coordinate system and graphics/sound APIs.

Hottest takes

“eliminating as much client side authority as possible” — ghxst
“pushing video frames like Stadia … is just as efficient” — cmrdporcupine
“other ships keep attacking me and I don’t know how to shoot :s” — duduzeta
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.