I got tired of playing idle MMORPGs that are abandoned by developers, filled with aggressive monetization, and lacking meaningful updates or player interaction.
iMMO was born from the desire to build something better: a idle-friendly game with constant progression, active features, and no paywalls — focused on fun, accessibility, and long-term evolution.
This project was envisioned, created, and is maintained by:
- ⚔️ Create a accessible idle MMORPG experience
- 🌐 Build a scalable multiplayer backend in C++
- 💬 Offer real-time interaction via WebSocket and web interface
- C++ Server
- Central game logic and state management.
- Manages user sessions, world state, entities, and events.
- Communicates with the client via API and WebSocket.
- Loads static game data (items, maps, skills) at runtime from JSON files.
API – API requests documentation.
WebSocket – WebSocket messages documentation.
Character Event Bus – internal character event schema and payloads.
- For now, you need to run the schema manually.
- Once all tables are defined and only minor changes are needed, we will create the migration steps.
- Web Client
- Responsible for rendering the game UI, receiving real-time updates via WebSocket, and sending player actions to the server.
- Built with Angular and Typescript.
Login Page:
Account Page:
Game Page:
Combat:
- Data Editor
- TODO
- Data Project – static JSON definitions consumed by the server at
deployment.
- Contains all game content (creatures, items, spells, skills, world stages, idle actions and global configuration).
- Easily editable without recompilation; see the module READMEs for schema details and examples.
- Modules are split into subpackages so tooling and editors can operate on a focused set of files:
These instructions will help you set up the project locally for development and testing.
Each part of the project has its own dependencies. Make sure you have the following tools installed:
- CMake (version 3.16 or higher)
- C++ compiler compatible with C++20 (e.g. GCC, Clang, MSVC)
- Node.js (required for running the web client and build editor)
- The server uses vcpkg for C++ dependencies
- The client and editor uses package.json (via npm)
- The editor project uses vcpkg and a Qt6
git clone https://github.com/luizantoniona/idle-mmorpg.git
cd idle-mmorpg1 - Navigate to the server directory:
cd ./idle-mmorpg-serverTODO: Add server building process
1 - Navigate to the editor folder:
cd ./idle-mmorpg-editorTODO: Add editor building process
1 - Navigate to the client folder:
cd ./idle-mmorpg-client2 - Install dependencies:
npm install3 - Start the development server:
npm start



