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)
|
||||
- **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
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user