C# / .NET · MSSQL · ODBC
A full-featured private server implementation for Pangya JP. Five independent TCP servers, shared libraries, and complete game logic rebuilt from scratch.
Implementação completa de servidor privado para o Pangya JP. Cinco servidores TCP independentes, bibliotecas compartilhadas e lógica de jogo reconstruída do zero.
// system design
// arquitetura
Five independent TCP servers communicate through an internal AuthServer and share a single MSSQL database via ODBC.
Cinco servidores TCP independentes se comunicam através de um AuthServer interno e compartilham um único banco MSSQL via ODBC.
[Pangya JP Client] │ LoginServer :10103 ──► Authenticate users · Generate session keyAutentica usuários · Gera chave de sessão │ AuthServer :7777 ──► Internal · Validate session keys between serversInterno · Valida chaves entre servidores │ GameServer :20201 ──► Core game logic · Rooms · Modes · InventoryLógica principal · Salas · Modos · Inventário │ RankingServer :4774 ──► Player / Character / Guild rankingsRankings de jogadores e guildas │ MessengerServer :30303 ──► Friends · Online status · MessagingAmigos · Status online · Mensagens │ SQL Server (MSSQL) ──► Single shared database via ODBC DSN "pangya"Banco único via ODBC DSN "pangya"
// five servers
// cinco servidores
Each server has a well-defined responsibility. All inherit from the abstract Server class in PangyaAPI.Network.
Cada servidor tem responsabilidade bem definida. Todos herdam da classe abstrata Server do PangyaAPI.Network.
// capabilities
// funcionalidades
// getting started
// configuração
All servers connect to SQL Server via an ODBC System DSN named pangya. Follow these steps before starting any server.
Todos os servidores conectam ao SQL Server via ODBC System DSN chamado pangya. Siga os passos antes de iniciar qualquer servidor.
odbcad32.exe and press Enter. Use System32 for 64-bit builds or SysWOW64 for 32-bit.odbcad32.exe e pressione Enter. Use System32 para 64-bit ou SysWOW64 para 32-bit.pangya, Server = your SQL Server address (e.g. (local)).pangya, Servidor = endereço do SQL Server (ex: (local)).pangya / Password: pangya. Set default database to pangya.pangya / Senha: pangya. Banco padrão: pangya.// startup order
// ordem de inicialização
| # | Server | Servidor | Port | Role | Função |
|---|---|---|---|---|---|
| 1 | AuthServer | AuthServer | 7777 | Start first — required by all | Inicia primeiro — necessário por todos |
| 2 | LoginServer | LoginServer | 10103 | Client entry point | Entrada dos clientes |
| 3 | GameServer | GameServer | 20201 | Core gameplay | Lógica principal |
| 4 | RankingServer | RankingServer | 4774 | Rankings | Rankings |
| 5 | MessengerServer | MessengerServer | 30303 | Friends & chat | Amigos e chat |
// gameplay
// modos de jogo
12 game modes fully implemented in the GameServer.
12 modos de jogo completamente implementados no GameServer.
// join us
// comunidade