[TOOL] XRMM - Mod Manager [updated 02-12]

The place to discuss scripting and game modifications for X Rebirth.

Moderators: Scripting / Modding Moderators, Moderators for English X Forum

Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

[TOOL] XRMM - Mod Manager [updated 02-12]

Post by Azhwkd »

Hello!

I've created a small mod manager application which I'd like to share with you.
Please read through all of this, as there are some things to keep in mind.
Download link at the bottom, this application needs .NET Framework 4.0 CP.

Change log at the bottom. The program will auto-update.

Features:
  • - List Mods, Versions etc
    - Remove
    Remove the mod's folder from your hard drive, touches nothing else.
    - Dangerous Remove
    Does the same thing as the Remove option, but also tries to remove the mod's line from your save games. Use this option with caution, it will create backups of your saves prior to messing with them, but the mod may add content which may corrupt your save if you start the game without the mod. Don't blame me if something fishy happens to your saves!
    - Add Mod
    Install a mod from an Archive File (Zip, 7z, RAR supported)
    - Drag/Drop Mod Install
    Install a mod by dragging and dropping either an archive file or a folder onto the mod list.
Planned Features:
  • - In depth mod scanning to show you possible incompatibilities
    - Safeguard the "Dangerous Remove"-option to scan for problems if the mod is removed
    - Maybe hooking it up to an online repository for mods
Feature requests are welcome, just post them here or via PM.
In the rare event that the app crashes on you, please provide me with as much detail as you can and I will do my best to fix it.

You will most likely get warnings from windows when you install the application ("Windows protected your PC"), this is due to the app being self signed.

Download Me!
Virus Scan

------------------------------------------------------------------------

Changelog
Version 0.2.9.28 (02-12-2013)
  • - Fixed loading of certain different XML layouts.
Version 0.2.8.26 (29-11-2013)
  • - New support for multiple steam folders. The program will now find your game even if you seperated your library folder from your steam install.
Version 0.2.6.23 (25-11-2013)
  • - Added a message to inform the user if a mod failed to load on app startup
Version 0.2.5.22 (24-11-2013)
  • - Added success messages on add and remove
    - Added check on mod overwrite / update
    - Improved zip and 7z extraction
Version 0.2.4.21 (24-11-2013)
  • - Renamed Safe Remove to Remove, Remove to Dangerous Remove and added a warning
    - Program should tell you now when it could not install a mod
    - Support for deeply nested mods
    - Support for mod zip files where the mod is the parent directory
[/url]
Last edited by Azhwkd on Mon, 2. Dec 13, 23:47, edited 18 times in total.
Deleted User

Post by Deleted User »

hey nice! a nexus release mayne?
did you write this all by yourself?
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Post by Azhwkd »

Dark_Ansem wrote:hey nice! a nexus release mayne?
did you write this all by yourself?
What do you mean by "a nexus release"?
Yes I wrote this all by myself, except from a few 3rd party libraries of course... ;)
User avatar
Anachronous
Posts: 7
Joined: Tue, 27. Oct 09, 02:27

Post by Anachronous »

Azhwkd wrote:
Dark_Ansem wrote:hey nice! a nexus release mayne?
did you write this all by yourself?
What do you mean by "a nexus release"?
Yes I wrote this all by myself, except from a few 3rd party libraries of course... ;)
People assume that everyone knows everything about everything :P

http://xrebirth.nexusmods.com
dez505
Posts: 172
Joined: Wed, 6. Nov 02, 20:31
x4

Re: [TOOL] XRMM - Mod Manager

Post by dez505 »

Azhwkd wrote:Hello!

I've created a small mod manager application which I'd like to share with you.
Please read through all this, as there are some gotchas.
Download link at the bottom, this application needs .NET Framework 4.0 CP.

Features:
  • - List Mods, Versions etc
    - Safe Remove
    Remove the mod's folder from your hard drive, touches nothing else.
    - Remove
    Does the same thing as the Safe Remove option, but also tries to remove the mod's line from your save games. Use this option with caution, it will create backups of your saves prior to messing with them, but the mod may add content which may corrupt your save if you start the game without the mod. Don't blame me if something fishy happens to your saves!
    - Add Mod
    Install a mod from an Archive File (Zip, 7z, RAR supported)
    - Drag/Drop Mod Install
    Install a mod by dragging and dropping either an archive file or a folder onto the mod list.
Planned Features:
  • - In depth mod scanning to show you possible incompatibilities
    - Safeguard the "Remove"-option to scan for problems if the mod is removed
    - Maybe hooking it up to an online repository for mods
Feature requests are welcome, just post them here or via PM.
In the rare event that the app crashes on you, please provide me with as much detail as you can and I will do my best to fix it.

You will most likely get warnings from windows when you install the application ("Windows protected your PC"), this is due to the app being self signed.

Download Me!
PLZ! don't make this a maybe, as fast as mods are changing we need an auto update mod feature for this I'd Donate $$ or ££.

Also maybe a Donate to author Beside each mod listed in the repository if the mod owner so wish's it.

I like to support good mods anyway i can so they get nice updates.
Staberind
Posts: 128
Joined: Wed, 5. May 10, 23:32
x4

Re: [TOOL] XRMM - Mod Manager

Post by Staberind »

dez505 wrote:
I like to support good mods anyway i can so they get nice updates.
+1 to this, I don't have much money, but I'd donate what I can to keep skilled people interested in modding.
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Re: [TOOL] XRMM - Mod Manager

Post by Azhwkd »

dez505 wrote: PLZ! don't make this a maybe, as fast as mods are changing we need an auto update mod feature for this I'd Donate $$ or ££.

Also maybe a Donate to author Beside each mod listed in the repository if the mod owner so wish's it.

I like to support good mods anyway i can so they get nice updates.
Hello, thank you for your feedback.
The problem with the online repository is that at the moment there is only one as far as I can see, nexus mods.
Which is bad for me as nexus doesn't look very open and I think they wouldn't be happy if I hijack their site.
The logical step would be to create another repository but that was turned down by the community in another thread.
Anachronous wrote: People assume that everyone knows everything about everything Razz

http://xrebirth.nexusmods.com
Thank you for clarifying this, but sadly I would loose the auto-update function of my program when I publish it on nexus.

- az
dez505
Posts: 172
Joined: Wed, 6. Nov 02, 20:31
x4

Post by dez505 »

Having a single repository is silly if that go's down then 0 mods for anyone lol.

I think there is need for a second, in fact I maybe grab a domain and setup one myself I'll'll get back to you on that.

But dude fantastic work! now we just need a trade docking AI that finished drivers ED.
User avatar
Gazz
Posts: 13244
Joined: Fri, 13. Jan 06, 16:39
x4

Re: [TOOL] XRMM - Mod Manager

Post by Gazz »

Azhwkd wrote:Does the same thing as the Safe Remove option, but also tries to remove the mod's line from your save games. Use this option with caution
That's pretty dangerous.

At this time, a lot of mods probably are mis-labeled as "save",
meaning that they write themselves iinto the savegame although there is no need to because there is no lasting effect on the savegame.

The mechanic of a mod being recorded in the savegame was meant for mods that cannot be removed from a savegame due to the content they add to the game.
If you allow the user to load the savegame without the mod files to support it, it will be unstable... to say the least.
My complete script download page. . . . . . I AM THE LAW!
There is no sense crying over every mistake. You just keep on trying till you run out of cake.
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Re: [TOOL] XRMM - Mod Manager

Post by Azhwkd »

Gazz wrote: That's pretty dangerous.

At this time, a lot of mods probably are mis-labeled as "save",
meaning that they write themselves iinto the savegame although there is no need to because there is no lasting effect on the savegame.

The mechanic of a mod being recorded in the savegame was meant for mods that cannot be removed from a savegame due to the content they add to the game.
If you allow the user to load the savegame without the mod files to support it, it will be unstable... to say the least.
Indeed it is, that's why I labeled it as "use with caution".
However, if it is used keeping that in mind, it's a nice convenience feature.
I will however add another warning in the next version.
chill0r
Posts: 11
Joined: Sun, 28. Jul 13, 19:50
x3ap

Post by chill0r »

What language is it written in?
Maybe you're thinking about publishing the source on github too so others can look at it / help you.

Edit:
By the way for the online rep. you could just make a new one where the devs list their mods with links to the hosting sites (deeplinks).

Pro:
You can decide what your api should look like (xml/csv/plain text)
Con:
You have to write the tool for it and host it somewhere (not a real problem)
Last edited by chill0r on Sun, 24. Nov 13, 17:02, edited 1 time in total.
X-Tension: > 100h
X2 The Thread: > 100h
X3 (alle Teile): > 250h
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Post by Azhwkd »

chill0r wrote:What language is it written in?
Maybe you're thinking about publishing the source on github too so others can look at it / help you.
It's written in C#.
I indeed planned on open sourcing it as soon as it's a bit more mature and I got around to comment the code :)
chill0r
Posts: 11
Joined: Sun, 28. Jul 13, 19:50
x3ap

Post by chill0r »

As I've learned from other projects (not c# because I don't know that):

Publish it as soon as possible.
The reason is simple:
If you got major bugs in it (and there will be some - that's normal) it's easier to fix them in the beginning where it's not that much code.
If you release the source too late and theres way more code in it it's harder to fix those.

And with the source released other guys can see the bugs / solutions too.
X-Tension: > 100h
X2 The Thread: > 100h
X3 (alle Teile): > 250h
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Post by Azhwkd »

chill0r wrote:As I've learned from other projects (not c# because I don't know that):

Publish it as soon as possible.
The reason is simple:
If you got major bugs in it (and there will be some - that's normal) it's easier to fix them in the beginning where it's not that much code.
If you release the source too late and theres way more code in it it's harder to fix those.

And with the source released other guys can see the bugs / solutions too.
You are right. I will release it as soon as possible.
chill0r
Posts: 11
Joined: Sun, 28. Jul 13, 19:50
x3ap

Post by chill0r »

An additional idea for your tool:

You could search through the content.xml of the installed mods and check them for duplicate id's and change them to any random value so if some guys used the same id (and they did...) you can fix that.
X-Tension: > 100h
X2 The Thread: > 100h
X3 (alle Teile): > 250h
User avatar
nonnex
Posts: 366
Joined: Wed, 28. Aug 13, 12:42
x4

Post by nonnex »

Cant install because an error is showing up on setup:
Win8 + .NET 4.5

Code: Select all

System.ComponentModel.Composition.CompositionException: Bei der Komposition ist ein Kompositionsfehler aufgetreten. Die Ursache wird unten angegeben. Die CompositionException.Errors-Eigenschaft liefert genauere Informationen.

1) Unerwartetes Token 'description'. Erwartet wird ein Leerzeichen. Zeile 3, Position 38.

Ergebnis: Ausnahme beim Erstellen einer Instanz vom Typ "XRMM.ViewModels.ModViewModel".

Ergebnis: Teil "XRMM.ViewModels.ModViewModel" kann nicht aktiviert werden.
Element: XRMM.ViewModels.ModViewModel -->  XRMM.ViewModels.ModViewModel -->  AssemblyCatalog (Assembly="XRMM, Version=0.2.5.22, Culture=neutral, PublicKeyToken=null")

Ergebnis: Export "XRMM.ViewModels.ModViewModel (ContractName="XRMM.ViewModels.ModViewModel")" kann nicht aus dem Teil "XRMM.ViewModels.ModViewModel" abgerufen werden.
Element: XRMM.ViewModels.ModViewModel (ContractName="XRMM.ViewModels.ModViewModel") -->  XRMM.ViewModels.ModViewModel -->  AssemblyCatalog (Assembly="XRMM, Version=0.2.5.22, Culture=neutral, PublicKeyToken=null")

   bei System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
   bei System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
   bei System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
   bei System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValuesCore[T](String contractName)
   bei XRMM.AppBootstrapper.GetInstance(Type serviceType, String key)
   bei Caliburn.Micro.ViewModelLocator.<.cctor>b__9(Type viewType)
   bei Caliburn.Micro.ViewModelLocator.<.cctor>b__a(Object view)
   bei XRMM.Services.CaliburnContentLoader.LoadContent(Uri uri)
   bei System.Threading.Tasks.Task`1.InnerInvoke()
   bei System.Threading.Tasks.Task.Execute()
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Post by Azhwkd »

nonnex wrote:Cant install because an error is showing up on setup:
Win8 + .NET 4.5

Hello and thank you for your report.
Do you already have mods installed, if so, which?
Last edited by Azhwkd on Tue, 26. Nov 13, 00:09, edited 1 time in total.
User avatar
nonnex
Posts: 366
Joined: Wed, 28. Aug 13, 12:42
x4

Post by nonnex »

Azhwkd wrote:
nonnex wrote:Cant install because an error is showing up on setup:
Win8 + .NET 4.5

Code: Select all

System.ComponentModel.Composition.CompositionException: Bei der Komposition ist ein Kompositionsfehler aufgetreten. Die Ursache wird unten angegeben. Die CompositionException.Errors-Eigenschaft liefert genauere Informationen.

1) Unerwartetes Token 'description'. Erwartet wird ein Leerzeichen. Zeile 3, Position 38.

Ergebnis: Ausnahme beim Erstellen einer Instanz vom Typ "XRMM.ViewModels.ModViewModel".

Ergebnis: Teil "XRMM.ViewModels.ModViewModel" kann nicht aktiviert werden.
Element: XRMM.ViewModels.ModViewModel -->  XRMM.ViewModels.ModViewModel -->  AssemblyCatalog (Assembly="XRMM, Version=0.2.5.22, Culture=neutral, PublicKeyToken=null")

Ergebnis: Export "XRMM.ViewModels.ModViewModel (ContractName="XRMM.ViewModels.ModViewModel")" kann nicht aus dem Teil "XRMM.ViewModels.ModViewModel" abgerufen werden.
Element: XRMM.ViewModels.ModViewModel (ContractName="XRMM.ViewModels.ModViewModel") -->  XRMM.ViewModels.ModViewModel -->  AssemblyCatalog (Assembly="XRMM, Version=0.2.5.22, Culture=neutral, PublicKeyToken=null")

   bei System.ComponentModel.Composition.Hosting.CompositionServices.GetExportedValueFromComposedPart(ImportEngine engine, ComposablePart part, ExportDefinition definition)
   bei System.ComponentModel.Composition.Hosting.CatalogExportProvider.GetExportedValue(CatalogPart part, ExportDefinition export, Boolean isSharedPart)
   bei System.ComponentModel.Composition.ExportServices.GetCastedExportedValue[T](Export export)
   bei System.ComponentModel.Composition.Hosting.ExportProvider.GetExportedValuesCore[T](String contractName)
   bei XRMM.AppBootstrapper.GetInstance(Type serviceType, String key)
   bei Caliburn.Micro.ViewModelLocator.<.cctor>b__9(Type viewType)
   bei Caliburn.Micro.ViewModelLocator.<.cctor>b__a(Object view)
   bei XRMM.Services.CaliburnContentLoader.LoadContent(Uri uri)
   bei System.Threading.Tasks.Task`1.InnerInvoke()
   bei System.Threading.Tasks.Task.Execute()

Hello and thank you for your report.
Do you already have mods installed, if so, which?

Code: Select all

25.11.2013  20:17    <DIR>          .
25.11.2013  20:17    <DIR>          ..
20.11.2013  21:45    <DIR>          BetterCockpit - 16.9
20.11.2013  21:45    <DIR>          better_highway_alphas
20.11.2013  21:45    <DIR>          ButterRanges
20.11.2013  21:45    <DIR>          Ignore JumpDrive Fuel
20.11.2013  21:45    <DIR>          ManualCommandExtension
20.11.2013  21:45    <DIR>          MoreReducedMasstraffic_V0.2
20.11.2013  21:45    <DIR>          NESA
20.11.2013  21:45    <DIR>          NoDraftNoTrafficDoubleSpeedHighways
20.11.2013  21:45    <DIR>          NoSteeringModeNotification
20.11.2013  21:45    <DIR>          RemoveBoardingCutscene
20.11.2013  21:45    <DIR>          RemoveDetailmonitorAnimation
20.11.2013  21:45    <DIR>          RS_Stars
20.11.2013  21:46    <DIR>          Shut_UP
20.11.2013  21:46    <DIR>          upclose_detailed_monitor
               0 Datei(en),              0 Bytes
              16 Verzeichnis(se), 780.272.619.520 Bytes frei
EDIT: Removed all Mods, installed the manager, added mods throu tool. now it works.
Azhwkd
Posts: 22
Joined: Sat, 24. Sep 05, 17:24
x4

Post by Azhwkd »

nonnex wrote: EDIT: Removed all Mods, installed the manager, added mods throu tool. now it works.
Thank you for posting back.
I was guessing that a mod might be the issue, maybe because of a missformatted content.xml file.
The error you were getting wasn't during install but during application startup... The installer automatically starts the application after it completes.

I will publish an update today to add some safeguards to the mod loading.
It should then tell you if it fails to load a mod descriptor.
KRM398
Posts: 1556
Joined: Wed, 6. Nov 02, 20:31
xr

Post by KRM398 »

I see I tried doing this last night and got an error too. So we need to delete all our extensions first then retry? Maybe try again later.

Return to “X Rebirth - Scripts and Modding”