FoundryVTT (Español)

From ArchWiki

Foundry VTT es un software independiente creada para jugar a juegos de rol de mesa, que usa una aplicación con multitud de funciones, moderna e instalable en un servidor propio, a la que los jugadores se conectan mediante un navegador.

Foundry VTT es software privativo. Se debe adquirir una licencia de pago antes de usar el software.

Estas instrucciones explican una de las formas posibles de instalar Foundry VTT en un sistema Arch Linux. Al final del proceso, el servicio debería ser accesible desde un navegador usando una conexión segura.

Requisitos

Antes de instalar Foundry VTT, deberías tener una instalación que funcione de nginx and Node.js.

Crear directorios para Foundry VTT

En primer lugar, crea estos directorios para instalar el software y sus datos. Puedes crear estos directorios en /home, por ejemplo:

# mkdir -p /home/foundry/{foundryvtt,foundrydata}

Crear un usuario de sistema

Foundry VTT será ejecutado por un usuario de sistema. Primero, crea un usuario de sistema con el nombre foundry o cualquier otro nombre.

# useradd -r -s /usr/bin/nologin foundry

Descargar Foundry VTT

Una vez estés registrado en foundryvtt.com y hayas comprado una licencia, necesitas ir a la sección "Purchased Software Licenses" de tu perfil de foundryvtt.com. Allí verás diferentes paquetes para el software. Necesitas descargar la versión para Node.js.

Puedes ver un pequeño icono de 'cadena' junto a los enlaces de descarga de la página de descarga. Pulsar en este icono de cadena genera un enlace temporal que se puede usar para descargar Foundry VTT desde un terminal usango wget.

Cuando descargues el enlace usando una utilidad de línea de comandos como wget es importante poner el enlace entre comillas dobles. Esto asegura que el enlace sea leído correctamente por el comando. Por ejemplo:

# wget -O foundryvtt.zip "https://tu-enlace-de-descarga-de-foundry-vtt.com-aqui/"

El fichero descargado debe ser descomprimido al directorio foundryvtt que has creado antes. Una vez este directorio tenga su contenido, necesitas establecer los permisos apropiados:

# unzip foundryvtt.zip -d /home/foundry/foundryvtt
# chown -R foundry:foundry /home/foundry/foundryvtt

Ejecutar el software sin un proxy

Ahora puedes comprobar si el software funciona. Ejecuta el servidor con el usuario foundry:

# su - foundry -s /bin/bash -c "node foundryvtt/resources/app/main.js --dataPath=/home/foundry/foundrydata"

Mientras esté en ejecución, deberías poder conectarte al servidor desde un navegador, usando el puerto 30000. Si lo deseas, puedes aprovechar para establecer tu contraseña de admin y tu clave de licencia.

Después, detén el servidor usando Ctrl-c.

Crear un servicio para systemd

Una de las formas de ejecutar el software como demonio es usar Systemd. Puedes crear un servicio sencillo para Foundry VTT:

# nano /etc/systemd/system/foundryvtt.service

Este es un ejemplo de esta unidad de systemd:

[Unit]
Description=Foundry VTT

[Service]
Type=simple
ExecStart=node /home/foundry/foundryvtt/resources/app/main.js --dataPath=/home/foundry/foundrydata
Restart=on-failure
User=foundry

[Install]
WantedBy=multi-user.target

Como se sugiere en las instrucciones de instalación, edita las opciones del software para prepararlo para que acepte conexiones de un servidor proxy:

# nano /home/foundry/foundrydata/Config/options.json

Configura las siguientes opciones, dejando las demás como están:

"hostname": "your.hostname.com",
"routePrefix": null,
"sslCert": null,
"sslKey": null,
"port": 30000,
"proxyPort": 443,
"proxySSL": true

Configurar nginx

Para configurar un servidor proxy con nginx para Foundry VTT puedes usar este ejemplo de la documentación oficial:

# This goes in a file within /etc/nginx/sites-available/. By convention,
# the filename would be either "your.domain.com" or "foundryvtt", but it
# really does not matter as long as it's unique and descriptive for you.

# Define Server
server {

    # Enter your fully qualified domain name or leave blank
    server_name             your.hostname.com;

    # Listen on port 443 using SSL certificates
    listen                  443 ssl;
    ssl_certificate         "/etc/letsencrypt/live/your.hostname.com/fullchain.pem";
    ssl_certificate_key     "/etc/letsencrypt/live/your.hostname.com/privkey.pem";

    # Sets the Max Upload size to 300 MB
    client_max_body_size 300M;

    # Proxy Requests to Foundry VTT
    location / {

        # Set proxy headers
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        # These are important to support WebSockets
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

        # Make sure to set your Foundry VTT port number
        proxy_pass http://localhost:30000;
    }
}

# Optional, but recommend. Redirects all HTTP requests to HTTPS for you
server {
    if ($host = your.hostname.com) {
        return 301 https://$host$request_uri;
    }

    listen 80;
    listen [::]:80;

    server_name your.hostname.com;
    return 404;
}

Puedes conseguir tus certificados usando cerbot.

Ejecutar el servicio

Ahora puedes iniciar y habilitar tanto Foundry VTT como nginx:

# systemctl start foundryvtt
# systemctl enable foundryvtt
# systemctl start nginx
# systemctl enable nginx

En este punto deberías poder acceder a tu servidor desde un navegador usando https, con el puerto 443 por defecto (ejemplo:https://your.hostname.com).