Jump to content
View in the app

A better way to browse. Learn more.

LDG - Tech | Game Services Solutions

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

🔥 Genesis CMS Extreme — sistema de JOIN dinâmico entre tabelas

Posted

Prepare-se para conhecer uma funcionalidade que redefine a forma como os dados são gerenciados em painéis administrativos de servidores MU: o Sistema de JOIN Dinâmico do Genesis Extreme.

Oferece aos nossos clientes uma vasta capacidade de personalização, sem conhecimento técnicos e ou extremamente avançados em Data since ou similares, através do sistema de JOIN da versão extreme nossos clientes poderão elaborar personalizações próprias, entenda melhor lendo este tópico.

💡Um mundo de possibilidades, seja criativo e construa personalizações em minutos!
Quote
💡 “E se o administrador não precisasse escrever nem uma linha de SQL para conectar dados entre tabelas diferentes? E se bastasse configurar um JSON e o sistema cuidasse do resto?”

Agora é realidade.

🧩 O que é?
O novo sistema permite ao Genesis realizar JOINs automáticos e inteligentes entre qualquer tabela do banco de dados apenas configurando um arquivo .php — sem escrever queries manuais, sem conhecimento técnico avançado, e com total controle do que será exibido no painel.

⚙️ Como funciona?
Um schema declarativo é definido em arquivo de configuração (character_schema.php)

O administrador informa:

A tabela principal (ex: Character)

Quais outras tabelas que irá se relacionar (ex: Guild, MEMB_STAT)

Os campos que deseja carregar de cada uma

E como os campos se relacionam (ex: Character.Name → GuildMember.Name)

O Genesis monta dinamicamente toda a estrutura de consulta, usando aliases, joins e seleções inteligentes

🔗 Exemplos práticos
Status Online: verifica se o personagem está conectado via tabela MEMB_STAT

Informação de Guilda: relaciona GuildMember → Guild e exibe nome da guilda do personagem

Campos adicionais: qualquer campo de qualquer tabela pode ser adicionado com apenas 1 linha no schema

🖼️ E no painel?
A listagem de personagens agora exibe:

Nome da guilda (com fallback para --)

Indicador de conexão online/offline

Evolução visual e imagem de classe

O painel se adapta conforme o schema definido — sem necessidade de alterar código

💼 Exclusivo da versão Extreme
Essa funcionalidade estará disponível exclusivamente na versão Genesis CMS Extreme, voltada para servidores profissionais que desejam:

Flexibilidade máxima de integração com banco

Painéis administrativos dinâmicos e moduláveis

Redução drástica da necessidade de programação

O valor adicional será informado posteriormente. O que posso garantir é: nenhum outro painel no mercado oferece esse nível de abstração com controle total via JSON/PHP.

🧠 Pronto para o futuro
Quer conectar com ranking de Guilds? Exibir histórico de resets? Relacionar logs com personagens?

Só editar o schema. Genesis cuida do resto.

📢 Mais novidades vêm aí, mas esse módulo já representa um salto na forma como o MU é administrado.

🧑‍💻 Código na prática:

<?php

/**
 * LDGenesis CMS
 *
 * @build        1.0.0
 * @package      LDGenesis
 * @author       Marco Junior
 * @contact      support@ldg-team.tech
 * @copyright    Copyright (c) 2025 LDG Team Games - Services
 * @license      Proprietary
 * @language     PHP 8.2+
 * @description  Sistema CMS modular em arquitetura MVC, desenvolvido em homenagem a Lucas Danilo Gomes da Silva
 */

return [
  'tables' => [
    'character' => [
      'name' => 'Character',
      'columns' => [
        'name'         => 'Name',
        'account'      => 'AccountID',
        'class'        => 'Class',
        'level'        => 'cLevel',
        'experience'   => 'Experience',
        'map'          => 'MapDir',
        'mapnumber'    => 'MapNumber',
        'posX'         => 'MapPosX',
        'posY'         => 'MapPosY',
        'code'         => 'CtlCode',
        'pkcount'      => 'PkCount',
        'herocount'    => 'HeroCount',
        'str'          => 'Strength',
        'agi'          => 'Dexterity',
        'vit'          => 'Vitality',
        'ene'          => 'Energy',
        'cmd'          => 'Leadership',
        'inventory'    => 'Inventory',
        'magiclist'    => 'MagicList',
        'winduels'     => 'WinDuels',
        'loseduels'    => 'LoseDuels',
        'ruuds'        => 'Ruud',
        'resets'       => 'RESETS',
        'grand_resets' => 'GrandResets',
        'masterlevel'  => 'mLevel'
      ]
    ],

    'status' => [
      'name' => 'MEMB_STAT',
      'columns' => [
        'connect_stat' => 'ConnectStat'
      ],
      'join' => [
        'character.name' => 'status.memb___id'
      ]
    ],

    'guild_member' => [
      'name' => 'GuildMember',
      'columns' => [
        'guild' => 'G_Name'
      ],
      'join' => [
        'character.name' => 'guild_member.Name'
      ]
    ],

    'guild' => [
      'name' => 'Guild',
      'columns' => [
        'guild_name' => 'G_Name'
      ],
      'join' => [
        'guild_member.G_Name' => 'guild.G_Name'
      ]
    ]
  ]
];

Featured Replies

No posts to show

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.