Maplestory (v95) server emulator made using python. beware of bugs and complete rewrites.
Hibernating project but still loved
Ra 6aa8e25e39 | ||
---|---|---|
mapy | ||
.gitignore | ||
README.md | ||
_config.yml | ||
mapy.sql | ||
poetry.lock | ||
pyproject.toml | ||
run.py | ||
screenshot.png |
MaPy
Maplestory emulator written in Python
Requirements
- Postgresql
- Python 3.10+
- pycryptodome>=3.14.1
- asyncpg>=0.25.0
- attrs>=21.4.0
- more-itertools>=8.12.0
- jinja2>=3.1.1
- fastapi>=0.75.1
- uvicorn>=0.17.6
- pyyaml>=6.0
Optional
- itsdangerous
- pydantic
- loguru
- uvloop
To-Do
-
Multi-Version Compat
- Template out packet handlers, opcodes, game objects, and client to have drop-in's per version
- Map objects to relational tables for database generation
-
Inventory Operations
- Move item slot
- Drop Items
- Loot Items
- Proper serial handling for equips when transfering ownership
- Increase/Decrease stack count
-
Portal Navigation
- Properly handle mob spawn / idle upon no map owner / despawn upon expiration
- Field ground item lifetime
-
Consumables
- Potions
- Equipment scrolls
- Teleport scrolls
- Follower consumables
- Cash Effects
- Chairs
-
Followers (Pets, Shadow Partner, Mage summons, Archer Summons, Beholder)
- Move Path
- Field registration
- Expiration
-
Secondary Stat (Buff Stats)