Maplestory (v95) server emulator made using python. beware of bugs and complete rewrites. Hibernating project but still loved
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ra 6aa8e25e39
make linter happy
6 months ago
mapy make linter happy 6 months ago
.gitignore make linter happy 6 months ago
README.md req's 6 months ago
_config.yml configuration 6 months ago
mapy.sql include database 1 year ago
poetry.lock make linter happy 6 months ago
pyproject.toml make linter happy 6 months ago
run.py large amount of restructuring 10 months ago
screenshot.png remove sql debug mess add screenshot of logging in game 1 year ago

README.md

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)