Jump to content

Modpack Helper | Pack modpacks | Check permissions | Upload to web | Update Solder Automatically


Zlepper

Recommended Posts

A little background story first:
I have been hosting packs and servers for the last few years. A few years ago Technic added support for allowing us to host custom modpacks. This was  awesome and I went ahead almost the moment it happened. This was still the time of big and heavy zip files.
Then came along Solder. Solder helped us destributing files one at a time.
It took me almost a year to get it working from when I started attempting to use it. I did however get it working, back in June I think it was.
All was well, though I quite quickly discovered that packing files for Solder was quite the hasle.
So being the enormous lazy guy I am I sat down one Tuesday and made a script that could pack all the files for me.
Nice i thought, the only problem was that I had to enter modname, modversion and minecraft version for each and every mod... And having a 150 files modpack that certainly wasn't boring :irony:
So I had what the h**k and turned it into an actual program, that could figure out most of the important stuff like name, version and mcversion.
Since then I added quite a few extra things I thought was necesarry, like only packing updated mods, checking permissions, including forge and configs.
So enough with the story:
 
Solder Helper
The result of all this is something I thought others could make use of, so that's why I decided to share it with you guys here, since i'm likely not the only one who has been pretty bored with updating.
 
Core features:

  • Create packs for either Solder or just normal zip packs.
  • Create FTB Packs and get permission lists
  • Include any forge version you wishes, just choose from the application.
  • Include configs
  • Check permissions if you wishes so (Highly encouraged) Both private and public.
  • Get permission list in a nice text format
  • Get a list nice and simple list of all packed mods
  • Runs on both Linux and Windows
  • Get modlist
  • Include unarchieved mods
  • Include stuff like the script folder from Minetweaker
  • Automatically upload Solder Files to an FTP host
  • Automatically update your modpacks on your solder install
  • Automatically upload Solder Files to Amazon S3 services

With all the improvement it's shouldn't take more than a minute to pack all your files for distribution.
The program is OpenSource and can be found on github.
 
For Windows the installer can be found here. This installer also included an autoupdater for when I add additional features.
This uses about 10 MB of space total.
 
For Linux just do the following and you can find the program in your home directory:

curl https://raw.githubusercontent.com/zlepper/TechnicSolderHelper/master/TechnicSolderHelper/install.sh | bash

It can be done from from anywhere, though you have to use the terminal, then the installer script takes care of the rest.
WARNING: It will use quite a lot extra space, since it requires mono to be installed, about 250 MB. However the installation of mono is included in the script.
To run the program just navigate into the install directory and look for the file called "Run SolderHelper.sh"
To update it just run the "update.sh" file.
 
Planned features:

  • Support for FTB packs Added
  • Support for AT Launcher packs
  • Autoupload to FTP servers Added
  • Autoupdate of the actual Technic Solder installs, so you don't have to enter versions each time. Added
  • Creation of a modlist you can paste in places like Technic ads Added
  • Creation of a complete permissionlist. Added (Would be nice if we could format things in the pack configs, but that's for another time)

Bugs
I expect a few bugs here and there. If you happen to stumble into any the program will create a crash report on your desktop. If you could report the issue on github and include the crashlog, and what you were doing I would be very grateful, and will try to fix issues ASAP.
There shouldn't be any dangerous bugs, but incase anything goes wrong I'm not responsible for it.

Warning:

If you decide to use the mysql function of the program, be warned: You have to open a port to your MySQL server, which is a major security risk.

It is recommended you create an ssh tunnel to connect to the remote server:

ssh -L 3306:hostname:3306 [email protected]

The syntax is

ssh -L <localport>:hostname:<remoteport> <username>@<servername>

The you can point Modpack Helper to localhost and everything should work securely.

Contact

If you have a question to ask, just write in this thread, or find me on the Technic Discord Server.

Edited by Zlepper
Removed info from unmaintained v2 version
Link to comment
Share on other sites

This looks genuinely awesome! Will install when I get home.

Hope you find it helpful :)

I just pushed a patch that fixes a crash on windows with subfolders in the mod directory.

You will also get modlists now.

 

Also, if you find anything amiss, just say and I'll see what I can do. More features are almost always welcome :)

Link to comment
Share on other sites

Alright. I've updated the application with full support for making FTB packs.

FTB will have their own permission list and even if you make both Technic and FTB files at the same time they will not disturb each other, so you can create FTB packs and Solder or Technic zips at the same time.

You can now also find a modlist in the output directory.

If you have turned on permissions for Technic you will now also get a complete permission list which you can paste wherever you want to.

Both of these features work for both Solder and zip files.

Modlist will also generate for FTB.

On linux the version list for Solder will now open automatically if you have selected Solder packs. Up to now this only worked on windows.

Link to comment
Share on other sites

  • 4 weeks later...

You sir are a God Mr. Zlepper!

PRAISE THIS MAN! :D

 

Great work!

Glad to hear!

 

But to be the bearer of bad news, I have just released an update, which to make some things more compatible will break the current install, so before you update I would suggest you to go into the %appdata% directory, look for solderhelper, and delete the files there. If you don't you might end up having a lot of crashes due to missing database information.

 

Changelog:

Improved mod detection, now a few more mods should be identified.

Permission is now 100% working, though even more improvements are coming.

Lots of quality improvements.

For those using Technic Solder, the mods file that opens in your webbrowser should now autoselect text in the outputtable. (You might have to force your browser to reload it's cache (shift + F5)) EDIT: Or rather, this will work once cloudfront decides to actually update the mirrored files there.

Loads of bugfixes.

Edited by Zlepper
Link to comment
Share on other sites

Ok... I hadn't uploaded any of it to solder yet, I was just using it to help with all the file structure madness, I have all the mods still so no worries. Just wish I had saved the folder that had them all ready to upload to Solder lol. It's life though. I have only recently gotten Solder up and running after almost 400 years of struggling with it for some reason (shared hosting woes.)


Here is a link to the folder I ran it on. Bare in mind that this worked on the exact same folder last night, short of having to name a few files and it skipped the mods that run unarchived of course, ie... Millenaire.

https://dl.dropboxusercontent.com/u/93032141/mods.zip

Link to comment
Share on other sites

Ok... I hadn't uploaded any of it to solder yet, I was just using it to help with all the file structure madness, I have all the mods still so no worries. Just wish I had saved the folder that had them all ready to upload to Solder lol. It's life though. I have only recently gotten Solder up and running after almost 400 years of struggling with it for some reason (shared hosting woes.)

Here is a link to the folder I ran it on. Bare in mind that this worked on the exact same folder last night, short of having to name a few files and it skipped the mods that run unarchived of course, ie... Millenaire.

https://dl.dropboxusercontent.com/u/93032141/mods.zip

The crash issue is fixed now. It seems forge decided to suddenly change something in their version 2 json.

 

I will get around to the unarchieved mods soon.

Link to comment
Share on other sites

Here is a link to the folder I ran it on. Bare in mind that this worked on the exact same folder last night, short of having to name a few files and it skipped the mods that run unarchived of course, ie... Millenaire.

You will now be asked about unarchieved stuff, at least as long as a .jar file isn't found in the folder.

Link to comment
Share on other sites

Have you tested this on 64 bit Windows yet?

I do half the debugging on Windows 64x. That how i build the windows version too.

32x however I have not tested throughout.

Also, chancelog:

Added the feature to select additional folders in the minecraft root directory. Just select them from the menu on the right.

Now autodetects a few more mods.

The "Reset database" button no longer forces you to reenter everything, it just tells the problem that nothing is on solder yet, so it will be readded should you run a solder run.

Fixed a ton of visual bugs.

Fixed a ton of other bugs.

Link to comment
Share on other sites

  • 3 weeks later...

Still working on ftp uploads? I'm looking forward to not having to make any data directly in solder(can be such a pain some times)

Yeah, I'm still working on that. I have most of it working, but I can't, for my life figure out what is going wrong with my code right now.

 

Also: Solder Helper will now remember where you chose input beforehand, so you can switch between modpacks without having to find the entire path again.

Link to comment
Share on other sites

Hey, I took a look at your tool and loved what it did, but I found me wanting even more automation. The first attempt was to generate MySQL scripts with it but MySQL has issues with conditionals. The thought of directly integrating into your tool for the SQL wasn’t appealing as it would make it much less portable for data inserts. So instead of relying on the generated MySQL or direct SQL inserts scripts I tweaked the program a little to dump a csv file. Which is then read into a PHP script that inserts the appropriate data into MySQL. This script can be re-run without creating duplicate records. I also noticed that the tool sometimes gets odd numbers for the mods Minecraft version and/or the mod version itself (Not an issue with the tool so much it is an issue with weird data in mod mcmod.info files). To get around this issue the csv has two columns that will overwrite the default columns as well as rename any zip files created by your tool. In the process of making this automation I ended up learning some C#, PHP, and MySQL all of which I never knew any syntax before, so that was fun. If you like to take a look at the changes and the PHP script let me know. I’ve not too familiar with GIT so just let me know what to do if you are interested.

Link to comment
Share on other sites

  • 2 weeks later...

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...