Files
project-afterlife/README.md
consultoria-as e4404b209d
Some checks failed
Deploy / deploy (push) Has been cancelled
docs: add comprehensive project documentation
- README.md: project overview, server status, quick start guide,
  architecture diagram, tech stack, and content inventory
- docs/architecture.md: technical architecture, service diagram,
  component details, and design decisions
- docs/game-servers.md: setup and operation guide for OpenFusion,
  MapleStory 2, and Minecraft FTB Infinity Evolved
- docs/cms-content.md: Strapi content model, i18n strategy,
  documentary structure, and API endpoints
- docs/deployment.md: local dev, production deploy, CI/CD,
  SSL setup, backup procedures, and monitoring

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 12:23:53 +00:00

6.6 KiB

Project Afterlife

Plataforma de preservacion de videojuegos con documentales interactivos. Servidores privados de juegos que ya no existen, acompanados de documentales narrativos que cuentan su historia.

Estado Actual

Servicio Estado Puerto RAM
Next.js 15 (frontend) En linea 3000 ~111 MB
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
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 20002/21002 ~341 MB
MapleStory 2 - MySQL En linea 3307 ~733 MB
Minecraft FTB Infinity En linea 25565 ~3.5 GB

Total: ~5.6 GB RAM / 40 GB disponibles | 31 GB disco / 96 GB disponibles

Juegos Preservados

FusionFall (Cartoon Network Universe)

  • Emulador: OpenFusion (C++)
  • Conexion: 192.168.10.234:23000
  • Cliente: FusionFall Retro Client
  • Documental: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)

MapleStory 2

  • Emulador: Maple2 (C# .NET 8)
  • Conexion: 192.168.10.234:20001 (Login Server)
  • Cliente: MapleStory 2 Global Client + XML Patches
  • Documental: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)

Minecraft: FTB Infinity Evolved

  • Servidor: itzg/minecraft-server (Java 8)
  • Conexion: 192.168.10.234:25565
  • Cliente: FTB App o launcher compatible con FTB Infinity Evolved v3.1.0
  • Modpack: 175+ mods, Minecraft 1.7.10 + Forge 10.13.4.1614

Arquitectura

project-afterlife/
├── apps/
│   ├── cms/                    # Strapi 5 CMS (React 18)
│   └── web/                    # Next.js 15 frontend (React 19)
├── packages/
│   └── shared/                 # Tipos TypeScript compartidos
├── servers/
│   ├── openfusion/             # Servidor FusionFall (C++)
│   └── maple2/                 # Servidor MapleStory 2 (C# .NET 8)
├── 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

Stack Tecnologico

Componente Tecnologia Version
Frontend Next.js + TypeScript 15.x
UI Tailwind CSS v4
i18n next-intl 4.8.3
CMS Strapi 5.36.0
Base de datos (CMS) PostgreSQL 16
Base de datos (MS2) MySQL 8.0
Almacenamiento MinIO (S3) Latest
Audio Howler.js 2.2.4
Animaciones Framer Motion 12.x
Monorepo npm workspaces + Turborepo -
CI/CD GitHub Actions -
Reverse Proxy Nginx Alpine

Inicio Rapido

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

git clone https://git.consultoria-as.com/consultoria-as/project-afterlife.git
cd project-afterlife

2. Crear archivo de entorno

cp docker/.env.example docker/.env
# Editar docker/.env con las claves necesarias

Variables requeridas en docker/.env:

# Base de datos
DATABASE_NAME=afterlife
DATABASE_USERNAME=afterlife
DATABASE_PASSWORD=afterlife

# MinIO
MINIO_ROOT_USER=afterlife
MINIO_ROOT_PASSWORD=afterlife123

# Strapi (generar con openssl rand -base64 32)
APP_KEYS=
API_TOKEN_SALT=
ADMIN_JWT_SECRET=
TRANSFER_TOKEN_SALT=
JWT_SECRET=

# API Token (crear en Strapi Admin > Settings > API Tokens)
STRAPI_API_TOKEN=

# Strapi URL publica
PUBLIC_STRAPI_URL=http://localhost:1337

# OpenFusion
OPENFUSION_SHARD_IP=192.168.10.234

3. Levantar servicios base

cd docker

# Stack principal (CMS + Web + OpenFusion + Minecraft FTB)
docker compose -f docker-compose.dev.yml up -d

# MapleStory 2 (requiere setup previo, ver docs/game-servers.md)
docker compose -f docker-compose.maple2.yml up -d

4. Setup inicial de Strapi

  1. Abrir http://localhost:1337/admin
  2. Crear usuario administrador
  3. Ir a Settings > API Tokens > Create new API Token
  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

Documentacion Completa

Documento Descripcion
README.md Este archivo — vision general y estado
docs/architecture.md Arquitectura tecnica detallada
docs/game-servers.md Setup y operacion de servidores de juegos
docs/cms-content.md Modelo de contenido CMS y documentales
docs/deployment.md Guia de despliegue a produccion
docs/plans/ Documentos de diseno e implementacion

Rutas de la Web

Ruta Descripcion
/es o /en Pagina principal con hero y ultimos juegos
/es/catalog Catalogo de juegos con filtros
/es/about Sobre el proyecto
/es/donate Pagina de donaciones
/es/games/[slug] Pagina individual de juego
/es/games/[slug]/documentary Documental interactivo

Contenido en Base de Datos

Juegos

Slug Titulo Estado Documental
fusionfall FusionFall Online 7 capitulos
maplestory2 MapleStory 2 Online 7 capitulos
minecraft-ftb-infinity Minecraft: FTB Infinity Evolved Online Pendiente

Documentales

Juego Titulo Capitulos
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).

Licencia

Proyecto privado. Todos los derechos reservados. Los emuladores de juegos utilizados son proyectos open-source independientes con sus propias licencias.