- Document Windows Server 2022 setup for vm-dbo (192.168.10.109) - Include Kimi CLI installation steps for Windows Server - Add DBO Global compilation guide with Visual Studio Build Tools - Add MariaDB, firewall, and service configuration (nssm) - Add client connection and backup instructions
8.0 KiB
Guía de Despliegue — Dragon Ball Online Server
VM: vm-dbo
IP: 192.168.10.109
Dominio futuro: play.consultoria-as.com (NO configurado todavía)
OS: Windows Server 2022 (Desktop Experience recomendado)
Puertos: 22000-22010/tcp
RAM: 4-6 GB
Disco: 30 GB SSD
⚠️ Decisión de arquitectura
DBO Global está escrito en C++ con MFC (Microsoft Foundation Classes), lo cual requiere Windows y Visual Studio para compilar. Por esta razón, esta VM usa Windows Server en lugar de Ubuntu.
| Opción | Estado |
|---|---|
| Ubuntu + Wine | Descartado — MFC no es estable bajo Wine para producción |
| Windows Server Core | Posible, pero riesgoso — MFC asume componentes gráficos |
| Windows Server 2022 Desktop | Recomendado — Compilación nativa, más estable |
1. Instalación de Windows Server 2022
ISO
Descargar Windows Server 2022 Evaluation desde Microsoft: https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-2022
Durante la instalación
- Edición: Windows Server 2022 Standard Evaluation (Desktop Experience)
- Tipo de instalación: Custom (limpio)
- Disco: Usar todo el disco disponible (30 GB)
Post-instalación
- Cambiar nombre del equipo:
vm-dbo - Configurar IP estática:
- IP:
192.168.10.109 - Máscara:
255.255.255.0 - Gateway:
192.168.10.1(ajustar según tu red) - DNS:
1.1.1.1,8.8.8.8
- IP:
- Habilitar Remote Desktop:
Set-ItemProperty -Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' -Name "fDenyTSConnections" -Value 0 Enable-NetFirewallRule -DisplayGroup "Remote Desktop" - Actualizar Windows:
sconfig # Opción 6: Download and Install Updates
2. Instalación de Kimi Code CLI
Kimi se usará para administrar y configurar el servidor desde la terminal.
Requisitos previos
- PowerShell 5.1+ (viene con Server 2022)
- Conexión a Internet
Pasos
Abrir PowerShell como Administrador:
# 1. Habilitar ejecución de scripts
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
# 2. Instalar Kimi CLI (instala uv + Python 3.13 + kimi-cli automáticamente)
Invoke-RestMethod https://code.kimi.com/install.ps1 | Invoke-Expression
# 3. Verificar
kimi --version
Autenticación
kimi
Dentro del CLI:
/login
Seguir las instrucciones (abrir URL en navegador, copiar código de verificación).
3. Instalación de dependencias del servidor
Visual Studio 2022 Build Tools
Descargar desde: https://visualstudio.microsoft.com/downloads/#build-tools-for-visual-studio-2022
Durante la instalación, seleccionar:
- Desktop development with C++
- MFC/ATL support (bajo C++ Desktop, opciones individuales)
- Windows 11 SDK (o Windows 10 SDK si 11 no está disponible)
MariaDB para Windows
- Descargar desde: https://mariadb.org/download/
- Instalar con configuración por defecto
- Recordar la contraseña de root que configures
- Asegurar que el servicio MariaDB esté corriendo:
Get-Service MariaDB
Git
winget install --id Git.Git -e --source winget
# O descargar desde https://git-scm.com/download/win
4. Compilación de DBO Global
Clonar el repositorio
mkdir C:\dbo
cd C:\dbo
git clone https://github.com/dboglobal/DBOGLOBAL.git
Compilar
- Abrir Developer Command Prompt for VS 2022 (viene con Build Tools)
- Navegar a
C:\dbo\DBOGLOBAL - Abrir
DBOGLOBAL.slncon MSBuild:msbuild DBOGLOBAL.sln /p:Configuration=Release /p:Platform=x64 - Los binarios se generarán en
Release\ox64\Release\
5. Configuración de la base de datos
Crear base de datos
Abrir ** HeidiSQL** (incluido con MariaDB installer) o usar mysql client:
# Ejecutar scripts SQL que vienen en el repo DBOGLOBAL
cd C:\dbo\DBOGLOBAL\sql
Get-ChildItem *.sql | ForEach-Object { mysql -u root -p < $_.FullName }
Configurar credenciales
Editar archivos de configuración del servidor DBO (.ini o .conf en Release\):
DB_HOST=127.0.0.1
DB_PORT=3306
DB_USER=root
DB_PASSWORD=tu_password_aqui
6. Firewall de Windows
# Ver perfil actual
Get-NetFirewallProfile
# Permitir puertos del juego (22000-22010 TCP)
New-NetFirewallRule -DisplayName "DBO Game Ports" -Direction Inbound -Protocol TCP -LocalPort 22000-22010 -Action Allow
# Permitir RDP solo desde red privada (opcional pero recomendado)
Set-NetFirewallRule -DisplayGroup "Remote Desktop" -Enabled True
# Si se quiere restringir por IP, usar: -RemoteAddress 10.0.0.0/24,192.168.10.0/24
# Permitir MariaDB solo local (si no se accede desde otra VM)
New-NetFirewallRule -DisplayName "MariaDB Local" -Direction Inbound -Protocol TCP -LocalPort 3306 -RemoteAddress 127.0.0.1 -Action Allow
7. Ejecución del servidor
Los servidores de DBO Global típicamente son múltiples ejecutables:
| Ejecutable | Puerto | Descripción |
|---|---|---|
AuthServer.exe |
22000 | Autenticación |
CharServer.exe |
22001 | Selección de personaje |
ChatServer.exe |
22002 | Chat |
GameServer.exe |
22003+ | Canales de juego |
Opción A: Ventanas individuales (desarrollo/pruebas)
cd C:\dbo\DBOGLOBAL\Release
Start-Process .\AuthServer.exe
Start-Process .\CharServer.exe
Start-Process .\ChatServer.exe
Start-Process .\GameServer.exe
Opción B: Servicio de Windows (producción)
Crear un servicio para cada componente usando nssm (Non-Sucking Service Manager):
# Instalar nssm
winget install --id NSSM.NSSM -e --source winget
# Crear servicios
nssm install DBO-Auth "C:\dbo\DBOGLOBAL\Release\AuthServer.exe"
nssm install DBO-Char "C:\dbo\DBOGLOBAL\Release\CharServer.exe"
nssm install DBO-Chat "C:\dbo\DBOGLOBAL\Release\ChatServer.exe"
nssm install DBO-Game "C:\dbo\DBOGLOBAL\Release\GameServer.exe"
# Iniciar
Start-Service DBO-Auth
Start-Service DBO-Char
Start-Service DBO-Chat
Start-Service DBO-Game
8. Verificación
# Ver procesos corriendo
Get-Process | Where-Object { $_.ProcessName -like "*Server*" }
# Ver puertos escuchando
Get-NetTCPConnection -LocalPort 22000,22001,22002,22003 | Select-Object LocalPort, State, OwningProcess
# Ver logs
# Los logs usualmente están en C:\dbo\DBOGLOBAL\Release\logs\ o salen por consola
Prueba desde otra máquina en la red:
# En otra PC con PowerShell:
Test-NetConnection -ComputerName 192.168.10.109 -Port 22000
9. Conexión de clientes
- Descargar el cliente DBO Global
- Configurar el launcher para apuntar a:
192.168.10.109:22000 - Crear cuenta (o usar cuenta por defecto si existe)
Cuando se configure play.consultoria-as.com, actualizar el launcher al dominio.
10. Backup de la base de datos
# Backup diario con mysqldump
$fecha = Get-Date -Format "yyyyMMdd-HHmm"
mysqldump -u root -p --all-databases > "C:\dbo\backups\db-$fecha.sql"
Programar con Task Scheduler para que corra todos los días.
Notas para Kimi en esta VM
Cuando uses Kimi para administrar esta VM:
- Kimi tiene acceso a PowerShell, cmd, y puede editar archivos
- No todos los comandos de Linux funcionan — usar equivalentes de PowerShell
- Para editar archivos
.inio.sql, Kimi puede usarSet-Contentonotepad - Los binarios compilados de DBO no deben subirse a Git
Troubleshooting
| Problema | Solución |
|---|---|
| "No compila en VS Build Tools" | Verificar que esté instalado Desktop development with C++ y MFC/ATL |
| "MariaDB no conecta" | Verificar que el servicio esté corriendo: Get-Service MariaDB |
| "Cliente no se conecta" | Verificar firewall de Windows y que todos los puertos 22000-22010 estén abiertos |
| "Kimi no se instala" | Verificar Set-ExecutionPolicy y conexión a Internet |
| "Faltan DLLs al ejecutar" | Instalar Visual C++ Redistributable (x64) desde Microsoft |