Mod installer & auto-update tool - would you use it?

Started by KingOfAwesomnia, December 23, 2014, 12:20:19 PM

Previous topic - Next topic

KingOfAwesomnia

Hi all

I'm thinking of making a little program that will list all existing RimWorld mods, downloads the ones you want and updates them when necessary. Would anyone be interested in using it? And, more importantly, would you guys who make the mods be interested in adding your mod to yet another database?

EDIT2: Download the latest version now at http://rwlauncher.woubuc.be/ (v0.1)

EDIT: You can find the ideas and the progress of the tool at the Trello board: https://trello.com/b/DeIEWPC2

Current ideas:
- Mod database listing all mods, with screenshot(s) and description
- Upload function for mod makers to add their own mods
- Mod versioning per alpha version, so that people who play earlier alphas can still use the tool (but only mods compatible with your version of the game will be shown, so no sifting through lots of mods for different versions like what happens here on the forums)
- Downloader that automatically downloads the mods to the RW mods folder
- Automatic updater that keeps your mods updated
- Activated mods manager + option to change mod order
- Function to flag incompatibility / clashes between mods

But of course this won't get anywhere if you guys don't think it is a good idea. Especially mod makers, I need your opinions because without your support the database would be empty and useless. So please let me know what you think.

kabrok

There's a limit for human intelligence. But not for dumbness.

letharion

Huge +1 from me. I've thought about starting to write it myself more than once, but it's a) going to be a lot of work and b) should ideally be done in some form of co-operation with Tynan as it would potentially be a big deal in the community and thus for the game as a whole.

Evul

I support it could be a good update function. But have some kind of requirement to the mod or have it connect to the database via a dll or simular added to a mod. You could take a look at the Kerbal Space Programs Auto updater :)

Igabod

I support this idea. And if it is any help, I maintain the unofficial Alpha 8 mod list thread and would be willing to offer my services to converting the information there into a format that you choose to be read by the program. If there is anything else I can do to help this project along then don't hesitate to ask me.

Evul

Also a way to have statistics on downloads and updates :)

KingOfAwesomnia

#6
I'm currently working on a prototype that will serve as a basic mod manager with install and uninstall functionality (manual downloads).
From here, if there is enough support from mod makers, the next step will be to add a "mod gallery" part that is linked to an online database where people can upload their own mods.
When this is done, I will make a "launcher" version that will auto-update and then launch the game (this could potentially be a full-fledged launcher to edit the in-game settings as well, but I don't think this would be really necessary).

This all will take a while to be completed, but I expect to have the first version (without mod gallery) ready soon.


Quote from: letharion on December 26, 2014, 07:46:10 AMit's a) going to be a lot of work
It's a fun side project, I enjoy programming these kinds of tools, so I don't mind it being a lot of work. Especially since I don't have a job atm anyways so plenty of time to work on it :)


Quote from: letharion on December 26, 2014, 07:46:10 AMand b) should ideally be done in some form of co-operation with Tynan as it would potentially be a big deal in the community and thus for the game as a whole.
I don't know if cooperation would really give it much of an advantage. With input from the community we can make this little tool great on our own.


Quote from: Evul on December 27, 2014, 07:40:33 AMsome kind of requirement to the mod or have it connect to the database via a dll or simular added to a mod
I'm thinking of using the existing about.xml file to add some data (like mod version) to the mods to use in the gallery system.


Quote from: Igabod on December 27, 2014, 08:45:04 AMI maintain the unofficial Alpha 8 mod list thread and would be willing to offer my services to converting the information there into a format that you choose to be read by the program. If there is anything else I can do to help this project along then don't hesitate to ask me.
The way I see it, individual mod makers should add some information to their mod and then upload it to our database. I've noticed that not all mods are packaged in the same way (.zip, .rar, .7z files, sometimes with the content in subfolders, sometimes without subfolders...) so it would be quite a lot of work if we had to go through all these mods and fix them and format them in the correct way, while the mod makers (who have their mod source available) can just add those few lines of data to their mod, point the program to the directory, and let it do the work of packaging and uploading the file (yes this will be done inside the program, makes it easier for me to manage the file structures and such).


Quote from: Evul on December 27, 2014, 08:51:33 AMAlso a way to have statistics on downloads and updates :)
Good point. I was already planning to add a "rating" box to see how many people like each mod, but statistics like number of downloads and activation rate can be easily tracked as well.


Screenshot of the basic mod management interface as I'm working on it (how it will work: click to enable/disable, drag & drop to reorder). What do you guys think?

Note: I know the style of this app doesn't fit with the actual game. I specifically chose not to follow the style of the in-game interface to avoid confusion about development and ownership (so that people don't start bugging RW support for problems with the launcher, for instance)

Evul

It looks nice!
How do you plan handeling diffrent directory names? For exsample project armory rename it's main directory to not interfere with precise version.
Should we be forced to make a modmaneger version to have it function properly. (it's not a problem :P ) just a public question on how sensitive it will be.

Also will there be a way of handeling mod version numbers?

KingOfAwesomnia

Quote from: Evul on December 27, 2014, 11:16:41 AM
How do you plan handeling diffrent directory names? For exsample project armory rename it's main directory to not interfere with precise version.
Should we be forced to make a modmaneger version to have it function properly. (it's not a problem :P ) just a public question on how sensitive it will be.

Also will there be a way of handeling mod version numbers?
Since the tool will eventually include auto-updating, I'm not going to account for different directory names. I will ask modders to add something like a <modVersion> tag in their About.xml file (I've tested this and RW doesn't seem to mind extra tags in the xml, and this seems a cleaner solution than adding an extra file), and the program will use this version tag to determine the version of the mod and check for updates. The directories will then be managed by the mod manager. I'm thinking of using different directory names for managed mods altogether (e.g. "mod_" in front of the folder name) so I don't interfere with for instance development versions of the same mod or manually installed mods.

The tool will do the packaging and uploading to the database though, so once you've added the exta xml tags you'll simply have to click "upload" inside the program, browse to the mod directory and let the program do the work.

Evul

Sweet cool!
Implementing <modVersion></modVersion>  to project armory and other mods I have just because I can!

KingOfAwesomnia

Quick question: what's the path you guys put the RimWorld game in?

I always put mine in D:/Program Files (x86)/RimWorld but I know that there's probably a lot of people who put the game in a different folder. You'll be asked to set the path if the program can't find the game files, but I want to add a number of possible and often used paths for the program to check automatically so you don't have to input it manually.

Evul

E:/Spel/RimWorld/RimWorldAlpha8
And on the desktop.


EDIT: Spel is Game
And i have the game on the desktop on my girlfriends new laptop.

KingOfAwesomnia

Thanks, hadn't thought of desktop. I'm not going to add /Spel/ cause it's very language specific (although in Dutch spel also means game). The program now checks:

Desktop/RimWorld
/username/Downloads/RimWorld
C:/RimWorld/
C:/Games/RimWorld/
C:/Program Files/RimWorld/
C:/Program Files (x86)/RimWorld/
D:/RimWorld/
D:/Games/RimWorld/
D:/Program Files/RimWorld/
D:/Program Files (x86)/RimWorld/

And if the game is not found, the program will ask where your RimWorld folder is.

SubZeroBricks

This is super cool!

Out of interest, what are you writing this in or is that a stupid question?

Either way +1 Desecrated Boom Rat
"The only time you have too much fuel on board is when you are on fire."

Evul

If you need a test mod or something you can use project armory. :) also we are in need of a guy/girl that cab update the kit switcher :) Just putting it out there :P