Metin2 JS is an open source implementation of MMORPG Metin2 server using Nodejs with Javascript language.
This project will be developed for fun and study only.
Metin2 are copyrighted by Webzen.
Feature | Todo | Doing | Done |
---|---|---|---|
Handshake | ✅ | ||
Server Status | ✅ | ||
Login | ✅ | ||
Logout | ✅ | ||
Return to Select | X | ||
Delete Character | X | ||
Protocol Encryption | X | ||
Create character | ✅ | ||
Enter Game | ✅ | ||
Character Movement | ✅ | ||
Load Character Animation Data | ✅ | ||
Load Area Data | ✅ | ||
Load Mob Data | ✅ | ||
Load NPC Data | X | ||
Load item Data | X | ||
Spawn Mob | ✅ | ||
Spawn Mob From File | X | ||
Mob Behavior System | X | ||
Spawn NPC | X | ||
NPC Behavior System | X | ||
NPC Shop System | X | ||
Spawn Item | X | ||
Equip Item | X | ||
Attributes Item System | X | ||
Internal Chat | ✅ | ||
Command System | X | ||
GM System | X | ||
Character Exp System | ✅ | ||
Character Stat System | ✅ | ||
Character Health System | X | ||
Character Mana System | X | ||
Character Attack System(physic, magic, melee, range) | X | ||
Character Defense System(physic, magic, melee, range) | X | ||
Character Bonus and Reduces System(physic, magic, melee, range) | X | ||
Character Inventory | X | ||
Character Regen System | X | ||
Character Duel System | X | ||
Drop System | X | ||
Affect System | X | ||
Quest System | X | ||
Skills System | X | ||
Chat System | X | ||
Level System | ✅ | ||
Graceful shutdown | ✅ | ||
Grafana Monitoring | X | ||
Game Api(for websites etc) | X |
Before you start, make sure you have the following tools installed:
- Node.js (version 20 or higher)
- Docker
- 40k client
You can choose to run the project using Docker or locally.
To run the project with Docker, use the commands below:
- To run everything with Docker:
npm run docker:all
- Install dependencies
npm run install
- Setup .env file (you can use .env.example as example)
- To run only the dependencies with Docker
npm run docker:dep
- Run the auth server
npm run dev:auth
- Run the game server
npm run dev:game
The image bellow show how the client interacts with auth server.
The image bellow show how the client interacts with game server.
This project is licensed under the GNU GENERAL PUBLIC LICENSE - see the LICENSE file for details.