- Joined
- Aug 27, 2011
- Messages
- 35
- Reaction score
- 11
What the base is (First Chase, core untouched)
First Chase Season V EP2 server running as usual: GameServer / CenterServer / MatchServer / MsgServer / MsgRouter / RelayServer, 18 characters, systems already present in the core (marriage, pets with evolution and glyphs, promotions/jobs, Griffin, Decane/Alice/Peryton, Tower of Challenge, Hero dungeons, Agit, Fairy Tree, etc.) — we didn't touch the game logic itself.What we ADDED
Brand new site, built from scratch
Full portal: Home, News, Ranking, Ranked, Server Status, Download, Item Wiki (218,682 items from the game catalog, with every item's icon extracted straight from the client), guilds and guild war. Custom UI (not the usual generic panel): menu with submenus, mobile drawer, video background, WebP assets, HD portraits for all 18 characters, and SVG icons instead of emoji everywhere (cleaner, consistent in both themes).
Integrated social network (the big highlight)
A full Facebook-style social network built into the site, using the same game account:- Profile with cover + avatar (upload with auto-crop), Posts/About/Game tabs, public profile at /u/yournick
- Posts (text/photo/video, #hashtags, @mentions, per-post visibility)
- 6 reactions (like/love/haha/wow/sad/angry), comments with replies, sharing
- Infinite-scroll feed
- Stories (24h, photo/video/text, who-viewed)
- Reels (TikTok-style vertical feed, autoplay, fraud-resistant view counting)
- Messenger — 1-on-1 and groups (up to 100), text/image/video/file, reply/react/edit/delete, read receipts, real-time
- Notifications (11 types) + global search (people/posts/reels/hashtags)
- Friends (follow/add/block) and privacy settings (7 controls) + light/dark theme
- Reporting system with a moderation queue
Tools
Game Admin Panel (/admin.php) — everything through the browser, no manual DB edits:- Search account by login
- GP, Cash (VP), Diamonds and Points (Point Shop) — set or add/subtract
- Rank (Normal/Hero/High/GM), ban/unban, mute/unmute, reset password
- Characters: unlock all, set level, fix a stuck/broken item repair, grant Prestige
- GachaPon tokens, countable item by ID, give a single item (queued, delivered next login)
- Nick color (fixed/rainbow/random/neon), player title, unlock colored chat
- VIP (GC Club) for X days
- Server: turn on a rate event (Rush Hour) with an automatic in-game announcement, global broadcast
- Players online right now (manage straight from the list)
- Guilds: rename, adjust Battle Point, change emblem
- Rotating in-game notices (create/edit/remove, with interval)
- Manage the site shop's items (add/remove)
Web tools for players — Server shop (GP/Diamond/Cash), Auction House (P2P, 5% fee), Roulette, Prestige, VIP, full guild management (create/join/ranks/emblem), nick color, title, colored chat, rankings.
Security
- Login with rate limiting (IP + account), attempt logging, anti-bot honeypot
- Sessions: HttpOnly+SameSite cookie, idle timeout, ID rotation, browser binding
- Password recovery via single-use token (the old flow allowed account takeover)
- Game password hash is now SHA-1 + a per-account salt (was raw MD5 — done without touching the server binary, only the DB/procedures)
- Security headers site-wide; social network uploads validated and converted to WebP; CSRF + prepared statements everywhere
In the game itself (recompiled client + server) — stuff that does NOT exist in stock First Chase
- GM commands typed straight into chat, .-prefixed (GM AuthLevel only): .notice <msg> (server-wide announcement), .exp <n> (add exp to the current character), .where <nick> (locate a player), .dc <nick> (kick), .rush <mult> <min> / .rushoff (turn a rate event on/off instantly, no need for the site), .help
- Player title actually shows up in-game — [Title] Nick in the room list, in-match, and other display packets (not just a DB flag)
- New nick color modes: on top of a fixed color, there's now rainbow (hue cycles on its own, ~3s per rotation), random (a different color every message), and neon (a real glow effect rendered in the client's font engine — a new #cN tag we added to the text parser)
- Guild emblem now shows inside chat, next to whoever's talking — before it only appeared above the character's head during a match. The server sends a token (#g<file>#) and the client swaps it for the icon
- Dynamic rate event (Rush Hour) with a live countdown in chat, both in the lobby and in-match, showing how much time is left — can be turned on via the .rush command or the site panel, both hit the same file
- Real Cash wired up: stock First Chase expects an external billing service (which doesn't exist for a private server) to know the "Virtual Cash"/Cash Point balance. We rewired that to read straight from the real Cash table in our own DB — without this the Cash Shop simply wouldn't work
- 2 duplication bugs fixed: buying with Diamonds had an inverted balance check and never deducted the currency; buying with Crystals also never deducted it. Both were audited and fixed — without this you could farm items for free
- Discord Rich Presence changed to show "Playing Grand Chase League" (it used to show the name of the original server the source came from)
What we REMOVED
- Backdoor: there was a master password (web.UserCanLogin) that logged into any account through the site login. Removed.
- Emoji across the whole UI (site + social network) — replaced with SVG icons
- Test/seed accounts from the database (clean DB for production)
- jQuery/particles.js dependency on the site (lighter front-end)
----------------- PT-BR -----------------
O que é a base (First Chase, sem mexer no core do jogo)
Servidor First Chase Season V EP2 rodando como sempre: GameServer / CenterServer / MatchServer / MsgServer / MsgRouter / RelayServer, 18 personagens, sistemas já existentes no core (casamento, pets com evolução e glifos, promoções/emprego, Grifo, Decane/Alice/Peryton, Torre do Desafio, dungeons Herói, Agit, Árvore das Fadas, etc.) — não tocamos na lógica de jogo em si.O que a gente ADICIONOU
Site novo, do zero
Portal completo: Home, Notícias, Ranking, Ranqueado, Status do servidor, Download, Wiki de Itens (218.682 itens do catálogo, com ícone de cada item extraído direto do cliente), guilds e guild war. Interface própria (não é o painel genérico de sempre): menu com submenus, versão mobile com gaveta lateral, fundo em vídeo, WebP, retratos HD dos 18 personagens, e ícones SVG em vez de emoji em tudo (mais limpo, consistente nos dois temas).
Rede social integrada (o grande diferencial)
Uma rede social própria, tipo Facebook, dentro do site, com a mesma conta do jogo:- Perfil com capa + foto (upload com recorte automático), bio, abas Publicações/Sobre/Jogo, perfil público em /u/seunick
- Publicações (texto/foto/vídeo, #hashtags, @menções, visibilidade por post)
- 6 reações (curtir/amei/haha/uau/triste/grr), comentários com resposta, compartilhar
- Feed com scroll infinito
- Stories (24h, foto/vídeo/texto, quem viu)
- Reels (feed vertical estilo TikTok, autoplay, contagem de views anti-fraude)
- Mensagens — 1‑a‑1 e grupos (até 100), texto/imagem/vídeo/arquivo, responder/reagir/editar/ apagar, confirmação de leitura, tempo real
- Notificações (11 tipos) + busca global (pessoas/posts/reels/hashtags)
- Amizades (seguir/adicionar/bloquear) e configurações de privacidade (7 controles) + tema claro/escuro
- Sistema de denúncias com fila de moderação
Ferramentas
Painel Admin do jogo (/admin.php) — tudo pela web, sem tocar no banco na mão:- Busca de conta por login
- GP, Cash (VP), Diamante e Pontos (Loja de Pontos) — definir ou somar/subtrair
- Cargo (Normal/Hero/High/GM), banir/desbanir, mutar/desmutar, redefinir senha
- Personagens: liberar todos, setar level, resetar conserto de item travado, dar Prestígio
- Fichas de GachaPon, item contável por ID, dar item avulso (fila, entrega no próximo login)
- Cor do nick (fixa/arco-íris/aleatória/neon), título do jogador, liberar chat colorido
- VIP (GC Club) por X dias
- Servidor: ligar evento de rate (Rush Hour) com aviso in-game automático, broadcast global
- Jogadores online agora (gerenciar direto da lista)
- Guilds: renomear, ajustar Battle Point, trocar emblema
- Avisos in-game rotativos (criar/editar/remover, com intervalo)
- Gerenciar itens da loja do site (adicionar/remover)
Ferramentas web pro jogador — Loja do servidor (GP/Diamante/Cash), Casa de Leilão (P2P, taxa de 5%), Roleta, Prestígio, VIP, guild completo (criar/entrar/cargos/emblema), cor de nick, título, chat colorido, rankings.
Segurança
- Login com rate limit (IP + conta), log de tentativas, honeypot anti-bot
- Sessão: cookie HttpOnly+SameSite, expira por inatividade, rotação de ID, vínculo com o navegador
- Recuperação de senha por token de uso único (fluxo antigo permitia takeover de conta)
- Hash de senha do jogo agora é SHA‑1 + salt por conta (antes era MD5 cru — sem mexer no binário do servidor, só no banco/procedures)
- Cabeçalhos de segurança em todo o site; uploads da rede social validados e convertidos pra WebP; CSRF + prepared statements em tudo
No jogo em si (cliente + servidor recompilados) — coisa que NÃO existe no First Chase original
- Comandos de GM digitados no chat, com prefixo . (só pra conta AuthLevel GM): .notice <msg> (aviso pro servidor todo), .exp <n> (soma exp no personagem atual), .where <nick> (acha o jogador), .dc <nick> (derruba), .rush <mult> <min> / .rushoff (liga/desliga o evento de rate na hora, sem precisar do site), .help
- Título do jogador aparece de verdade in-game — [Título] Nick na lista de sala, na partida e em outros pacotes de exibição (não é só um flag no banco)
- Cor do nick com modos novos: além de cor fixa, agora tem arco-íris (o matiz roda sozinho, ~3s por volta), aleatória (uma cor diferente a cada mensagem) e neon (efeito de brilho/glow de verdade, renderizado no motor de fonte do cliente — tag #cN nova que a gente adicionou no parser de texto)
- Emblema da guild aparece dentro do chat, do lado do nick de quem falou — antes só aparecia acima da cabeça do personagem durante partida. O servidor manda um token (#g<arquivo>#) e o cliente troca por ícone
- Evento de rate dinâmico (Rush Hour) com contador ao vivo no chat, tanto no lobby quanto dentro da partida, avisando quanto tempo falta — pode ligar pelo comando .rush ou pelo painel do site, os dois batem no mesmo arquivo
- Sistema de Cash real conectado: o First Chase original espera um serviço de billing externo (que não existe pra servidor privado) pra saber o saldo de "Virtual Cash"/Cash Point. Trocamos isso por consulta direta na tabela de Cash real do próprio banco — sem isso a Loja CASH simplesmente não funcionaria
- 2 bugs de duplicação corrigidos: comprar item com Diamante tinha a checagem de saldo invertida e não descontava a moeda; comprar com Cristal também não descontava. Os dois foram auditados e corrigidos — sem isso dava pra farmar item de graça
- Discord Rich Presence trocado pra mostrar "Jogando Grand Chase League" (era o nome do servidor original de onde veio a source)
O que a gente REMOVEU
- Backdoor: existia uma senha‑mestra (web.UserCanLogin) que entrava em qualquer conta pelo login do site. Removida.
- Emojis em toda a interface (site + rede social) — trocados por ícones SVG
- Contas de teste/seed do banco (banco fica limpo pra produção)
- Dependência de jQuery/particles.js no site (front-end mais leve)

