Launcher Suggestions

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord
Status
Not open for further replies.

Jason Betts

New Member
Jul 29, 2019
27
0
0
Some launcher suggestions that may be worth considering.

1) Build in a bittorrent client for the distribution of the mod pack files, or package launcher with mod pack through a torrent. This will ease the bandwidth demands of what I guess is at least 120GB in the last week by distributing it to the end users a bit while they are playing the game. Cap transfer so as to not interfere with game.
2) Use rsync methods when updating the modpack / individual mods so the only information that is transferred is the changed bits of the archive files (99.99% of subsequent mod releases are the exact same data, bit-wise).
3) interface feedback to let the end user know what is happening (think WOW launcher), watch logs can be cryptic.
4) Change log for new releases of the client either in the news tab or somewhere easily accessible.

Some additional items to decrease effect of launcher issues:
Rather then what seems like an intense interaction with the server every time you run the client (or game crashes), and the launcher seizing if the server is having issues, simplify the checks to a single hash check or version check.

Even better is to key the version of each of the mods/MC jar and check against a local config that keeps this data handy. But if the server is having any issues, just have the launcher lean on the local config file for the last known good compilations installed. I recognize, and currently lean on "other" launchers that load the FTB mod pack from your install folders, but the FTB launchers stated purpose is to make the mods easier on the end users, and my friends/users fail as soon as the instructions pass the first step of "double click shortcut".

The launcher could then check installed mod versions against "approved" versions and load/update individual mods as necessary (Rather then re-download 18MB because a config file was changed to make mod XYZ not ABC etc).

Thanks for all the work on the mod pack and launcher, its appreciated! Now if I could just get client crashes from bugging my water pumps, my shit won't blow up nearly as much! :)
 

Punny Bunny

New Member
Jul 29, 2019
72
0
0
Moving this to an appropriate forum (this section's dedicated to problematic issues, though we always appreciate suggestions!).

The difficulty here is that the launcher points to an .xml to grab the correct mods, so I don't believe a torrent would work correctly.

As far as rsync goes, I'm not sure how easily that can be done with 40+ mods, but it'd be something to keep in mind.

I agree that logs can be difficult to interpret. The launcher is still being developed, but it'd be awesome to have a more user-friendly approach down the line.

Change log will be more accessible Soon(tm), promise!
 

Jason Betts

New Member
Jul 29, 2019
27
0
0
Hello Punny!

XML is great, same great taste just a different format. But possibly the XML file is hosted at the same location as the mod pack downloads themselves. So when the server is slammed with say 4-8K people downloading the pack, the XML files get lost in the meltdown. If the XML file could be grabbed despite a dragging modpack download server, and the launcher function to at least run the game even if it can't get the updated modpack the end-users win.

If this is the case, a quick and easy fix is to host the XML and main download on different servers/hosts, even set up mirrors for the xml files to ensure the launcher can always find it (and when it can't just have it give up and load the locally installed mod packs (Identified by a local XML) instead of version checking at all). and because the xml file is relatively small bandwidth could be minimized through these sources.
 

Punny Bunny

New Member
Jul 29, 2019
72
0
0
While I think having the XML file on a separate server will run into the same issues (server overload), the mirrors idea could work. The only issue I see in that case would be the difficulty of pushing the correct XML updates to all mirrors...you don't want different folks downloading different modpacks, eh? ;)
 

Jason Betts

New Member
Jul 29, 2019
27
0
0
One last thing (I promise).

Another stopgap to limit bandwidth if its not already being done is to limit the update check to once a day or hour or X-time, so each launcher is only checking for an update infrequently. This again will help manage bandwidth usage. Yes XML file is small, but if its requested every time the launcher is opened, then this exponentially increases bandwidth on the servers.
 

Punny Bunny

New Member
Jul 29, 2019
72
0
0
The danger there would be how long the check limit is...peeps will be furious if they're unable to download a modpack everyone else can access. Easily fixed with a "check for updates" manual button, though. =)
 

devpunk

New Member
Jul 29, 2019
2
0
0
Made an account, just to post here.

As for the XML file, if you were to switch to a P2P filesharing system (like a torrent network), the need for an XML file would be eliminated, and each node would simply update to match the others, when the "master" node updates, the rest will follow. This system would also allow for more "master" nodes (3rd Party MPs) to be added, without adding a drastic amount of traffic to the FTB server. I would create my own P2P protocol for a project like this, for security and as a learning experience, but the easier solution would be to use the BitTorrent Protocol. Here are a few links if devs are intrested.

Java BitTorrent Protocol Library: Ttorrent (http://turn.github.com/ttorrent/)
Light-weight BitTorrent Tracker Server Software: opentracker (http://erdgeist.org/arts/software/opentracker/)
 

Paul_T

New Member
Jul 29, 2019
21
0
0
1) Build in a bittorrent client for the distribution of the mod pack files, or package launcher with mod pack through a torrent. This will ease the bandwidth demands of what I guess is at least 120GB in the last week by distributing it to the end users a bit while they are playing the game. Cap transfer so as to not interfere with game.
I feel the need, just for informational purposes to correct this, it's closer to 27TB in the past week, not 120GB... This has been improved upon by working on the caching engines and adding load balancing and extra servers to the cluster.

Many ISP's around the world are beginning to throttle/shape P2P traffic (Which is annoying), hence why it still seems best placed to use HTTP where possible in my opinion, but it's absolutely nothing to do with me really.
 

audrius

New Member
Jul 29, 2019
1
0
0
So I also created acc with purpose to post on this thread.

As devpunk said there is really nice way to solve this.

Also if you are afraid that P2P is throttled in some areas, there is solution for this: make update method chooser in settings [p2p or static server]... I can't say exactly but I saw this in some popular game. This not only reduce hosting costs but also some end users will benefit greatly. As example I can say that torrent speed in my country ~8MB/s however from foreign countres <1.2MB/s I think users would feel difference :)

2 small questions/remarks not completely related to this thread:
1) It was quite hard to find that FTB is open source, I even not talking about source repository finding :)
2) Have you considered using real bug tracker instead messy forum section? Of course having forum subsection is much easier to setup and users can just come and drop their thoughts/cries/etc. However from development side this is horrible. Maybe some outsiders devs would come and join more easily.
 
Status
Not open for further replies.