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

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

Previous topic - Next topic

Shinzy

Quote from: KingOfAwesomnia on December 30, 2014, 10:20:01 AM
Quote from: Shinzy on December 30, 2014, 10:14:23 AM
How would this work with releases that are not compatible with your current colony?
like the kinds that need a restart?
Ingame requirements (like mods that require you to start a new colony or generate a new world) won't change, I cannot do anything about this as it depends on the mod. I will provide a way for mod makers to add a warning to their mod, that you get to see when you activate the mod.
Also you talk about "mods that need a restart" but RW Launcher runs separate from the game, so it will always first apply your mods and your mod settings, and only then will it actually launch the game.

I meant colony restart :-[
But yes I guess a proper warning could suffice if it's visible enough!
would you still be able to roll back to previous version though? like if you'd leave the modder the option to leave the thing up there or something like this

just incase! AS SOMEONE WHO DOES NOT READ, EVER *ahem*

KingOfAwesomnia

Quote from: Shinzy on December 30, 2014, 10:28:46 AM
I meant colony restart :-[
But yes I guess a proper warning could suffice if it's visible enough!
would you still be able to roll back to previous version though? like if you'd leave the modder the option to leave the thing up there or something like this

This is a good idea to add to the launcher, later on. I could make it so that, if you've enabled new mods that will not let you continue with your existing colony, the launcher will give you a choice between playing with the new mods (and then you'll have to start a new game) or playing without those mods so that you can continue with your old game.
I've also been thinking of the idea of being able to save different mod configurations, so that you can easily switch between different lists of mods.

Unfortunately I cannot do everything all at once, and I will focus on the main functions of the launcher now (the mod gallery and the auto-updater), but I've added these points to the ideas list on my Trello board so I'll get to them once the main features are done.

ItchyFlea

#47
I've got a question. Will you be able to add functionality that allows for compatibility patch mods? The way I make those patches work is by requiring the player to activate them after activating the prerequisite mods. Would this program be capable of placing the mods in the correct load order if the player doesn't do that themselves?

And to answer the question you've placed in the thread title: Yes. I would use this.

Bug report:
v0.1 doesn't run on 32bit systems.
All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

KingOfAwesomnia

#48
Quote from: ItchyFlea on December 30, 2014, 03:58:44 PM
Will you be able to add functionality that allows for compatibility patch mods? The way I make those patches work is by requiring the player to activate them after activating the prerequisite mods. Would this program be capable of placing the mods in the correct load order if the player doesn't do that themselves?
Would you be able to use the mod settings for this, combining the different parts into one mod and providing on/off switches for each part?

Quote from: ItchyFlea on December 30, 2014, 03:58:44 PM
Bug report:
v0.1 doesn't run on 32bit systems.
Okay that's a pretty important one.. To be honest, I've completely overlooked the 32 bit thing since I work on 64 bit by default. I will have to repackage the app, a 32 bit version should be available by tomorrow.

Edit: The hosting company where I host my websites seems to be having issues, right now I can't access any of my websites, so I won't be able to upload the new version to the site until it gets fixed. No idea how long that will take, still waiting for the company to actually acknowledge that there's something wrong...
Of course if I cannot upload it to my site I'll put it here on the forums.

Edit 2: Because of the site not being available for some people (not everyone has this problem, it seems to be bound to certain geographical locations), the update checker in the launcher doesn't work. Either it will fail silently and the launcher will do nothing, or it will produce an ugly error. It's getting pretty late right now, but I'll try to get an updated version done by tomorrow.

ItchyFlea

Quote from: KingOfAwesomnia on December 30, 2014, 05:00:37 PM
Would you be able to use the mod settings for this, combining the different parts into one mod and providing on/off switches for each part?
Possibly. Will have a look when your provider sorts out your website's issues so you can upload the new version. :)
All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

KingOfAwesomnia

Update time!
- The site is back online
- I made both a 32-bit and a 64-bit version
- I added an icon to the program to make it prettier :)
- I added an "offline" command line switch and an "offline mode" batch file to launch into offline mode (this means it will skip the check for a new version upon starting the launcher, this can be useful if loading takes too long or if the site is down again).

http://rwlauncher.woubuc.be/

As always, let me know if you find any more bugs / problems.

Evul


Evul


ItchyFlea

#53
Bug Report:
When running the 32bit version, I get this:

Uncaught node.js Error.
TypeError: Cannot read property 'substr' of undefined

I've attached a screenshot of the complete error message to this post.

[attachment deleted due to age]
All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

Evul

I've been experimenting with the part selection thingy.
I've tested added the files to the switcher and it looks great! :)
I also tested doing categorization (that look grate as long as its a small window like in the screen) and that's a feature i would like to have, not a priority but defensively a usable thingy for people that have allot of features :)

<?xml version="1.0" encoding="utf-8"?>
<LauncherData>
<launcherVersion>0.1</launcherVersion>
<modVersion>2.18</modVersion>
<modSettings>
<option>
<label>Vanilla Replacements</label>
<files>
<li>Defs/ThingDefs/PA_VanillaWeapon_Lee-Enfield.xml</li>
<li>Defs/ThingDefs/PA_VanillaWeapon_M-16Rifle.xml</li>
<li>Defs/ThingDefs/PA_VanillaWeapon_M-24Rifle.xml</li>
<li>Defs/ThingDefs/PA_VanillaWeapon_Pistol.xml</li>
<li>Defs/ThingDefs/PA_VanillaWeapon_Shotgun.xml</li>
</files>
</option>
<option>
<label></label>
</option>
<option>
<label>Modern Launchers</label>
<files>
<li>Defs/ThingDefs/PA_ModernLauncher_RPG7.xml</li>
<li>Defs/ThingDefs/PA_ModernLauncher_M79.xml</li>
</files>
</option>
<option>
<label>Modern Firearms</label>
<files>
<li>Defs/ThingDefs/PA_ModernWeapon_AA-12.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_AccuracyInternationalAWM.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_AK47.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_AK74M.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_AKs47U.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_ASval.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_BarrettM82.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_BarrettM107.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_CM901.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_ColtPolicePositive.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_DesertEagleMarkI.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_DragunovSVD.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_FAMASG2.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_FNFAL.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_FNP90.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_FranchiSPAS-12.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Glock18.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKG11.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKG36C.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKMP5A1.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKMP5A2.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKMP5K.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_HoKUMP45.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Jackhammer.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_KRISSVector.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_L85.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_L85A1.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Lupara.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M4A1.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M14.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M14_EBR.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M25.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M30Luftwaffedrilling.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M60machinegun.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M249.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_M1911.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Mac10.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Mateba-Autorevolver.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Mateba-Grifone.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_McMillan-Tac-50.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Mossberg500.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_PKM.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_RPD.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_SA58Tactical.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Saiga-12.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_SCAR-L-Mk16-Standard.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_SG552Commando.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_SmithAndWesson-Model_29.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_SteyrAUGA1.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_USAS-12.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_WaltherPPK.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_WaltherPPK_Supressed.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_Walther-WA2000.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_WinchesterModel70.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_VSSVintorez.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_vz58P.xml</li>
<li>Defs/ThingDefs/PA_ModernWeapon_vz58V.xml</li>
</files>
</option>

<option>
<label>World War 2 Firearms</label>
<files>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Boys-AT-Rifle.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Bren.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_British-Apache.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Luger-P08.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_M2Browning.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_MauserC96.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_MP40.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Nambu.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Thompson1920.xml</li>
<li>Defs/ThingDefs/PA_WorldWar2Weapon_Thompson-M1928A1.xml</li>
</files>
</option>
<option>
<label>World War 1 Firearms</label>
<files>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Carcano-M91.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Chauchat.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Huot.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_LebelModel1886.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_M1918-BAR.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_MP-18.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Ross_Rifle.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Roth-Steyr-M1907.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Star-M1914.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Steyr-M1912.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Steyr-M1912-MP.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Steyr-Maanlicher-M1895.xml</li>
<li>Defs/ThingDefs/PA_WorldWar1Weapon_Webley.xml</li>
</files>
</option>

<option>
<label>American Civil War Firearms</label>
<files>
<li>Defs/ThingDefs/PA_AmericanCivilWarWeapon_LeMat-Carbine.xml</li>
<li>Defs/ThingDefs/PA_AmericanCivilWarWeapon_LeMat-Revolver.xml</li>
</files>
</option>
<option>
<label>Prewar World War Firearms</label>
<files>
<li>Defs/ThingDefs/PA_PrewarWeapon_Apache.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_British-Bulldog.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Gabbett-Fairfax-Mars.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Madsen-Rasmussen-M1896.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Sjorgen-Rifle.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Sjorgen-Shotgun.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Steyr-Mannlicher-M1894.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Steyr-Mannlicher-M1901.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Webley-Fosbery.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Winchester-M1907.xml</li>
</files>
</option>

<option>
<label>Prohibition Firearms (1920 to 1933)</label>
<files>
<li>Defs/ThingDefs/PA_ProhibitionWeapon_Browning-Auto5.xml</li>
<li>Defs/ThingDefs/PA_ProhibitionWeapon_Colt-Monitor.xml</li>
<li>Defs/ThingDefs/PA_ProhibitionWeapon_Lebman-M1907.xml</li>
<li>Defs/ThingDefs/PA_PrewarWeapon_Madsen-Rasmussen-M1896.xml</li>
<li>Defs/ThingDefs/PA_ProhibitionWeapon_Lebman-M1911.xml</li>
<li>Defs/ThingDefs/PA_ProhibitionWeapon_Sawed-Off-Browning-Auto5.xml</li>
</files>
</option>
<option>
<label></label>
</option>

<option>
<label>Renaissance Launchers</label>
<files>
<li>Defs/ThingDefs/PA_RenaissanceLauncher_HandMortar.xml</li>
</files>
</option>
<option>
<label>Renaissance Firearms</label>
<files>
<li>Defs/ThingDefs/PA_RenaissanceWeapon_Dragon.xml</li>
</files>
</option>

<option>
<label>Flintlock Weapons</label>
<files>
<li>Defs/ThingDefs/PA_FlintlockWeapon_Fowler-Ball.xml</li>
<li>Defs/ThingDefs/PA_FlintlockWeapon_Fowler-Shot.xml</li>
<li>Defs/ThingDefs/PA_FlintlockWeapon_Kentucky_Long_Rifle.xml</li>
</files>
</option>
<option>
<label></label>
</option>

<option>
<label>SciFi Weapons</label>
<files>
<li>Defs/ThingDefs/PA_SciFi-007_Goldeneye-N64-Moonraker-Laser.xml</li>
<li>Defs/ThingDefs/PA_SciFi-007_Moonraker-Pistol.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Alien2_Weapon-M41APulseRifle.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Doom3_PlasmaGun.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Firefly_Weapon-Vera.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Halo_Weapon-MA5DICWS.xml</li>
<li>Defs/ThingDefs/PA_SciFi-MassEffect_Weapon-M8Avenger.xml</li>
<li>Defs/ThingDefs/PA_SciFi-MassEffect_Weapon-M-15Vindicator.xml</li>
<li>Defs/ThingDefs/PA_SciFi-OutwarsWeapon_M-81_Pulse_Rifle.xml</li>
<li>Defs/ThingDefs/PA_SciFi-ProjectArmory_Weapon-BRX-A1.xml</li>
<li>Defs/ThingDefs/PA_SciFi-ProjectArmory_Weapon-BRX-A2.xml</li>
<li>Defs/ThingDefs/PA_SciFi-ProjectArmory_Weapon-CS18.xml</li>
<li>Defs/ThingDefs/PA_SciFi-ProjectArmory_Weapon-ImprovisedPulseVenter.xml</li>
<li>Defs/ThingDefs/PA_SciFi-ProjectArmory_Weapon-ImprovisedVenter.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarshipTroopers_Weapon-MoritaMKIAssaultRifle.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarshipTroopers_Weapon-MoritaMKICarbine.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Grenade-ThermalDetonators.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Weapon-DH-17BlasterPistol.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Weapon-DL-44Blaster.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Weapon-E11Blaster.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Weapon-EE-3CarbineRifle.xml</li>
<li>Defs/ThingDefs/PA_SciFi-StarWars_Weapon-Sacros_K-11.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Turok_RageWarsWeapon_PlasmaSniper.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Turok_Turok2Weapon_PlasmaRifle.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Turok_Turok2Weapon-RazorWind.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Warhammer40K_Weapon-Bolter.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Warhammer40K_Weapon-BoltPistol.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Warhammer40K_Weapon-Heavy-Bolter.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Warhammer40K_Weapon-Lasgun.xml</li>
<li>Defs/ThingDefs/PA_SciFi-Warhammer40K_Weapon-Laspistol.xml</li>
</files>
</option>
<option>
<label>Medieval Weapons</label>
<files>
<li>Defs/ThingDefs/PA_MedievalWeapon_Crossbow.xml</li>
<li>Defs/ThingDefs/PA_MedievalWeapon_YewLongbow.xml</li>
</files>
</option>
<option>
<label>Tribal Weapons</label>
<files>
<li>Defs/ThingDefs/PA_TribalWeapon_Atlatl.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Bolas.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Boomerang.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Chakram.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Falarica.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Kpinga.xml</li>
<li>Defs/ThingDefs/PA_TribalWeapon_Woomera.xml</li>
</files>
</option>
</modSettings>
</LauncherData>


[attachment deleted due to age]

KingOfAwesomnia

#55
Quote from: ItchyFlea on December 31, 2014, 03:47:29 PM
Bug Report:
When running the 32bit version, I get this:

Uncaught node.js Error.
TypeError: Cannot read property 'substr' of undefined

EDIT: Looking at your screenshot again, I see that you're on Windows XP, correct? XP has a different appData folder structure than later version of the operating system so this is probably what causes the error. I can fix this but it will take some figuring out since I don't immediately have access to a Windows XP system to test on.

Quote from: Evul on December 31, 2014, 07:15:44 PM
I've been experimenting with the part selection thingy.
I've tested added the files to the switcher and it looks great! :)
I also tested doing categorization (that look grate as long as its a small window like in the screen) and that's a feature i would like to have, not a priority but defensively a usable thingy for people that have allot of features :)

This is something I've thought about as well. I'll probably add simple breaks into the next version to make the next switch start on a new line (pretty simple to implement) but I'm also thinking about something like "master switches" that control a bunch of these settings at once so you can make actual categories and name them and let people enable/disable entire categories at once. This'll be a bit further down the road though, but I'll definitely add it to the ideas list.

ItchyFlea

Quote from: KingOfAwesomnia on December 31, 2014, 11:02:45 PM
EDIT: Looking at your screenshot again, I see that you're on Windows XP, correct?
Yes, I am on Win XP.
All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

KingOfAwesomnia

Quote from: ItchyFlea on January 01, 2015, 03:28:19 PM
Yes, I am on Win XP.
I made some changes that I think will fix the problem. I don't have XP myself so I can't actually test it but I uploaded a test build at http://rwlauncher.woubuc.be/rwlauncher32_test.zip so could you try it out and let me know if it works now or if you still get the error?

ItchyFlea

The first error has been fixed, however after selecting the RimWorld folder, I now get this error:

It's looking in the wrong spot for the ModsConfig.xml file.
It should be looking here: C:\Documents and Settings\Michael\Local Settings\Application Data\Ludeon Studios\RimWorld\Config\ModsConfig.xml

[attachment deleted due to age]
All my mods are licensed under a Attribution-NonCommercial-ShareAlike 4.0 International
Ask for permission before using in ModPacks

Click here for a list of the mods I've created

KingOfAwesomnia

Quote from: ItchyFlea on January 03, 2015, 06:10:31 PM
It's looking in the wrong spot for the ModsConfig.xml file.
It seems win XP has a completely different file structure than vista and later. I will have to get a virtualbox running with xp to be able to test this well, so unfortunately for right now XP can't be supported. I hope to add XP support soon, but I can't make any promise as to when. XP will definitely be supported by the time version 1.0 is done though (the full one with the mod gallery and all).