gitmyhub

pomelo

JavaScript ★ 12k updated 2y ago ▣ archived

A fast,scalable,distributed game server framework for Node.js.

A legacy Node.js game server framework by NetEase for building distributed multiplayer game backends, with support for mobile and web clients, no longer actively maintained as of 2017.

JavaScriptNode.jssetup: hardcomplexity 4/5

NetEase/pomelo is a game server framework built on Node.js, designed for building the server-side infrastructure of multiplayer games and real-time applications. It was created by NetEase, a large Chinese game and internet company. The framework provides the plumbing that game servers need: handling player connections, routing requests between server processes, and broadcasting events to multiple clients simultaneously.

The core architecture is distributed, meaning rather than running everything in a single process, Pomelo splits responsibilities across multiple server types, each running as its own Node.js process. A game might have dedicated processes for game logic, chat, player position tracking, and the entry point for incoming connections. This design lets you scale by adding more server processes of whichever type is under load, without rewriting the core logic.

The framework supports client libraries for multiple platforms including JavaScript, Android, iOS, and C, which means the same Pomelo server can accept connections from mobile apps, web browsers, and desktop clients at the same time. It also includes command-line tools for managing and monitoring running server clusters, and a performance testing tool.

The README positions Pomelo as filling a gap in the open-source ecosystem: at the time of its development, there were few serious open-source game server frameworks compared to the large number of web frameworks available. NetEase also published a demo MMO RPG game called Lord of Pomelo as a reference implementation, showing the framework used in a complete working game.

The copyright dates in the license run from 2012 to 2017, and the repository shows no recent activity, which suggests this is primarily a historical or legacy project. The license is MIT.

Where it fits