feat: Migración completa de SnatchGame a Nuxt 4
Some checks failed
build-and-deploy / filter (push) Successful in 3s
build-and-deploy / build (push) Failing after 6s
build-and-deploy / deploy (push) Has been skipped

- 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)
This commit is contained in:
2025-08-05 16:05:51 -06:00
parent b83d450ac6
commit 62226ab5d4
36 changed files with 17126 additions and 2661 deletions

View File

@@ -0,0 +1,42 @@
import 'reflect-metadata'
import { listen } from '@colyseus/tools'
import { monitor } from '@colyseus/monitor'
import { Server } from 'colyseus'
import { WebSocketTransport } from '@colyseus/ws-transport'
import { createServer } from 'http'
import express from 'express'
import cors from 'cors'
import { GameRoom } from './rooms/GameRoom'
const port = parseInt(process.env.PORT || '2567', 10)
const app = express()
// Enable CORS
app.use(cors())
app.use(express.json())
// Create HTTP & WebSocket servers
const server = createServer(app)
const gameServer = new Server({
transport: new WebSocketTransport({
server
})
})
// Register GameRoom
gameServer.define('game', GameRoom)
.filterBy(['gameMode'])
.sortBy({ clients: 1 })
// Health check
app.get('/health', (req, res) => {
res.json({ status: 'healthy' })
})
// Colyseus monitor
app.use('/monitor', monitor())
gameServer.listen(port)
console.log(`🎮 Colyseus server is listening on ws://localhost:${port}`)