- Creado nuevo proyecto Nuxt 4 con estructura app/ - Servidor Colyseus separado para evitar problemas con decoradores - Migrado GameRoom y toda la lógica del juego - Implementado cliente con composables useGameClient - Panel de administración funcional - Componentes Vue migrados (HomeScreen, GameScreen, PlayerCard, etc) - Configuración para ejecutar ambos servidores (npm run dev:all)
74 lines
2.0 KiB
Markdown
74 lines
2.0 KiB
Markdown
# Snatch Game - Nuxt 3 Migration
|
|
|
|
Migración completa del juego SnatchGame a una aplicación unificada Nuxt 3.
|
|
|
|
## Arquitectura
|
|
|
|
- **Frontend**: Nuxt 3 (SSR deshabilitado)
|
|
- **Backend de juego**: Servidor Colyseus independiente (puerto 2567)
|
|
- **Comunicación**: WebSocket para tiempo real
|
|
|
|
## Instalación
|
|
|
|
```bash
|
|
npm install
|
|
```
|
|
|
|
## Desarrollo
|
|
|
|
Ejecutar ambos servidores (Nuxt + Colyseus):
|
|
|
|
```bash
|
|
npm run dev:all
|
|
```
|
|
|
|
O ejecutar por separado:
|
|
|
|
```bash
|
|
# Terminal 1 - Servidor Nuxt (puerto 3000)
|
|
npm run dev
|
|
|
|
# Terminal 2 - Servidor Colyseus (puerto 2567)
|
|
npm run dev:colyseus
|
|
```
|
|
|
|
## URLs
|
|
|
|
- Cliente del juego: http://localhost:3000
|
|
- Panel admin: http://localhost:3000/admin
|
|
- WebSocket Colyseus: ws://localhost:2567
|
|
- Monitor Colyseus: http://localhost:2567/monitor
|
|
|
|
## Estructura del proyecto
|
|
|
|
```
|
|
nuxt-snatchgame/
|
|
├── pages/ # Páginas de Nuxt
|
|
│ ├── index.vue # Cliente del juego
|
|
│ └── admin.vue # Panel de administración
|
|
├── components/ # Componentes Vue
|
|
│ ├── game/ # Componentes del juego
|
|
│ └── admin/ # Componentes admin
|
|
├── composables/ # Composables Vue
|
|
│ ├── useGameClient.ts # Cliente Colyseus
|
|
│ └── useAdminService.ts # Servicio admin
|
|
├── server/ # Backend
|
|
│ ├── colyseus-server.ts # Servidor Colyseus
|
|
│ └── rooms/ # Salas de juego
|
|
│ └── GameRoom.ts # Lógica del juego
|
|
└── public/ # Assets estáticos
|
|
```
|
|
|
|
## Características implementadas
|
|
|
|
✅ Cliente del juego con conexión WebSocket
|
|
✅ Panel de administración
|
|
✅ Sistema de intercambio de tokens
|
|
✅ Gestión de jugadores y salas
|
|
✅ Control administrativo del juego
|
|
|
|
## Notas de la migración
|
|
|
|
- El servidor Colyseus se ejecuta de forma independiente para evitar problemas con decoradores TypeScript
|
|
- SSR deshabilitado ya que es una aplicación de juego en tiempo real
|
|
- Los endpoints admin se conectan directamente al servidor Colyseus |