How kurtekat/shaiya-episode-6 works
This repository provides Episode 6 support for Shaiya through injected client and server-side DLLs, plus a login hook and database-facing components. The visible server entry point installs packet, user, item, and world hooks and loads game configuration; the login hook parameterizes a login procedure call. The client tree contains input, player/world, camera, chat, and skill modules, but their runtime connections are not shown in the excerpts. Several relationships are therefore omitted rather than inferred.
Main entry points: src/main.cpp Hook Startup · src/main.cpp Login Hook · SDatabase.cpp Login SQL API · dllmain.cpp Client DLL Entry
Components 23
Game Server
- Hook Startup
sdev/src/main.cpp - Packet Handlers
sdev/src/packet_gem.cpp - Item Effects
sdev/src/item_effect.cpp - User Handlers
sdev/src/user.cpp - User Skills
sdev/src/user_skill.cpp - World Thread
sdev/src/world_thread.cpp - Game Configuration
sdev/include/shaiya/Configuration.cpp
Login Service
- Login Hook
sdev-login/src/main.cpp - Login SQL API
sdev-login/include/shaiya/SDatabase.cpp
Game Client
- Client DLL Entry
sdev-client/src/dllmain.cpp - Input
sdev-client/include/shaiya/CInput.h - Player Data
sdev-client/include/shaiya/CPlayerData.h - World Manager
sdev-client/include/shaiya/CWorldMgr.h - Camera
sdev-client/include/shaiya/Camera.h - Chat Types
sdev-client/include/shaiya/ChatType.h - Skill Info
sdev-client/include/shaiya/SkillInfo.h - Client Globals
sdev-client/include/shaiya/Static.h
Database Access
- Login Database
sdev-login/include/shaiya/SDatabase.h - Server DB Pool
sdev/include/shaiya/SDatabasePool.cpp - DB Service
sdev-db/src/main.cpp
Numeric Library
- Big Integer
mini-gmp/mini-gmp.c
Other components
- Game Player
- Login User
Connections 11
- Hook Startup → Packet Handlers: installs hooks
sdev/src/main.cpp - Hook Startup → Item Effects: installs hook
sdev/src/main.cpp - Hook Startup → User Handlers: installs hook
sdev/src/main.cpp - Hook Startup → User Skills: installs hook
sdev/src/main.cpp - Hook Startup → World Thread: installs hook
sdev/src/main.cpp - Hook Startup → Game Configuration: loads data
sdev/src/main.cpp - Login User → Login Hook: provides credentials
- Login Hook → Login SQL API: binds and executes
sdev-login/src/main.cpp - Login SQL API → Login Database: implements methods
sdev-login/include/shaiya/SDatabase.cpp - Client DLL Entry → Client Globals: loads entry module
- Game Player → Client DLL Entry: uses client