File size: 1,310 Bytes
3768ef0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# Architecture

```
[ Metin2 Client ] --TCP packets--> [ Auth :11000 ]
                                      |
                                      v
                                   [ Redis cache ]
                                      |
[ Metin2 Client ] --TCP packets--> [ Game :13000 ] --SQL--> [ MariaDB/MySQL ]
                                      |
                                   [ data/ ]  (jobs, exp, atlas, items, maps as provided)
```

## Processes

1. **Auth** — login, account validation, channel list  
2. **Game** — world, movement, combat, inventory, shops (per core feature set)  
3. **DB** — accounts, players, items persistence  
4. **Cache** — session / live world shared state  

## Data layers for “items / skills / maps”

| Layer | Where |
|-------|--------|
| Protocol packets | Core source (`vendor/*/src`) |
| Item/mob definitions | Core data JSON/SQL + client proto packs |
| Skills | Core skill managers + client skill data |
| Maps | Map files client-side + spawn/atlas server-side |
| Play handling | Game server combat/move services |

## Two cores included

- **QCX** — production-style Docker images from GHCR, C#  
- **Open-MT2** — Node/TS, rich roadmap UI, easier to read for packet study  

Pick one primary for runtime; keep the other as reference.