Skip to content

Commit 43e4f85

Browse files
Initialize Maple2 server project documentation
Added detailed structure for the Maple2 server project documentation, including sections on server architecture, game session management, and player systems.
1 parent d9cfe80 commit 43e4f85

1 file changed

Lines changed: 282 additions & 0 deletions

File tree

.devin/wiki.json

Lines changed: 282 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,282 @@
1+
{
2+
"repo_notes": [
3+
{
4+
"content": ""
5+
}
6+
],
7+
"pages": [
8+
{
9+
"title": "Overview",
10+
"purpose": "Introduce the Maple2 server project, its goals, constraints, and a high-level walkthrough of server architecture, data flow, and runtime execution",
11+
"page_notes": [
12+
{
13+
"content": ""
14+
}
15+
]
16+
},
17+
{
18+
"title": "Server Architecture",
19+
"purpose": "Explain the distributed server topology and responsibility boundaries between Login, World, and Game servers",
20+
"page_notes": [
21+
{
22+
"content": ""
23+
}
24+
]
25+
},
26+
{
27+
"title": "Login Server",
28+
"purpose": "Detail authentication, character creation, selection, deletion, and migration initiation",
29+
"parent": "Server Architecture",
30+
"page_notes": [
31+
{
32+
"content": ""
33+
}
34+
]
35+
},
36+
{
37+
"title": "World Server",
38+
"purpose": "Explain global coordination responsibilities including migration tokens, distributed locking, player presence, and social systems",
39+
"parent": "Server Architecture",
40+
"page_notes": [
41+
{
42+
"content": ""
43+
}
44+
]
45+
},
46+
{
47+
"title": "Game Server",
48+
"purpose": "Describe the game server runtime environment including session management, field instances, and real-time simulation",
49+
"parent": "Server Architecture",
50+
"page_notes": [
51+
{
52+
"content": ""
53+
}
54+
]
55+
},
56+
{
57+
"title": "Networking and Migration",
58+
"purpose": "Detail packet handling, encryption, inter-server communication, and the token-based migration flow between servers",
59+
"parent": "Server Architecture",
60+
"page_notes": [
61+
{
62+
"content": ""
63+
}
64+
]
65+
},
66+
{
67+
"title": "Data Pipeline",
68+
"purpose": "Explain how proprietary game assets are transformed into structured metadata and runtime-accessible data",
69+
"page_notes": [
70+
{
71+
"content": ""
72+
}
73+
]
74+
},
75+
{
76+
"title": "Content Ingestion",
77+
"purpose": "Detail file parsing, type mappers, checksum-based ingestion, and database population",
78+
"parent": "Data Pipeline",
79+
"page_notes": [
80+
{
81+
"content": ""
82+
}
83+
]
84+
},
85+
{
86+
"title": "Map Data Processing",
87+
"purpose": "Explain extraction of map entities, spawns, portals, triggers, and spatial metadata from XBlock files",
88+
"parent": "Data Pipeline",
89+
"page_notes": [
90+
{
91+
"content": ""
92+
}
93+
]
94+
},
95+
{
96+
"title": "Metadata Storage",
97+
"purpose": "Describe metadata access patterns, lazy loading, caching strategies, and separation between static and mutable data",
98+
"parent": "Data Pipeline",
99+
"page_notes": [
100+
{
101+
"content": ""
102+
}
103+
]
104+
},
105+
{
106+
"title": "Game Session",
107+
"purpose": "Describe GameSession as the authoritative per-player runtime context and coordination hub",
108+
"page_notes": [
109+
{
110+
"content": ""
111+
}
112+
]
113+
},
114+
{
115+
"title": "Session Lifecycle",
116+
"purpose": "Explain session creation during migration, initialization order, and disposal and cleanup",
117+
"parent": "Game Session",
118+
"page_notes": [
119+
{
120+
"content": ""
121+
}
122+
]
123+
},
124+
{
125+
"title": "Session Managers",
126+
"purpose": "Detail the manager pattern and responsibilities of core managers such as Item, Quest, Currency, Stats, Buff, and Achievement",
127+
"parent": "Game Session",
128+
"page_notes": [
129+
{
130+
"content": ""
131+
}
132+
]
133+
},
134+
{
135+
"title": "Persistence and Migration",
136+
"purpose": "Explain player data persistence, migration saves, distributed locking, and cross-server consistency guarantees",
137+
"parent": "Game Session",
138+
"page_notes": [
139+
{
140+
"content": ""
141+
}
142+
]
143+
},
144+
{
145+
"title": "Game World",
146+
"purpose": "Provide an overview of world simulation, field instances, and entity management",
147+
"page_notes": [
148+
{
149+
"content": ""
150+
}
151+
]
152+
},
153+
{
154+
"title": "Field Manager",
155+
"purpose": "Detail field instance lifecycle, update loop, threading model, packet processing, and entity orchestration",
156+
"parent": "Game World",
157+
"page_notes": [
158+
{
159+
"content": ""
160+
}
161+
]
162+
},
163+
{
164+
"title": "Actor System",
165+
"purpose": "Explain the IActor hierarchy, combat execution, skills, buffs, and interaction logic",
166+
"parent": "Game World",
167+
"page_notes": [
168+
{
169+
"content": ""
170+
}
171+
]
172+
},
173+
{
174+
"title": "Navigation and AI",
175+
"purpose": "Detail pathfinding with DotRecast, NPC AI state machines, and movement systems",
176+
"parent": "Game World",
177+
"page_notes": [
178+
{
179+
"content": ""
180+
}
181+
]
182+
},
183+
{
184+
"title": "Trigger System",
185+
"purpose": "Explain trigger state machines, TriggerContext actions, and scripted map events",
186+
"parent": "Game World",
187+
"page_notes": [
188+
{
189+
"content": ""
190+
}
191+
]
192+
},
193+
{
194+
"title": "Map Entities",
195+
"purpose": "Detail static world elements such as portals, spawn points, and interactable objects",
196+
"parent": "Game World",
197+
"page_notes": [
198+
{
199+
"content": ""
200+
}
201+
]
202+
},
203+
{
204+
"title": "Player Systems",
205+
"purpose": "Provide an overview of player-centric mechanics and progression systems",
206+
"page_notes": [
207+
{
208+
"content": ""
209+
}
210+
]
211+
},
212+
{
213+
"title": "Inventory System",
214+
"purpose": "Detail inventory management, item collections, transactions, and concurrency considerations",
215+
"parent": "Player Systems",
216+
"page_notes": [
217+
{
218+
"content": ""
219+
}
220+
]
221+
},
222+
{
223+
"title": "Item Enhancement and Sockets",
224+
"purpose": "Explain enchantments, gemstones, limit breaks, and enhancement workflows",
225+
"parent": "Player Systems",
226+
"page_notes": [
227+
{
228+
"content": ""
229+
}
230+
]
231+
},
232+
{
233+
"title": "Character Progression",
234+
"purpose": "Detail stats, leveling, mastery, achievements, and attribute calculation",
235+
"parent": "Player Systems",
236+
"page_notes": [
237+
{
238+
"content": ""
239+
}
240+
]
241+
},
242+
{
243+
"title": "Condition System",
244+
"purpose": "Explain condition evaluation used by quests, achievements, and triggers",
245+
"parent": "Player Systems",
246+
"page_notes": [
247+
{
248+
"content": ""
249+
}
250+
]
251+
},
252+
{
253+
"title": "Development and Administration",
254+
"purpose": "Cover operational, debugging, and maintenance concerns",
255+
"page_notes": [
256+
{
257+
"content": ""
258+
}
259+
]
260+
},
261+
{
262+
"title": "Project Structure and Dependencies",
263+
"purpose": "Detail repository layout, build configuration, and external dependencies",
264+
"parent": "Development and Administration",
265+
"page_notes": [
266+
{
267+
"content": ""
268+
}
269+
]
270+
},
271+
{
272+
"title": "Administrative Commands",
273+
"purpose": "Explain command infrastructure for debugging, moderation, and live state manipulation",
274+
"parent": "Development and Administration",
275+
"page_notes": [
276+
{
277+
"content": ""
278+
}
279+
]
280+
}
281+
]
282+
}

0 commit comments

Comments
 (0)