Help needed regarding server pack downloads!

MineOS-node development is speeding along and some of the more pressing features that the web-ui has remaining (but has been put off till late) are profiles.

Profiles weren’t very intuitive (aren’t?) – or at least people didn’t understand them as clearly as I did (as the designer) – and I would like to fix this going forward.

I have a nice system right now where installing a profile should be as simple as identifying a server version from a source, such as 1.8.4 from Mojang Official Jars, and it seems to work out quite nicely.

I’d like to extend this to FTB, Spigot, Sponge, Forge–everything that is out there. The one thing I need, however, is a reliable way to get the URLs that isn’t parsing HTML (so hopefully RSS, txt, etc.).

Here’s what Mojang did: they gave us a tidy JSON file: http://s3.amazonaws.com/Minecraft.Download/versions/versions.json

The pattern is super easy to see in how they constructed their URLs and perhaps other server mods/packs do this as well? If so, please let me know any insights you have on how I can make it so “create profile” is a thing of the past, and this web-ui can be even more straightforward!

Thanks,
Will

2 Likes


This should help with the getting of sponge versions.

Will:

the forums over at http://forum.feed-the-beast.com/ would be your best shot at getting the information you need for FTB.

I tried to figure it out. but it seams it’s past my sleuthing skills. I do know the launcher has this information in it:

by looking at this information it might be something like:
http://ftb.cursecdn.com/modpacks.xml
and
http://ftb.cursecdn.com/thirdparty.xml
but those give me 404’s

AnalyticsBackgroundThread started
FTBLaunch starting up (version 1.4.7 Build: 10407)
OS: Windows 8.1 6.3 (64-bit)
Launcher Install Dir: C:\FTB
System memory: 13137M free, 16279M total
From Console: May 02, 2015 7:29:03 PM java.util.prefs.WindowsPreferences
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(…) returned error code 5.
The FTB Launcher has found the following Java versions installed:
Java Version: 1.8.0_45 sorted as: 1.8.0_45 32 Bit Java at : C:\Program Files (x86)\Java\jre1.8.0_45\bin\java.exe
Java Version: 1.8.0_31 sorted as: 1.8.0_31 64 Bit Java at : C:\PROGRA~1\Java\JDK18~1.0_3\bin\java.exe
Java Version: 1.8.0_45 sorted as: 1.8.0_45 64 Bit Java at : C:\Program Files\Java\jre1.8.0_45\bin\java.exe
Java Version: 1.8.0_45 sorted as: 1.8.0_45 64 Bit Java at : C:\Program Files\Java\jre1.8.0_45\bin\java.exe
Preferred: Java Version: 1.8.0_45 sorted as: 1.8.0_45 64 Bit Java at : C:\Program Files\Java\jre1.8.0_45\bin\java.exe
[i18n] Fallback enUS loaded
[i18n] enUS English (US) language file loaded!
Checking installation location
Balance has selected Automatic:CurseCDN
Using download server Automatic:CurseCDN on host ftb.cursecdn.com (198.41.208.102)
Loading user data
Creating Console window
Reporting daily use
Creating main window
[i18n] Added 0 enUS to options pane
[i18n] Added 1 cyGB to options pane
[i18n] Added 2 daDK to options pane
[i18n] Added 3 deDE to options pane
[i18n] Added 4 enUS to options pane
[i18n] Added 5 enGB to options pane
[i18n] Added 6 esES to options pane
[i18n] Added 7 fiFI to options pane
[i18n] Added 8 frCA to options pane
[i18n] Added 9 frFR to options pane
[i18n] Added 10 itIT to options pane
[i18n] Added 11 nlNL to options pane
[i18n] Added 12 noNO to options pane
[i18n] Added 13 maHU to options pane
[i18n] Added 14 ptBR to options pane
[i18n] Added 15 ptPT to options pane
[i18n] Added 16 ruRU to options pane
[i18n] Added 17 svSE to options pane
[i18n] Added 18 zhCN to options pane
[i18n] enUS English (US) language file loaded!
Local Authlib Version is good, skipping Download
Adding Authlib to Classpath
Setting up Launcher
Downloading pack data
Loading modpack information for modpacks.xml…
Loading modpack information for thirdparty.xml…
Adding FTB Pack: 1 (FTB Infinity 1.7)
Adding FTB Pack: 2 (FTB Trident)
loading map information…
loading texture pack information…
Adding FTB Pack: 3 (Direwolf20)
Adding FTB Pack: 4 (FTB Lite 3)
Adding FTB Pack: 5 (FTB Mage Quest)
Adding FTB Pack: 6 (FTB Resurrection)
Adding FTB Pack: 7 (Monster)
Adding FTB Pack: 8 (Direwolf20)
Adding FTB Pack: 9 (Horizons)
Adding FTB Pack: 10 (Tech World 2)
Adding FTB Pack: 11 (Magic World 2)
Adding FTB Pack: 12 (FTBLite2)
Adding FTB Pack: 13 (FTB Unleashed)
Adding FTB Pack: 14 (FTB Ultimate)
Adding FTB Pack: 15 (Unstable 1.7.x (Public Beta Test Pack))
Adding FTB Pack: 16 (FTB Lite)
Adding FTB Pack: 17 (Direwolf20 1.5 v2)
Adding FTB Pack: 18 (Direwolf20 Pack)
Adding FTB Pack: 19 (MindCrack Pack)
Adding FTB Pack: 20 (YogCraft Modpack)
Adding FTB Pack: 21 (FTB Unhinged)
Adding FTB Pack: 22 (Magic World)
Adding FTB Pack: 23 (Tech World)
Adding FTB Pack: 24 (Pax South 2015 Map)
Adding FTB Pack: 25 (Pax Prime 2014 Map)
Adding FTB Pack: 26 (Pax East 2014 Map)
Adding FTB Pack: 27 (Pax Challenge Pack 2013)
Adding FTB Pack: 28 (Feed The Beast Retro SSP)
Adding FTB Pack: 29 (Feed The Beast Retro SMP)
Adding FTB Pack: 30 (Slow’s Stream Pack)
Adding FTB Pack: 31 (Feed The Beast Beta Pack A)
Adding Third Party Pack: 1 (Pathfinder)
Adding Third Party Pack: 2 (Regrowth)
Adding Third Party Pack: 3 (Blast Off!)
Adding Third Party Pack: 4 (Material Energy^4)
Adding Third Party Pack: 5 (TolkienCraft II)
Adding Third Party Pack: 6 (Running Red 2: Vampire Money)
Adding Third Party Pack: 7 (The Dark Trilogy)
Adding Third Party Pack: 8 (Crash Landing)
Adding Third Party Pack: 9 (Agrarian Skies: Hardcore Quest)
Adding Third Party Pack: 10 (Material Energy^3)
Adding Third Party Pack: 11 (Test Pack Please Ignore)
Adding Third Party Pack: 12 (Running Red)
Adding Third Party Pack: 13 (EPiCCRAFT)
Adding Third Party Pack: 14 (BloodNBones)
Adding Third Party Pack: 15 (Magic Farm 2:Adventures in Technology)
Adding Third Party Pack: 16 (Vanilla Minecraft)
Opening main window
Adding map 1 (FTB Trident Default Map)
Adding map 2 (Agrarian Skies Default Map)
Adding map 3 (Agrarian Skies Flat Map)
Adding map 4 (Agrarian Skies Server Map)
Adding map 5 (Direwolf20 Map Ep.0)
Adding map 6 (FTB Pax Challenge)
Adding map 7 (Direwolf20 Map Ep.0)
Adding map 8 (Direwolf20 Map Ep.10)
Adding map 9 (Direwolf20 Map Ep.20)
Adding map 10 (Direwolf20 Map Ep.30)
Adding map 11 (Direwolf20 Map Ep.40)
Adding map 12 (Direwolf20 Map Ep.50)
Adding map 13 (Direwolf20 Map Ep.80)
Adding map 14 (FTB Normal)
Adding map 15 (FTB Insanity)
Adding texture pack 1 (Soartex Fanver)
Adding texture pack 2 (Jadedcat Mixpack)
Adding texture pack 3 (Invictus)
Adding texture pack 4 (Faithful)
Adding texture pack 5 (JohnSmith Technicians Remix)
Adding texture pack 6 (Familiar yet Different)
Adding texture pack 7 (Love And Tolerance)

FTB
xml location
http://ftb.cursecdn.com/FTB2/static/modpacks.xml

folder structure
http://ftb.cursecdn.com/FTB2/modpacks/FTBInfinity/1_4_1/FTBInfinityServer.zip

This is precisely what I needed. In response to having an externally-updated list as well as the structure of the URL, I was able to implement all the FTB packs into the web-ui. This means that all FTB and official mojang jars now work out of the box with just a simple dropdown.

http://ftb.cursecdn.com/FTB2/static/thirdparty.xml
Will also give you the information on third party packs in the FTB
launcher.
The difference being whether they were developed in-house or are just
being offered up by the launcher.

…and implemented. Things go really smoothly when developers have nice, structured ways of distributing files.

2 Likes

list of sponge downloads
https://repo.spongepowered.org/maven/org/spongepowered/sponge/

actual link
http://repo.spongepowered.org/maven/org/spongepowered/sponge/1.8-1371-2.1DEV-437/sponge-1.8-1371-2.1DEV-437.jar

This one only “kinda” works. I think I’ll leave this one out for now, for two reasons:

  1. it’s still alpha–there’s no stable, which isn’t so much of a problem, but
  2. an admin will have no real good reason to choose anything but the most recent one, I’d venture.

Hopefully by the time they hit a release candidate they’ll also have an xml/rss/json feed to work with, rather than me have to parse the HTML (which is always pretty iffy).

Instead of parsing html, since the repo is in maven, why not just phrase the way the builds are named by the file . It’s really simple, the target version of minecraft is the first identifier in the version string, followed by the forge version (build) then the API version. It’d be trivial to parse.

Better than parsing HTML, here’s the answer I was looking for:

https://repo.spongepowered.org/maven/org/spongepowered/sponge/maven-metadata.xml

However, I actually have no idea how to get this pre-production stuff to work anyway, so it’s probably gonna be left out a bit longer.

The new way to easly install sponge is,

java -jar sponge.jar install

thenn java -jar sponge.jar run

Too many options, too many profiles, and too many opinions… And trust me, I struggled with profiles, so having a nice tidy way to deal with them would be ideal, but where do you draw the line? And how many will I have to sift through to find the 2 which I’m actually interested in as a DIY server host?

For instance, you’ve talked about vanilla, ftb, spigot, sponge… What about ATL Launcher servers? What about glowstone and the numerous bukkit replacements? Now multiply that by the number of versions. And again by the number modpacks… The number of profiles becomes mind boggling. I don’t want to store all that on my intentionally small footprint FreeBSD machine.

Honestly, now that I understand the use of profiles, and especially the unmanaged and archive options, a clearer user guide on how to properly use them would be how I’d address the issue. I tweak almost every single modpack anyway, so would end up not being able to download the packs directly, anyhow.

I draw the line at all of em. Literally all of them I can that don’t require such arbitrary setup and config that it wouldn’t work without a tutorial in the end anyway.

With email, you typically have far more in your inbox than you ever will care to reread. And just like emails, the way to make an unmanageable list manage-able is to have sorting, filtering, and searching, which is what is implemented in the new webui, as well.

Sounds really good, Hex. I’m eager to check it out.

This is the issue associated with us that i am unable to get the full detail of server paid versions, Fix Error code 0X0070002 helped m eto select the server for my scripting language so far.