feat: add external access via Cloudflare DDNS
Some checks failed
Deploy / deploy (push) Has been cancelled

Add cloudflare-ddns container for automatic DNS updates, update game
server connection strings to use play.consultoria-as.com, and document
port forwarding and external access setup.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
consultoria-as
2026-02-25 22:14:22 +00:00
parent 81e978947e
commit e65260c69b
4 changed files with 75 additions and 4 deletions

View File

@@ -24,19 +24,19 @@ Plataforma de preservacion de videojuegos con documentales interactivos. Servido
### FusionFall (Cartoon Network Universe)
- **Emulador**: [OpenFusion](https://github.com/OpenFusionProject/OpenFusion) (C++)
- **Conexion**: `192.168.10.234:23000`
- **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)
### MapleStory 2
- **Emulador**: [Maple2](https://github.com/MS2Community/Maple2) (C# .NET 8)
- **Conexion**: `192.168.10.234:20001` (Login Server)
- **Conexion**: `play.consultoria-as.com:20001` (o `192.168.10.234:20001` en LAN)
- **Cliente**: MapleStory 2 Global Client + XML Patches
- **Documental**: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
### Minecraft: FTB Evolution
- **Servidor**: [itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) (Java 21)
- **Conexion**: `192.168.10.234:25565`
- **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

View File

@@ -17,3 +17,10 @@ MINIO_ROOT_PASSWORD=change_me_in_production
# Public URL (for frontend image/media URLs)
PUBLIC_STRAPI_URL=http://yourdomain.com
# Public hostname for game servers (DDNS)
PUBLIC_HOST=play.yourdomain.com
# Cloudflare API Token (create at https://dash.cloudflare.com/profile/api-tokens)
# Permissions needed: Zone > DNS > Edit
CF_API_TOKEN=your_cloudflare_api_token

View File

@@ -67,13 +67,22 @@ services:
ports:
- "3000:3000"
cloudflare-ddns:
image: favonia/cloudflare-ddns:latest
restart: unless-stopped
environment:
CF_API_TOKEN: ${CF_API_TOKEN}
DOMAINS: ${PUBLIC_HOST:-play.consultoria-as.com}
PROXIED: "false"
IP6_PROVIDER: none
openfusion:
build:
context: ../servers/openfusion
dockerfile: Dockerfile
restart: unless-stopped
environment:
SHARD_IP: ${OPENFUSION_SHARD_IP:-192.168.10.234}
SHARD_IP: ${PUBLIC_HOST:-192.168.10.234}
MOTD: ${OPENFUSION_MOTD:-Bienvenido a Project Afterlife - FusionFall Academy}
ports:
- "23000:23000"

View File

@@ -47,6 +47,61 @@ docker ps
| 4000 | MapleStory 2 Web |
| 25565 | Minecraft FTB Evolution |
## Acceso Externo (fuera de la red local)
### Requisitos
- Router con acceso al panel de administracion
- Dominio en Cloudflare (consultoria-as.com)
- Token de API de Cloudflare con permisos Zone > DNS > Edit
### 1. Crear token de Cloudflare
1. Ir a https://dash.cloudflare.com/profile/api-tokens
2. Create Token > Edit zone DNS (template)
3. Zone Resources: Include > Specific zone > consultoria-as.com
4. Copiar el token generado a `CF_API_TOKEN` en `docker/.env`
### 2. Configurar variables
En `docker/.env`:
```env
PUBLIC_HOST=play.consultoria-as.com
CF_API_TOKEN=tu-token-aqui
```
En `servers/maple2/.env`:
```env
GAME_IP=play.consultoria-as.com
LOGIN_IP=play.consultoria-as.com
```
### 3. Port forwarding en el router
Abrir estos puertos TCP en el router, apuntando a la IP local del servidor (192.168.10.234):
| Puerto | Servicio | Protocolo |
|--------|----------|-----------|
| 23000 | OpenFusion (login) | TCP |
| 23001 | OpenFusion (shard) | TCP |
| 20001 | MapleStory 2 (login) | TCP |
| 20002 | MapleStory 2 (game) | TCP |
| 25565 | Minecraft FTB Evolution | TCP |
**No forwardear**: PostgreSQL (5432), MinIO (9000/9001), Strapi (1337), Next.js (3000), MySQL (3307). Estos son servicios internos.
### 4. Levantar servicios
```bash
cd docker
docker compose -f docker-compose.dev.yml up -d
docker compose -f docker-compose.maple2.yml up -d
```
El contenedor `cloudflare-ddns` actualizara automaticamente el registro DNS `play.consultoria-as.com` con tu IP publica cada 5 minutos.
### 5. Conexion desde fuera
| Juego | Direccion |
|-------|-----------|
| Minecraft FTB Evolution | `play.consultoria-as.com:25565` |
| OpenFusion (FusionFall) | `play.consultoria-as.com:23000` |
| MapleStory 2 | `play.consultoria-as.com:20001` |
### Detener servicios
```bash
docker compose -f docker-compose.dev.yml down