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)
Set the environment variable VITE_WEBSOCKET_URL in .env to the WebSocket url.
Implementation is still in progress. When the environment variable is not set, it will still work in a local mode for UI development.
As this game is running on a browser, it needs to communicate with the server using WebSocket. While most of the server emulator use TCP sockets, a protocol converter is required for this client to connect to a server.
websocat can be used to convert the TCP socket to a WebSocket connection.
The command to run websocat is as follows, refer to websocat's documentation for more details:
websocat --binary ws-l:127.0.0.1:8089 tcp:127.0.0.1:8484
