An open source api for managing Metin2 game servers, written in Node.js and using GraphQL.
- Easy configuration
- Stateless using JWT
- Obfuscation of sensitive data (YouTube-like)
- Account management
- Character management
- Item management
- Mob management
- Mob Group Management
- Mob Group Group Management
- Map Management
- Multi-language support
- Access Control and Permissions Management
- Performance & Caching
- Offset pagination
- Support for game modification (import & export) of the following files
- item_proto
- item_names.txt
- item_description.txt
- item_lists.txt
- special_item_group.txt
- mob_proto
- mob_names.txt
- mob_drop_item.txt
- common_drop_item.txt
- mob_group.txt
- mob_group_group.txt
- blend.txt
- cube.txt
- Map (index, Settings.txt, regen.txt, boss.txt, stone.txt, npc.txt)
This API requires Node.JS and npm to be installed on your server.
- Clone the repository
git clone https://github.com/aNNdii/ycm2.api.git
- Install dependencies
npm install
- Build
npm run build
- Start the server
npm start
- Access it by making GraphQL queries to the endpoint
http://localhost:4000/graphql
.
# Get first page of accounts with characters
query {
accounts {
id
username
characters {
id
name
level
sex
empire
race
}
}
}
# Return item by id with its locales & drop sources
query {
item(id: "290") {
id
name
locales {
name
locale {
code
}
}
source {
mobs {
mob {
id
name
}
}
}
}
}
- Analytics
- Vote 4 Coins
- Item Shop
- And many, many more...
I'm still in the early stages of development and am looking for contributions from server owners to help improve and develop new features. If you are interested in contributing, have some feedback or would like to suggest a new feature, please feel free to contact me.
For support, send me a message on Discord anndii
.