feat: add external access via Cloudflare DDNS
Some checks failed
Deploy / deploy (push) Has been cancelled
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:
@@ -24,19 +24,19 @@ Plataforma de preservacion de videojuegos con documentales interactivos. Servido
|
|||||||
|
|
||||||
### FusionFall (Cartoon Network Universe)
|
### FusionFall (Cartoon Network Universe)
|
||||||
- **Emulador**: [OpenFusion](https://github.com/OpenFusionProject/OpenFusion) (C++)
|
- **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)
|
- **Cliente**: [FusionFall Retro Client](https://github.com/OpenFusionProject)
|
||||||
- **Documental**: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)
|
- **Documental**: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)
|
||||||
|
|
||||||
### MapleStory 2
|
### MapleStory 2
|
||||||
- **Emulador**: [Maple2](https://github.com/MS2Community/Maple2) (C# .NET 8)
|
- **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
|
- **Cliente**: MapleStory 2 Global Client + XML Patches
|
||||||
- **Documental**: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
|
- **Documental**: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
|
||||||
|
|
||||||
### Minecraft: FTB Evolution
|
### Minecraft: FTB Evolution
|
||||||
- **Servidor**: [itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) (Java 21)
|
- **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
|
- **Cliente**: FTB App o launcher compatible con FTB Evolution v1.29.1
|
||||||
- **Modpack**: 200+ mods, Minecraft 1.21.1 + NeoForge 21.1.218
|
- **Modpack**: 200+ mods, Minecraft 1.21.1 + NeoForge 21.1.218
|
||||||
|
|
||||||
|
|||||||
@@ -17,3 +17,10 @@ MINIO_ROOT_PASSWORD=change_me_in_production
|
|||||||
|
|
||||||
# Public URL (for frontend image/media URLs)
|
# Public URL (for frontend image/media URLs)
|
||||||
PUBLIC_STRAPI_URL=http://yourdomain.com
|
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
|
||||||
|
|||||||
@@ -67,13 +67,22 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "3000:3000"
|
- "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:
|
openfusion:
|
||||||
build:
|
build:
|
||||||
context: ../servers/openfusion
|
context: ../servers/openfusion
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
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}
|
MOTD: ${OPENFUSION_MOTD:-Bienvenido a Project Afterlife - FusionFall Academy}
|
||||||
ports:
|
ports:
|
||||||
- "23000:23000"
|
- "23000:23000"
|
||||||
|
|||||||
@@ -47,6 +47,61 @@ docker ps
|
|||||||
| 4000 | MapleStory 2 Web |
|
| 4000 | MapleStory 2 Web |
|
||||||
| 25565 | Minecraft FTB Evolution |
|
| 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
|
### Detener servicios
|
||||||
```bash
|
```bash
|
||||||
docker compose -f docker-compose.dev.yml down
|
docker compose -f docker-compose.dev.yml down
|
||||||
|
|||||||
Reference in New Issue
Block a user