This is a fork of Nodein Maple Web.
All graphics and sound assets are rights reserved to Nexon. This open source project is for research and educational purposes only, with no commercial intent.
- Teleportation functionality implemented.
- Mobs now render with movement and health bars.
- The stats menu is fully operational, incorporating Maple's calculations for damage.
- Damage indicators are functional.
- Players have the ability to walk.
- Players can shoot arrows to defeat Mobs.
- Full-screen mode is enabled.
- Converted the project to TypeScript to facilitate easier future development (Note: This is not perfect but required several days to complete).
- Added touch controls for mobile devices.
- EXP is accurate, and player can level up by killing mobs.
- Mobs drop items on death.
- Player can pick up items from the map (Still need to improve this).
- Multiplayer support with real-time player interaction, chat, and synchronized monster combat.
- Cab/Taxi transportation system between towns.
The game now supports real-time multiplayer with the following features:
- Multiple players can join the same map and see each other
- Players can chat with each other using chat bubbles
- Monster combat is synchronized between players
- Players can see other players attacking monsters
- Monster drops are visible to all players
- Node.js (v14 or newer)
- npm or yarn
- Clone the repository
- Install server dependencies:
npm install- Install client dependencies:
cd TypeScript-Client
npm install
cd ..- Start the multiplayer server:
npm run dev- In a separate terminal, start the client:
cd TypeScript-Client
npm run dev- Open your browser and navigate to
http://localhost:5173
- Build the client:
cd TypeScript-Client
npm run build
cd ..- Start the server which will serve the client files:
npm start- Open your browser and navigate to
http://localhost:3001
- Arrow keys: Move character
- Ctrl: Attack
- Alt: Jump
- Z: Pick up items
- Enter: Open chat window
- Esc: Close menus

