Initial commit: Shattered Void MMO foundation
- Complete PostgreSQL database schema with 21+ tables - Express.js server with dual authentication (player/admin) - WebSocket support for real-time features - Comprehensive middleware (auth, validation, logging, security) - Game systems: colonies, resources, fleets, research, factions - Plugin-based combat architecture - Admin panel foundation - Production-ready logging and error handling - Docker support and CI/CD ready - Complete project structure following CLAUDE.md patterns 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
commit
1a60cf55a3
69 changed files with 24471 additions and 0 deletions
73
.env.example
Normal file
73
.env.example
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
# Shattered Void MMO - Environment Configuration
|
||||
|
||||
# Environment
|
||||
NODE_ENV=development
|
||||
PORT=3000
|
||||
LOG_LEVEL=debug
|
||||
|
||||
# Database Configuration
|
||||
DB_HOST=localhost
|
||||
DB_PORT=5432
|
||||
DB_NAME=shattered_void_dev
|
||||
DB_USER=postgres
|
||||
DB_PASSWORD=password
|
||||
|
||||
# Redis Configuration
|
||||
REDIS_HOST=localhost
|
||||
REDIS_PORT=6379
|
||||
REDIS_PASSWORD=
|
||||
REDIS_DB=0
|
||||
|
||||
# JWT Configuration
|
||||
JWT_PLAYER_SECRET=player-secret-change-in-production
|
||||
JWT_ADMIN_SECRET=admin-secret-change-in-production
|
||||
JWT_REFRESH_SECRET=refresh-secret-change-in-production
|
||||
JWT_PLAYER_EXPIRES_IN=24h
|
||||
JWT_ADMIN_EXPIRES_IN=8h
|
||||
JWT_REFRESH_EXPIRES_IN=7d
|
||||
JWT_ISSUER=shattered-void-mmo
|
||||
|
||||
# Password Configuration
|
||||
BCRYPT_SALT_ROUNDS=12
|
||||
MIN_PASSWORD_LENGTH=8
|
||||
MAX_PASSWORD_LENGTH=128
|
||||
MIN_USERNAME_LENGTH=3
|
||||
MAX_USERNAME_LENGTH=20
|
||||
|
||||
# Rate Limiting
|
||||
RATE_LIMIT_WINDOW_MS=900000
|
||||
RATE_LIMIT_MAX_REQUESTS=1000
|
||||
DISABLE_RATE_LIMITING=false
|
||||
|
||||
# CORS Configuration
|
||||
CORS_ALLOWED_ORIGINS=http://localhost:3000,http://localhost:3001,http://127.0.0.1:3000,http://127.0.0.1:3001
|
||||
CORS_CREDENTIALS=true
|
||||
CORS_MAX_AGE=86400
|
||||
|
||||
# WebSocket Configuration
|
||||
WEBSOCKET_CORS_ORIGIN=http://localhost:3000,http://localhost:3001
|
||||
WEBSOCKET_PING_TIMEOUT=20000
|
||||
WEBSOCKET_PING_INTERVAL=25000
|
||||
WEBSOCKET_MAX_CONNECTIONS=1000
|
||||
WEBSOCKET_MAX_BUFFER_SIZE=1000000
|
||||
|
||||
# Game Configuration
|
||||
STARTING_RESOURCES_SCRAP=1000
|
||||
STARTING_RESOURCES_ENERGY=500
|
||||
MAX_COLONIES_PER_PLAYER=10
|
||||
ENABLE_GAME_TICK=false
|
||||
|
||||
# Feature Flags
|
||||
ENABLE_ADMIN_ROUTES=true
|
||||
ENABLE_DEBUG_ENDPOINTS=true
|
||||
BLOCK_DISPOSABLE_EMAILS=false
|
||||
|
||||
# Email Configuration (optional)
|
||||
SMTP_HOST=
|
||||
SMTP_PORT=587
|
||||
SMTP_USER=
|
||||
SMTP_PASSWORD=
|
||||
SMTP_FROM=noreply@shattered-void.com
|
||||
|
||||
# Request Configuration
|
||||
REQUEST_SIZE_LIMIT=10mb
|
||||
Loading…
Add table
Add a link
Reference in a new issue