Pangya JP · Private Server · v1.0 Pangya JP · Servidor Privado · v1.0

PangyaSharp

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.

View on GitHubVer no GitHub Quick SetupConfiguração Rápida
5
Servers
Servidores
12
Game Modes
Modos de Jogo
18
Game Systems
Sistemas
300+
DB Commands
Comandos DB

// system design

// arquitetura

Architecture

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ãoAuthServer  :7777   ──►  Internal · Validate session keys between serversInterno · Valida chaves entre servidoresGameServer  :20201  ──►  Core game logic · Rooms · Modes · InventoryLógica principal · Salas · Modos · InventárioRankingServer :4774  ──►  Player / Character / Guild rankingsRankings de jogadores e guildasMessengerServer :30303  ──►  Friends · Online status · MessagingAmigos · Status online · MensagensSQL Server (MSSQL)  ──►  Single shared database via ODBC DSN "pangya"Banco único via ODBC DSN "pangya"

// five servers

// cinco servidores

Servers

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.

PORT 7777 · GUID 8888
AuthServer
Internal server. Validates session keys between all other servers. Game clients never connect to it directly.
Servidor interno. Valida chaves de sessão entre os demais servidores. O cliente nunca se conecta a ele diretamente.
Internal Interno
PORT 10103 · GUID 10103
LoginServer
Client entry point. Handles authentication, IP blocking, account creation, and sends the list of available GameServers.
Ponto de entrada dos clientes. Autentica usuários, verifica IPs bloqueados e envia a lista de GameServers disponíveis.
Public Público
PORT 20201 · GUID 20201
GameServer
Core game server. Manages channels, rooms, game modes, inventory, missions, events, guilds, and all gameplay logic.
Servidor principal. Gerencia canais, salas, modos de jogo, inventário, missões, eventos, guildas e toda a lógica de gameplay.
Core Principal
PORT 4774 · GUID 4774
RankingServer
Manages and updates player, character, and guild rankings in real time.
Gerencia e atualiza rankings de jogadores, personagens e guildas em tempo real.
Public Público
PORT 30303 · GUID 30303
MessengerServer
Manages the friend list, online/offline status, and messaging between players.
Gerencia a lista de amigos, status online/offline e mensagens entre jogadores.
Public Público
PORT 1433
SQL Server
Single shared database. All servers connect via ODBC System DSN named "pangya". Supports MSSQL and MySQL.
Banco de dados único e compartilhado. Todos os servidores conectam via ODBC System DSN chamado "pangya". Suporta MSSQL e MySQL.
Database Banco

// capabilities

// funcionalidades

What's Included

O que está incluído

🔐
Packet Encryption
Criptografia de Pacotes
XOR encryption with public/private key tables (CryptoOracle) and LZO packet compression.
Criptografia XOR com tabelas de chave pública/privada (CryptoOracle) e compressão LZO de pacotes.
🛡️
Anti-DDoS & Anti-Bot
Anti-DDoS e Anti-Bot
IP rate limiting, CIDR-based deny rules, TTL-based bot detection, MAC/IP ban system.
Rate limiting por IP, regras CIDR, detecção de bots por TTL, banimento por MAC/IP.
🗃️
Multi-Engine Database
Banco Multi-Engine
DbFactory supports MSSQL, MySQL, and PostgreSQL via a unified ODBC abstraction layer.
DbFactory suporta MSSQL, MySQL e PostgreSQL via camada de abstração ODBC unificada.
📦
IFF Binary Reader
Leitor IFF Binário
Full reader for Pangya JP's proprietary IFF format — characters, clubs, courses, items and more.
Leitor completo do formato proprietário IFF do Pangya JP — personagens, tacos, cursos, itens e mais.
18 Game Systems
18 Sistemas de Jogo
Grand Prix, Golden Time, Box System, UCC, Card System, Achievement, Attendance, and many more.
Grand Prix, Golden Time, Box System, UCC, Card System, Achievement, Attendance e muito mais.
💬
Discord Webhook
Optional PangyaAPI.Discord module for real-time server event notifications to Discord channels.
Módulo opcional PangyaAPI.Discord para notificações de eventos do servidor em canais Discord.

// getting started

// configuração

ODBC System DSN Setup

Configuração do ODBC System DSN

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.

1
Open ODBC Administrator
Abrir o Administrador ODBC
Press Win+R, type odbcad32.exe and press Enter. Use System32 for 64-bit builds or SysWOW64 for 32-bit.
Pressione Win+R, digite odbcad32.exe e pressione Enter. Use System32 para 64-bit ou SysWOW64 para 32-bit.
2
Create System DSN
Criar System DSN
Go to the System DSN tab → Add → Select ODBC Driver 17 for SQL Server → Finish.
Vá para a aba DSN de Sistema → Adicionar → Selecione ODBC Driver 17 for SQL Server → Concluir.
3
Name it "pangya"
Nomeie como "pangya"
Set Name = pangya, Server = your SQL Server address (e.g. (local)).
Defina Nome = pangya, Servidor = endereço do SQL Server (ex: (local)).
4
SQL Server Authentication
Autenticação SQL Server
Select SQL Server Auth. Login: pangya / Password: pangya. Set default database to pangya.
Selecione Autenticação SQL Server. Login: pangya / Senha: pangya. Banco padrão: pangya.
5
Test → TESTS COMPLETED SUCCESSFULLY!
Testar → TESTS COMPLETED SUCCESSFULLY!
Click "Test Data Source". If it passes, your server.ini is ready to use.
Clique em "Testar Fonte de Dados". Se passar, o server.ini está pronto para uso.
[NORMAL_DB] DBENGINE = MSSQL DBIP = pangya ; ← DSN name created above DBNAME = pangya DBUSER = pangya DBPASS = pangya DBPORT = 1433 DBLOG = 1
# Server Servidor Port Role Função
1AuthServerAuthServer7777Start first — required by allInicia primeiro — necessário por todos
2LoginServerLoginServer10103Client entry pointEntrada dos clientes
3GameServerGameServer20201Core gameplayLógica principal
4RankingServerRankingServer4774RankingsRankings
5MessengerServerMessengerServer30303Friends & chatAmigos e chat

// gameplay

// modos de jogo

Game Modes

Modos de Jogo

12 game modes fully implemented in the GameServer.

12 modos de jogo completamente implementados no GameServer.

Match / Stroke
Practice
Grand Prix
Grand Zodiac
Guild Battle
Pang Battle
Versus
Tourney
Approach
Chip-In Practice
Special Shuffle
+ more

// join us

// comunidade

Community

Comunidade

🎮
Retreev Community
discord.gg/HwDTssf
Pangya Fun Community
discord.gg/DEwj7DnBHb
▶️
@devluismk
youtube.com/@devluismk