Luanti
Game Engines & FrameworksOpen-source voxel game engine and server
Replaces Minecraft
5 game engines & frameworks apps that are easy to get running, ranked by verified deploy effort, project health, and popularity.
Open-source voxel game engine and server
Replaces Minecraft
Self-hosted in-browser retro game emulator
Replaces RetroArch web
Fun JavaScript library for making browser games fast
Replaces Phaser
Free 2D game editor with a visual interface and code
Replaces GameMaker Studio
Command-line RCON client for Minecraft servers
Replaces In-game server console
No apps match these filters.
| App | Deploy effort | Difficulty | Min. RAM | License | ★ Stars |
|---|---|---|---|---|---|
| Luanti | Under-an-hour setup | Easy | 512 MB | LGPL-2.1 | 13,721 |
| EmulatorJS | Under-an-hour setup | Easy | 256 MB | GPL-3.0 | 4,265 |
| KAPLAY | Read-the-docs project | Easy | 128 MB | MIT | 1,811 |
| ct.js | Read-the-docs project | Easy | 256 MB | MIT | 344 |
| mcrcon | Read-the-docs project | Easy | 16 MB | Zlib | 1,094 |
Last reviewed Oct 11, 2026 · 680 words
If you want a game other people can join, start with Luanti. It tops this list, it is the only pick here that runs a multiplayer server, and the directory's estimate is 512 MB of RAM for a small group. Nothing in this category has the ≈5-minute badge: Luanti and EmulatorJS publish images whose configuration you write yourself, and the other three have no container path. The five apps also do five different jobs.
| App | What it is | Where it runs | Directory RAM estimate |
|---|---|---|---|
| Luanti | Voxel engine with a dedicated multiplayer server | Your server, one UDP port | 512 MB |
| EmulatorJS | Retro console emulators in the browser | Static files; the visitor's browser does the work | 256 MB |
| KAPLAY | JavaScript library for making 2D browser games | Your code, then any static host | 128 MB |
| ct.js | Visual 2D game editor with JavaScript scripting | Your desktop | 256 MB |
| mcrcon | Command-line remote console for Minecraft servers | Wherever you run admin scripts | 16 MB |
EmulatorJS is the second-easiest because there is barely a server at all: it is a folder you serve from any web host. KAPLAY and ct.js are for making games, not hosting them, and ct.js is the gentler of the two for someone who has never written code. mcrcon only makes sense if you already run a Minecraft server and want to script it.
Luanti's quirk is that it does not need a reverse proxy, and cannot use one in the usual way. Players connect over UDP on port 30000, not through a web page, so either forward that port on your router or keep everyone on a shared VPN and skip the forward entirely. For a family or friend group the VPN is the better choice.
Persistence means the world directory. Mount it as a volume if you use a container, because that folder is the entire game state: terrain, inventories, and player accounts. Map data grows with exploration and can reach several gigabytes on a heavily explored world.
Backups follow from that. Copy the world directory nightly and keep a few days of copies, so a griefing incident can be rolled back.
Accounts need one setting on day one. By default a player can join with an empty password, so set disallow_empty_password = true before anyone else connects, and keep server_announce = false unless you want strangers from the public server list.
There is also a step people miss: Luanti is an engine, and its default game is basic. Install a game such as VoxeLibre before inviting anyone, or your friends log into an empty sandbox.
The 512 MB estimate covers a survival world for a handful of players. CPU matters more than memory: world generation and simulation lean on one core, so a fast single core beats many slow ones. A 1 GB VPS or an old laptop is a realistic home. For comparison, the Minecraft alternatives page explains why a modded Java server costs several times that before anyone joins. EmulatorJS uses almost nothing on the server, since emulation happens in each player's browser.
Move on when the job outgrows the tool. If your EmulatorJS folder turns into a real library, RomM (Medium) adds metadata, cover art, multiple users, and saves stored on the server instead of in one browser's storage, which is the weakness of bare EmulatorJS. If KAPLAY starts to feel small, Phaser is the bigger 2D framework with a much larger community.
Run Luanti on a spare machine or a 1 GB VPS, install VoxeLibre, set disallow_empty_password, put everyone on a VPN, and copy the world directory every night. If what you actually want is old console games in a browser, serve EmulatorJS for a few favourites and switch to RomM once you care about your saves.