feat: phase 3 redesign, game images, auth system, vm guides, service isolation
Some checks failed
Deploy Multi-VM / Deploy VM Web (push) Has been cancelled
Deploy Multi-VM / Deploy VM Auth (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.fusionfall.yml, VM_FUSIONFALL_HOST, VM_FUSIONFALL_SSH_KEY, VM_FUSIONFALL_USER, fusionfall) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.maple2.yml, VM_MAPLE2_HOST, VM_MAPLE2_SSH_KEY, VM_MAPLE2_USER, maple2) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.minecraft.yml, VM_MINECRAFT_HOST, VM_MINECRAFT_SSH_KEY, VM_MINECRAFT_USER, minecraft) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.retro.yml, VM_RETRO_HOST, VM_RETRO_SSH_KEY, VM_RETRO_USER, retro) (push) Has been cancelled
Some checks failed
Deploy Multi-VM / Deploy VM Web (push) Has been cancelled
Deploy Multi-VM / Deploy VM Auth (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.fusionfall.yml, VM_FUSIONFALL_HOST, VM_FUSIONFALL_SSH_KEY, VM_FUSIONFALL_USER, fusionfall) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.maple2.yml, VM_MAPLE2_HOST, VM_MAPLE2_SSH_KEY, VM_MAPLE2_USER, maple2) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.minecraft.yml, VM_MINECRAFT_HOST, VM_MINECRAFT_SSH_KEY, VM_MINECRAFT_USER, minecraft) (push) Has been cancelled
Deploy Multi-VM / Deploy Game Servers (docker-compose.retro.yml, VM_RETRO_HOST, VM_RETRO_SSH_KEY, VM_RETRO_USER, retro) (push) Has been cancelled
- Redesign all internal pages to warm/gold aesthetic (catalog, game detail, documentary, about, donate, community, guides, contact, server-status, login, profile, admin, not-found) - Add real cover images for all 4 games via Strapi CMS with getImageUrl helper - Integrate NextAuth v5 with Authentik OIDC authentication - Add new public pages: community, guides, contact, server-status - Add new protected pages: login, profile, admin dashboard - Remove legacy AFC/MercadoPago system entirely - Add Docker Compose split files for service isolation (main, auth, fusionfall, nier) - Add OpenFusion VM deployment configs (config.vm.ini, systemd service, README-VM) - Add NieR Reincarnation server guide and desktop client guide - Add architecture docs for multi-VM deployment - Add healthcheck, SSE, contact, newsletter, admin API routes - Add reusable UI components, skeleton loaders, activity feed, bookmark system - Update deployment and game server documentation
This commit is contained in:
184
README.md
184
README.md
@@ -10,58 +10,59 @@ Plataforma de preservacion de videojuegos con documentales interactivos. Servido
|
||||
| **Strapi 5** (CMS) | En linea | 1337 | ~179 MB |
|
||||
| **PostgreSQL 16** | En linea | 5432 | ~57 MB |
|
||||
| **MinIO** (almacenamiento) | En linea | 9000/9001 | ~144 MB |
|
||||
| **OpenFusion** (FusionFall) | En linea | 23000-23001 | ~254 MB |
|
||||
| **Authentik** (SSO) | En linea | 9000 | ~512 MB |
|
||||
| **NieR Reincarnation** | Alpha | 80/443 | ~1 GB |
|
||||
| **Dragon Ball Online** | En configuracion | 22000-22010 | ~2 GB |
|
||||
| **MapleStory 2 - World** | En linea | 21001 | ~126 MB |
|
||||
| **MapleStory 2 - Login** | En linea | 20001 | ~100 MB |
|
||||
| **MapleStory 2 - Web** | En linea | 4000 | ~70 MB |
|
||||
| **MapleStory 2 - Game Ch0** | En linea | 20003/21003 | ~341 MB |
|
||||
| **MapleStory 2 - MySQL** | En linea | 3307 | ~733 MB |
|
||||
| **Minecraft FTB Evolution** | En linea | 25565 | ~3.5 GB |
|
||||
| **SM64 Coop DX** | En linea | 7777/udp | ~45 MB |
|
||||
| **N64 Netplay** (Mario Party) | En linea | 45000-45004 | <1 MB |
|
||||
| **Dolphin Traversal** (GC/Wii) | En linea | 6262/udp, 6226/udp | <10 MB |
|
||||
| **FusionFall** | En linea | 23000-23001 | ~254 MB |
|
||||
|
||||
**Total**: ~6 GB RAM / 40 GB disponibles | 35 GB disco / 96 GB disponibles
|
||||
## Soft Launch — Juegos Disponibles
|
||||
|
||||
## Juegos Preservados
|
||||
### NieR Reincarnation
|
||||
- **Emulador**: [MariesWonderland](https://github.com/BillyCool/MariesWonderland) (C# .NET 10)
|
||||
- **Conexion**: `play.consultoria-as.com:80/443` (HTTP/gRPC HTTP/2)
|
||||
- **Cliente**: APK Android parcheado (via Google Colab)
|
||||
- **Documental**: "El Mundo de las Voces Perdidas" (en produccion)
|
||||
- **Estado**: Alpha — gameplay basico funcional
|
||||
|
||||
### FusionFall (Cartoon Network Universe)
|
||||
- **Emulador**: [OpenFusion](https://github.com/OpenFusionProject/OpenFusion) (C++)
|
||||
- **Conexion**: `play.consultoria-as.com:23000` (o `192.168.10.234:23000` en LAN)
|
||||
- **Cliente**: [FusionFall Retro Client](https://github.com/OpenFusionProject)
|
||||
- **Documental**: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)
|
||||
### Dragon Ball Online
|
||||
- **Emulador**: [DBO Global](https://github.com/dboglobal) (C++ / Windows)
|
||||
- **Conexion**: `play.consultoria-as.com:22000`
|
||||
- **Cliente**: DBO Global Client (Windows)
|
||||
- **Documental**: "La Tierra Sin Goku" (en produccion)
|
||||
- **Estado**: En configuracion — requiere VM Windows
|
||||
|
||||
### MapleStory 2
|
||||
- **Emulador**: [Maple2](https://github.com/MS2Community/Maple2) (C# .NET 8)
|
||||
- **Conexion**: `play.consultoria-as.com:20001` (o `192.168.10.234:20001` en LAN)
|
||||
- **Conexion**: `play.consultoria-as.com:20001`
|
||||
- **Cliente**: MapleStory 2 Global Client + XML Patches
|
||||
- **Documental**: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
|
||||
- **Documental**: "El Mundo Que Construimos Juntos" (7 capitulos)
|
||||
- **Estado**: Online
|
||||
|
||||
### Minecraft: FTB Evolution
|
||||
- **Servidor**: [itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) (Java 21)
|
||||
- **Conexion**: `play.consultoria-as.com:25565` (o `192.168.10.234:25565` en LAN)
|
||||
- **Cliente**: FTB App o launcher compatible con FTB Evolution v1.29.1
|
||||
- **Modpack**: 200+ mods, Minecraft 1.21.1 + NeoForge 21.1.218
|
||||
### FusionFall
|
||||
- **Emulador**: [OpenFusion](https://github.com/OpenFusionProject/OpenFusion) (C++)
|
||||
- **Conexion**: `play.consultoria-as.com:23000`
|
||||
- **Cliente**: FusionFall Retro Client
|
||||
- **Documental**: "El Mundo Que No Queriamos Perder" (7 capitulos)
|
||||
- **Estado**: Online
|
||||
|
||||
### Super Mario 64 Coop
|
||||
- **Servidor**: [sm64coopdx](https://github.com/coop-deluxe/sm64coopdx) (C, headless)
|
||||
- **Conexion**: `play.consultoria-as.com:7777` (o `192.168.10.234:7777` en LAN)
|
||||
- **Cliente**: sm64coopdx (compilado con la misma ROM)
|
||||
- **Jugadores**: Hasta 16, con mods incluidos (star-road, arena, character-select)
|
||||
|
||||
### Mario Party 1-3 (N64 Netplay)
|
||||
- **Servidor**: [gopher64-netplay-server](https://github.com/gopher64/gopher64-netplay-server) (Go)
|
||||
- **Conexion**: `play.consultoria-as.com:45000` (o `192.168.10.234:45000` en LAN)
|
||||
- **Cliente**: [gopher64](https://github.com/gopher64/gopher64) o RMG + ROM de Mario Party
|
||||
- **Jugadores**: 4 por sala, 4 salas concurrentes
|
||||
|
||||
### GameCube / Wii (Dolphin Netplay)
|
||||
- **Servidor**: Dolphin Traversal Server (NAT hole-punching)
|
||||
- **Config en Dolphin**: Traversal Server = `play.consultoria-as.com`, Port = `6262`
|
||||
- **Juegos**: Mario Party 4-7, MKDD, Smash Melee, F-Zero GX, y cualquier juego de GC/Wii
|
||||
|
||||
## Arquitectura
|
||||
|
||||
### Multi-VM (Nueva Arquitectura)
|
||||
|
||||
Cada componente corre en su propia VM para maximizar aislamiento y control:
|
||||
|
||||
| VM | IP Privada | Puertos Públicos | Servicios |
|
||||
|----|-----------|------------------|-----------|
|
||||
| **vm-main** | `10.0.0.10` | `80, 443` | Web + Auth + CMS + PostgreSQL + MinIO + Nginx |
|
||||
| **vm-nier** | `10.0.0.70` | `80, 443` | NieR Reincarnation (MariesWonderland) |
|
||||
| **vm-dbo** | `10.0.0.80` | `22000-22010` | Dragon Ball Online (DBO Global) |
|
||||
| **vm-maple2** | `10.0.0.40` | `20001, 21001, 20003, 21003, 4000` | MapleStory 2 |
|
||||
| **vm-fusionfall** | `10.0.0.30` | `23000, 23001` | OpenFusion Server |
|
||||
|
||||
```
|
||||
project-afterlife/
|
||||
├── apps/
|
||||
@@ -72,15 +73,35 @@ project-afterlife/
|
||||
├── servers/
|
||||
│ ├── openfusion/ # Servidor FusionFall (C++)
|
||||
│ ├── maple2/ # Servidor MapleStory 2 (C# .NET 8)
|
||||
│ ├── sm64coopdx/ # Super Mario 64 Coop (C, headless)
|
||||
│ └── dolphin-traversal/ # Dolphin Traversal Server (C++)
|
||||
│ ├── nier-reincarnation/ # NieR Reincarnation (MariesWonderland .NET 10)
|
||||
│ └── dragonball-online/ # Dragon Ball Online (DBO Global C++)
|
||||
├── services/
|
||||
│ └── afc-bridge/ # Bridge API blockchain (Node.js) — legacy
|
||||
├── blockchain/
|
||||
│ ├── contracts/AfterCoin.sol # Contrato inteligente ERC-20 — legacy
|
||||
│ ├── genesis.json # Config genesis Geth — legacy
|
||||
│ └── Dockerfile # Nodo Geth — legacy
|
||||
├── docker/
|
||||
│ ├── docker-compose.dev.yml # Stack local (web + CMS + juegos)
|
||||
│ ├── docker-compose.maple2.yml # MapleStory 2 (separado)
|
||||
│ ├── docker-compose.yml # Produccion (con Nginx + SSL)
|
||||
│ └── nginx/ # Configuracion Nginx
|
||||
├── docs/ # Documentacion del proyecto
|
||||
└── .github/workflows/ # CI/CD deployment
|
||||
│ ├── docker-compose.main.yml # VM Principal (Web + Auth + CMS)
|
||||
│ ├── docker-compose.nier.yml # VM NieR Reincarnation
|
||||
│ ├── docker-compose.dbo.yml # VM Dragon Ball Online
|
||||
│ ├── docker-compose.fusionfall.yml # VM OpenFusion
|
||||
│ ├── docker-compose.maple2.yml # VM MapleStory 2
|
||||
│ ├── docker-compose.dev.yml # Legacy: stack local completo
|
||||
│ ├── docker-compose.yml # Legacy: produccion monolitica
|
||||
│ ├── docker-compose.web.yml # Legacy: web separado
|
||||
│ ├── docker-compose.auth.yml # Legacy: auth separado
|
||||
│ └── nginx/ # Configuracion Nginx
|
||||
├── scripts/
|
||||
│ └── deploy-vm.sh # Script helper para deploy por VM
|
||||
├── docs/
|
||||
│ ├── architecture.md # Arquitectura tecnica detallada
|
||||
│ ├── architecture-vms.md # Documentacion multi-VM
|
||||
│ ├── game-servers.md # Setup de servidores de juegos
|
||||
│ ├── cms-content.md # Modelo de contenido CMS
|
||||
│ └── deployment.md # Guia de despliegue
|
||||
└── .github/workflows/
|
||||
└── deploy.yml # CI/CD multi-VM
|
||||
```
|
||||
|
||||
### Stack Tecnologico
|
||||
@@ -102,19 +123,55 @@ project-afterlife/
|
||||
|
||||
## Inicio Rapido
|
||||
|
||||
### Requisitos
|
||||
### Instalacion Limpia (Recomendado para Produccion)
|
||||
|
||||
Ver `docs/clean-install.md` para la guia completa paso a paso.
|
||||
|
||||
#### Resumen rapido
|
||||
|
||||
**VM Principal** (Web + Auth + CMS):
|
||||
```bash
|
||||
# 1. Preparar la VM (instala Docker, firewall, genera secrets)
|
||||
./scripts/setup-main.sh
|
||||
|
||||
# 2. Clonar y configurar
|
||||
git clone https://git.consultoria-as.com/consultoria-as/project-afterlife.git /opt/project-afterlife
|
||||
cd /opt/project-afterlife
|
||||
cp docker/.env.example docker/.env
|
||||
# Edita docker/.env con los secrets generados
|
||||
|
||||
# 3. Instalar
|
||||
./scripts/install.sh main
|
||||
```
|
||||
|
||||
**VMs de Juegos** (una por juego):
|
||||
```bash
|
||||
# Preparar VM de juego (ejemplo: NieR)
|
||||
./scripts/setup-game-vm.sh nier
|
||||
|
||||
# Clonar e instalar
|
||||
git clone ... /opt/project-afterlife
|
||||
cd /opt/project-afterlife
|
||||
./scripts/install.sh nier
|
||||
```
|
||||
|
||||
### Stack Local Completo (Desarrollo / Monolito Legacy)
|
||||
|
||||
Para desarrollo local donde todo corre en una sola maquina:
|
||||
|
||||
#### Requisitos
|
||||
- Docker y Docker Compose v2+
|
||||
- 8 GB RAM minimo (16 GB recomendado con todos los servidores)
|
||||
- 50 GB disco libre
|
||||
|
||||
### 1. Clonar y configurar
|
||||
#### 1. Clonar y configurar
|
||||
|
||||
```bash
|
||||
git clone https://git.consultoria-as.com/consultoria-as/project-afterlife.git
|
||||
cd project-afterlife
|
||||
```
|
||||
|
||||
### 2. Crear archivo de entorno
|
||||
#### 2. Crear archivo de entorno
|
||||
|
||||
```bash
|
||||
cp docker/.env.example docker/.env
|
||||
@@ -144,24 +201,27 @@ STRAPI_API_TOKEN=
|
||||
|
||||
# Strapi URL publica
|
||||
PUBLIC_STRAPI_URL=http://localhost:1337
|
||||
|
||||
# OpenFusion
|
||||
OPENFUSION_SHARD_IP=192.168.10.234
|
||||
```
|
||||
|
||||
### 3. Levantar servicios base
|
||||
#### 3. Levantar servicios base
|
||||
|
||||
```bash
|
||||
cd docker
|
||||
|
||||
# Stack principal (CMS + Web + OpenFusion + Minecraft FTB)
|
||||
# Stack principal (CMS + Web)
|
||||
docker compose -f docker-compose.dev.yml up -d
|
||||
|
||||
# NieR Reincarnation (requiere setup previo, ver docs/game-servers.md)
|
||||
docker compose -f docker-compose.nier.yml up -d
|
||||
|
||||
# MapleStory 2 (requiere setup previo, ver docs/game-servers.md)
|
||||
docker compose -f docker-compose.maple2.yml up -d
|
||||
|
||||
# Dragon Ball Online (requiere setup previo, ver docs/game-servers.md)
|
||||
docker compose -f docker-compose.dbo.yml up -d
|
||||
```
|
||||
|
||||
### 4. Setup inicial de Strapi
|
||||
#### 4. Setup inicial de Strapi
|
||||
|
||||
1. Abrir http://localhost:1337/admin
|
||||
2. Crear usuario administrador
|
||||
@@ -169,7 +229,7 @@ docker compose -f docker-compose.maple2.yml up -d
|
||||
4. Tipo: Full access, copiar el token a `STRAPI_API_TOKEN` en `.env`
|
||||
5. Reiniciar el servicio web: `docker compose -f docker-compose.dev.yml restart web`
|
||||
|
||||
### 5. Verificar
|
||||
#### 5. Verificar
|
||||
|
||||
- **Frontend**: http://localhost:3000
|
||||
- **CMS Admin**: http://localhost:1337/admin
|
||||
@@ -196,23 +256,29 @@ docker compose -f docker-compose.maple2.yml up -d
|
||||
| `/es/donate` | Pagina de donaciones |
|
||||
| `/es/games/[slug]` | Pagina individual de juego |
|
||||
| `/es/games/[slug]/documentary` | Documental interactivo |
|
||||
| `/es/login` | Iniciar sesion con Authentik |
|
||||
| `/es/profile` | Perfil de usuario |
|
||||
| `/es/server-status` | Estado de todos los servidores |
|
||||
|
||||
## Contenido en Base de Datos
|
||||
|
||||
### Juegos
|
||||
### Juegos (Soft Launch)
|
||||
| Slug | Titulo | Estado | Documental |
|
||||
|------|--------|--------|------------|
|
||||
| `fusionfall` | FusionFall | Online | 7 capitulos |
|
||||
| `nier-reincarnation` | NieR Reincarnation | Alpha | En produccion |
|
||||
| `dragonball-online` | Dragon Ball Online | En configuracion | En produccion |
|
||||
| `maplestory2` | MapleStory 2 | Online | 7 capitulos |
|
||||
| `minecraft-ftb-evolution` | Minecraft: FTB Evolution | Online | Pendiente |
|
||||
| `fusionfall` | FusionFall | Online | 7 capitulos |
|
||||
|
||||
### Documentales
|
||||
| Juego | Titulo | Capitulos |
|
||||
|-------|--------|-----------|
|
||||
| NieR Reincarnation | "El Mundo de las Voces Perdidas" | En produccion |
|
||||
| Dragon Ball Online | "La Tierra Sin Goku" | En produccion |
|
||||
| FusionFall | "El Mundo Que No Queriamos Perder" | 7 |
|
||||
| MapleStory 2 | "El Mundo Que Construimos Juntos" | 7 |
|
||||
|
||||
Cada documental tiene sus 7 capitulos publicados en ambos idiomas (ES/EN).
|
||||
Cada documental publicado tiene sus capitulos disponibles en ambos idiomas (ES/EN).
|
||||
|
||||
## Licencia
|
||||
|
||||
|
||||
Reference in New Issue
Block a user