## Major Features Added - **🎛️ Complete Admin Dashboard**: Real-time player monitoring with detailed stats - **👥 Player Management**: Individual and mass player kicking with proper notifications - **🎯 Global Round Control**: Advance/retreat rounds across all rooms simultaneously - **⏸️ Game Control**: Pause/resume games from admin interface - **🔔 Client Notifications**: Players receive alerts for kicks and round changes ## Technical Improvements - **🏗️ Official Colyseus API**: Replaced global variable hacks with `matchMaker.query()` and `matchMaker.remoteRoomCall()` - **📡 Proper Client Communication**: Implemented broadcast messages for `adminKicked`, `gamePaused`, `gameResumed`, `roundChanged` - **🎮 Enhanced GameRoom Methods**: Added `pauseGame()`, `resumeGame()`, `advanceRound()`, `previousRound()`, `_forceClientDisconnect()`, `_forceDisconnectAllClients()`, `getInspectData()` ## UI/UX Enhancements - **📊 Detailed Player Info**: Name, room, role, producer type, and current tokens (🦃☕🌽) - **🚫 Proper Kick Notifications**: Clients auto-redirect to home with clear messaging - **🎨 Improved Admin Interface**: Better organized controls for non-technical commentators - **📱 Responsive Design**: Works well on different screen sizes ## Bug Fixes - **🔧 Fixed Admin Service URLs**: Now correctly calls Colyseus server (port 2567) instead of admin server (port 3001) - **✅ Mass Kick Notifications**: All players receive proper notifications when expelled en masse - **🔄 Auto-redirect**: Kicked clients properly return to home screen ## Architecture - **🏗️ Clean API Design**: All admin endpoints use official Colyseus patterns - **🔒 Type Safety**: Maintained TypeScript sync between server and clients - **📦 Microservices Ready**: Separated concerns between game server and admin interface **Breaking Changes:** None - fully backward compatible **Migration:** No migration needed
55 lines
1.7 KiB
JSON
55 lines
1.7 KiB
JSON
{
|
|
"name": "snatchgame",
|
|
"version": "0.0.8-alpha",
|
|
"description": "Multiplayer real-time click battle game built with Colyseus.io and Vue 3",
|
|
"private": true,
|
|
"scripts": {
|
|
"install:all": "npm install && cd server && npm install && cd ../client && npm install",
|
|
"dev:server": "cd server && npm run dev",
|
|
"dev:client": "cd client && npm run dev",
|
|
"dev": "concurrently \"npm run dev:server\" \"npm run dev:client\"",
|
|
"build:server": "cd server && npm run build",
|
|
"build:client": "cd client && npm run build",
|
|
"build": "npm run build:server && npm run build:client",
|
|
"start:server": "cd server && npm start",
|
|
"start:client": "cd client && npm start",
|
|
"start": "concurrently \"npm run start:server\" \"npm run start:client\"",
|
|
"generate-types": "cd client && npm run generate-types",
|
|
"clean": "rm -rf node_modules server/node_modules client/node_modules server/lib client/dist",
|
|
"docker:build": "docker-compose build",
|
|
"docker:up": "docker-compose up -d",
|
|
"docker:down": "docker-compose down",
|
|
"docker:logs": "docker-compose logs -f"
|
|
},
|
|
"keywords": [
|
|
"multiplayer",
|
|
"game",
|
|
"colyseus",
|
|
"vue3",
|
|
"typescript",
|
|
"real-time",
|
|
"websockets",
|
|
"local-network"
|
|
],
|
|
"author": "NucleoServices",
|
|
"license": "MIT",
|
|
"repository": {
|
|
"type": "git",
|
|
"url": "https://github.com/username/snatchgame.git"
|
|
},
|
|
"bugs": {
|
|
"url": "https://github.com/username/snatchgame/issues"
|
|
},
|
|
"homepage": "https://github.com/username/snatchgame#readme",
|
|
"engines": {
|
|
"node": ">=18.0.0",
|
|
"npm": ">=8.0.0"
|
|
},
|
|
"workspaces": [
|
|
"server",
|
|
"client"
|
|
],
|
|
"devDependencies": {
|
|
"concurrently": "^8.2.2"
|
|
}
|
|
} |