Un plugin para el CMS de MU Online DT-Web 2.0 (r00tme). Agrega un botón “Login con TuServerMU”, luego vincula la cuenta in-game MEMB_INFO existente del jugador por email verificado o crea una nueva, y lo inicia sesión. Aprovecha el propio shim mssql_*→sqlsrv de DT-Web, así que corre en PHP 8.x. Probado de extremo a extremo y funcionando.
Copia los cuatro archivos en las carpetas correspondientes de tu instalación de DT-Web, luego registra dos rutas y agrega el botón.
En Cuenta → Apps OAuth, crea una app Confidencial con la URI de redirección:
https://your-site.com/?p=ssocallback
Ponlos en tus carpetas de DT-Web:
inc/tsm_sso_lib.php configs/tsm_sso.php (edit your Client ID / Secret) mod/ssologin.php mod/ssocallback.php
En inc/loader.php, junto a las otras entradas $active_pages[...], agrega:
$active_pages['ssologin'] = 'ssologin.php'; $active_pages['ssocallback'] = 'ssocallback.php';
Pega el snippet de BUTTON-SNIPPET.html en la plantilla de login de tu tema activo (por defecto Aion: themes/Aion/menus/login_form.php; otros temas: themes/<theme>/menus/user_panel.php):
<a class="tsm-sso-btn" href="?p=ssologin"> <img src="https://sso.tuservermu.com/sso/img/sso-logo.png" height="18"> Login con TuServerMU </a>
/?p=ssologin - envía al jugador a TuServerMU (Authorization Code + PKCE)./?p=ssocallback - intercambia el código, lee el perfil verificado, vincula la fila MEMB_INFO por email o crea una nueva cuenta (respeta tu esquema de contraseña $option['md5'] + las filas asociadas de DT-Web), luego siembra $_SESSION['dt_username'] / ['dt_password'] exactamente como un login normal.Corre DT-Web en PHP 8.1–8.4 (8.5 no verificado). Usuarios de ODBC18: si la conexión SQL falla en TLS, agrega "TrustServerCertificate" => true al $connectionInfo del shim en configs/config.php (un asunto de DT-Web/driver, no del plugin).
¿Preguntas? [email protected] · Docs OIDC completas