Foundry Virtual Tabletop isnt displaying the EULA

OS Name/Version: Ubuntu

Product Name/Version: Decadeus

Problem Description: I just installed the VTT standalone for my son to host from the Foundry template. Following the I have the NodeJS instance running, port open (verified) and forwarded. I’m able to get to the initial license screen to paste in the key, but as soon as I do and press enter, I dont get the EULA acceptance page. The logs state the Signature is required. I looked into the license.json and saw that its not updated.

I reached out to the Foundry VTT team and they say they wont help because it’s not a native NodeJS install.

22:56:53

FoundryVTT | 2023-11-13 04:56:53 | [info] Running on Node.js - Version 18.16.0
FoundryVTT | 2023-11-13 04:56:53 | [info] Foundry Virtual Tabletop - Version 11 Build 315
FoundryVTT | 2023-11-13 04:56:53 | [info] User Data Directory - "/home/amp/.ampdata/instances/FoundryVTT01/foundry-vtt/data"
FoundryVTT | 2023-11-13 04:56:53 | [info] Application Options:
{
"compressStatic": true,
"fullscreen": false,
"hostname": null,
"language": "en.core",
"localHostname": null,
"port": 30000,
"protocol": null,
"proxyPort": null,
"proxySSL": true,
"routePrefix": null,
"updateChannel": "stable",
"upnp": false,
"upnpLeaseDuration": null,
"awsConfig": null,
"compressSocket": true,
"cssTheme": "foundry",
"deleteNEDB": false,
"hotReload": false,
"passwordSalt": null,
"sslCert": null,
"sslKey": null,
"world": null,
"serviceConfig": null,
"adminPassword": null,
"noBackups": false
}
FoundryVTT | 2023-11-13 04:56:53 | [warn] Software license requires signature.
FoundryVTT | 2023-11-13 04:56:53 | [info] Server started and listening on port 30000

22:57:10

FoundryVTT | 2023-11-13 04:57:10 | [info] Created client session dc67fdffd4bce5dcfa215d58

Actions taken to resolve so far: Not sure where to begin. I haven’t had any issues with setting up the Minecraft instances and having them accessible from outside the network using a reverse proxy. I’m looking at the page content and the setup.js is accessible, but doesn’t seem to be getting called. Could it be a websocket issue? reverse proxy?

Is this signing/EULA requirement new? I don’t recall this being an issue when the template was created. Does it have to be done every time you create a server or is it a once-off thing?

The generic module doesn’t have the ability to capture external pop ups or the like (its headless after all) unless the server itself - like Project Zomboid - prompts in the console.

The Minecraft module is a coded proprietary module that specifically addresses the EULA requirement for that server.

If you run the server outside AMP, how does it prompt for the licence / EULA signing?

I installed FVTT outside of AMP and it looks like its running normally outside of the container.

I couldn’t add multiple images, so here’s an Imgur gallery.

The EULA signing is part of the install process and is only done once and saved in the $home/foundrydata/Config/license.json file that is created on first run. If the json file is removed, you’ll have to go through the license process again. The EULA is not really a popup, but a popout dialog from an imported javascript file.

Right, now I follow - you do it through the FVTT web UI, not on the command line or whatever.

Tbh, I don’t have a licence but another user gave me temporary server download links from his account so I could set up the template. I didn’t do the licence/EULA bit, but the other user never said there was an issue with getting it running. I would have heard if there was.

I do note in the top screenshots you are accessing over localhost but in the bottom screenshot you are using https and domain. Perhaps something to do with your reverse proxy? Have you tried accessing the AMP FVTT server over http?

One thing I didnt try was sending the reverse proxy to my laptop.

I confirmed the FVTT is running on localhost. Then went into the reverse proxy, changed the IP to the laptop. Same issue. I even shutdown the service to make sure the reverse proxy was pointing to the right location and indeed it was.

Well then…

Within AMP → Instance → Status there is a Connect to server button. Clicking on that, it tells me to connect www.domain.tld:30000. I did, and was successful.

Im not a fan of sending credentials over HTTP. How do I change it up so that it uses the subdomain AND ssl? Isnt that what a reverse proxy is for?

That’s more a question for FVTT, tbh. Nothing really to do with AMP. There may be certain nginx config options that are needed to ensure the popup is not blocked.

I assume your browser is not getting in the way when accessing over https?

I couldn’t reply or edit. But everything in AMP and my reverse proxy were fine. The issue ended up being the options.json

After I added the hostname, localhostname, and the route prefix, it segregated the player links from the hosts admin link. I was able to use a natural domain over SSL without players using a port either.

Thanks for the help and ideas. More help than FVVT gave me.