PDA

View Full Version : Inefficient handling of downloads of 5e official modules to players machines



bluedreamer
May 10th, 2017, 04:38
Another game session ruined because it takes players HOURS to download the PHB etc from my server. 2 1/2 hours waiting for the last two players to connect.

All the players are the same as my other campaigns but, but starting a new campaign means the players have to download all the content they already downloaded which seems a waste of time. Then the download seems massively inefficient, because it takes so long - what is the size of the GM to player downloads for:

DD PHB Deluxe
Sword Coast - Players guide
Elemental Evil - Players guide
Volo's - Players guide


Are they really that large that its taking long periods of time to send them.

There does appear to be one tiny optimization, that if a person has bought the book then it appears the download doesn't happen.

Are non shared books sent to clients? ie DMG and MM

Why isn't this on a CDN? I know it costs money for one, but maybe Wizards would host it? As it makes their content look bad.

What about a torrent/peer to peer setup for everyone connected to the server.

What about having a server version of FG that the GM can also remote connect to so I could serve it from my dedicated linux host in a datacenter?

Actually is there even a way I can temporarily start FG on my datacenter host, let everyone connect and use a decent internet connection, then shut it down and start FG on my home machine once the players have all the books for the campaign.

What does FG do to decide if a player needs to download something and what does it key the caching of the data from? It has to be some mix of the campaign name at very least, as new campaigns require new downloads.

Also what sort of updates cause cache invalidation and the players have to download everything yet again.

Is anything being done about the networking portion of FG or is everyone expected to have a good internet connection, which is near on impossible in rural America now, since the telco's don't give a flying ***k


Adrian Cornish

Trenloe
May 10th, 2017, 04:50
...

Is anything being done about the networking portion of FG...

...
Yes. The re-write on the Unity architecture will improve networking.

Fantasy Grounds in it's current form is a single threaded application with inefficient network libraries. Issues are especially seen if players connect activate modules at the same time. and also if GM or players are on WiFi connections as even a few dropped packets can cause disproportionate increases in download times - which can make an average internet connection appear really slow as far as Fantasy Grounds is concerned.

The good news is that all of the downloaded data is cached locally for each player, so you should only have to go through this pain once. Ask players to, one-by-one, connect and activate their modules. If you can, get the players to do this outside of the session.


Actually is there even a way I can temporarily start FG on my datacenter host, let everyone connect and use a decent internet connection, then shut it down and start FG on my home machine once the players have all the books for the campaign.
The player cache uses the campaign name, so as long as you kept the FG campaign name the same, then you could do this.

bluedreamer
May 10th, 2017, 04:58
Yes. The re-write on the Unity architecture will improve networking.

Great looking forward to Unity for other reasons too.


The player cache uses the campaign name, so as long as you kept the FG campaign name the same, then you could do this.

Nice, this sounds like a good option. Is there a reference for CLI options so I can start this on my host from the command line, which would be easier then some VNC session. The only one I know about is the -p for the listening port.

Trenloe
May 10th, 2017, 05:08
You'll need access to the GUI to select and start the right campaign. You can't use command line arguments to do this.

Nylanfs
May 10th, 2017, 12:24
You could also start FG on a second local machine, create the cache on that machine and send that to the players ahead of time. Alternately you can start up FG a couple of hours early or the day before and tell the players to connect when they can.

bluedreamer
May 10th, 2017, 14:39
You could also start FG on a second local machine, create the cache on that machine and send that to the players ahead of time.
That doesn't appear to save much and causes more problems, much easier to spin up FG on a machine with 100Mb internet connection.


Alternately you can start up FG a couple of hours early or the day before and tell the players to connect when they can.

Oh I did that - it was up an entire week before hand, but players are player :-)

bluedreamer
May 10th, 2017, 14:42
You'll need access to the GUI to select and start the right campaign. You can't use command line arguments to do this.

Ok thanks, VNC it is then.

Does anyone know the sizes though, how big could they be?

Trenloe
May 10th, 2017, 14:58
Does anyone know the sizes though, how big could they be?
Look in the <FG app data>\vault directory for the files. The product code used is listed at the bottom of the store page for each product. For example, the Core Class Pack is WOTC5EPHBDELUXE.

damned
May 10th, 2017, 14:58
Are you using Wireless?
It really does make a difference on teh GM machine on session 1.

bluedreamer
May 10th, 2017, 15:07
Look in the <FG app data>\vault directory for the files. The product code used is listed at the bottom of the store page for each product. For example, the Core Class Pack is WOTC5EPHBDELUXE.

Thanks Trenloe.

I assume books that are not shared with the players don't go over the wire, just looking Yawning portal is 136Mb, which was supposed to be the game last night, looks like PHB, SCAG and Volo's are 300Mb alone - including players guides for EE probably downloads all of that on top as well.

bluedreamer
May 10th, 2017, 15:09
Are you using Wireless?
It really does make a difference on teh GM machine on session 1.

No, its all on gigbit cat 6 until I get to my crappy internet connection up in the mountain of Colorado :-) - 1.5Mb/750 on the best days. You'd think packets would travel faster down hill

AlphaDecay
May 10th, 2017, 16:08
I have been running into issues with networks related stuff also. For example, random encounter, I pull up the map and share it then some people get dropped from the session. It can even cascade and drop everyone. It's almost like it just saturates my upload and kills my internet - give it a second and it reconnects but then I have to have player reconnect which can take time too. I probably blow 20-40 minutes per 3 hour session on connection related issues. My internet is 20Mbit/2Mbit and being out in Montana that is as good as it is going to get (DSL fiber to the node). I wish there was a external server option we all connect to, or a way to throttle uploading to players.

Trenloe
May 10th, 2017, 16:41
I pull up the map and share it then some people get dropped from the session.
How big (file size) are the images you're sharing?

AlphaDecay
May 10th, 2017, 17:18
Well they can be a variety of sizes depending on the circumstances (500KB-2MB-ish). I'm aware of the recommendation for images, I definitely pre-load anything that is big, and I know that I haven't gone through all of my over 100 random encounter maps to verify resolution and file size. Understanding the limitations of the current client, its tough to have something that has the capability to provide high quality maps and such, but be forced to 10 pixels per foot and a 60% JPG compression. So I've just accepted my fate and deal with the connection issues to be honest as a large part of running games for me is the presentation. It's just no fun to spend hours in Campaign Cartographer making an inn and then turning everything into a blob of pixels.

If it could monitor who is connected and hand out the data one at a time with a per connection upload bandwidth limit, it would be great. Even with a 500KB file, when sharing that to 6 people, that is 24Mbit (4Mbit per person) - what it appears to do is push it out all at once saturating my 2Mbit connection and rather than just taking the 12 seconds one would expect, some get dropped from the game and my Discord chat loses connection and I'm forced to use my cellphone on Discord to re-connect them one at a time. I've got an expensive high quality router with hardware NAT and all that, but I'm just not sure what to do to make the experience better for my players. I've debated on turning on QoS though for the app though to see if I can keep Discord up and all that while people are downloading/reconnecting.

Trenloe
May 10th, 2017, 17:32
I've debated on turning on QoS though for the app though to see if I can keep Discord up and all that while people are downloading/reconnecting.
Yep, if you're getting link saturation then looking into QoS is a good step.

bluedreamer
May 14th, 2017, 06:05
After testing the vault directory is copied not the cache to the client - so I am going to try dropboxing that for players

Moon Wizard
May 14th, 2017, 06:57
The vault directory won't be accessible by clients, only the cache directory.

JPG