Jump to content

[AnyOS] KSP Mod Admin v2 - Mod install with a few clicks


MacTee

Recommended Posts

Here was bugreport for previous version.

Sorry, false alarm. I lost email with update notification somewhere under lots of other mails.

In new version bug not reproduce.

Also, usability hint. When updating all mods, the message MSG_0_HAS_CHILDES_WITHOUT_DESTINATION_WARNING

appear for every mod node. It's not very userfriendly.

Edited by SVlad
Tested on old version
Link to comment
Share on other sites

Hmm,

- is it enough to just add the message to the Log-Window?

- should it just be displayed once (or once for every mod)?

- should it be disabled cause its during updating?

what would you preffer?

YOU DECIDE ...

.... =) Edited by MacTee
Link to comment
Share on other sites

Hmm,

- is it enough to just add the message to the Log-Window?

- should it just be displayed once (or once for every mod)?

- should it be disabled cause its during updating?

what would you preffer?

YOU DECIDE ...

.... =)

I think, it should work like this:

1. If destination isn't set for the same folders, as before, just do nothing. Log this, may be.

2. If there are new folders/files without destination, show one warning after all mods installed and print list of all new root files/folders without destination into log.

Also you may add another state to selectMod nodes. State when destination is neither a undetected automatically, nor by user. But it can make this list too complex, so I'm not sure you must do it.

By the way, what site MA version control supports? Are you going to support ksp AVC, for example?

Link to comment
Share on other sites

Hi SVlad,

the new KSP MA aOS version on GitHub (Dev branch) supports AVC Plugin version files already.

For now just a very simple implementation:

When KSP MA finds a AVC version file in a mod archive during the add process it copies some information (like VERSION, KSPVERSION, URL and DOWNLOAD. It won't override already present infos). Then KSP MA tries to find a compatible SiteHandler for the provided DOANLOAD link. We have SiteHandlers for Cure, CurseForge, GitHub, Bitbucket and Kerbalstuff.

I think in the next days I'll implement a mod update check via the AVC mechanism (check against the AVC version file provided by the URL of the version file) and I'll handle the GitHub informations from a version file, i'll prefer that infromation and use it with the KSP MA GitHub SiteHandler for update checks.

Link to comment
Share on other sites

Hi,

I just try your app on Ubuntu 14.10 and mono-complete installed but I have this error :

$ mono KSPModAdmin.exe

Unhandled Exception:

System.TypeInitializationException: An exception was thrown by the type initializer for KSPModAdmin.Utils.NativeMethods ---> System.EntryPointNotFoundException: RegisterWindowMessage

at (wrapper managed-to-native) KSPModAdmin.Utils.NativeMethods:RegisterWindowMessage (string)

at KSPModAdmin.Utils.NativeMethods..cctor () [0x00000] in <filename unknown>:0

--- End of inner exception stack trace ---

[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: An exception was thrown by the type initializer for KSPModAdmin.Utils.NativeMethods ---> System.EntryPointNotFoundException: RegisterWindowMessage

at (wrapper managed-to-native) KSPModAdmin.Utils.NativeMethods:RegisterWindowMessage (string)

at KSPModAdmin.Utils.NativeMethods..cctor () [0x00000] in <filename unknown>:0

--- End of inner exception stack trace ---

Any idea ?

Cheers

Link to comment
Share on other sites

Hi,

I just try your app on Ubuntu 14.10 and mono-complete installed but I have this error :

$ mono KSPModAdmin.exe

[...]

Any idea ?

Cheers

Hi khalacha,

all KSP MA versions below 2.0.0.7 only running on windows.

Try this mono version but its still in beta.

EDIT: URL removed

Edited by MacTee
Link to comment
Share on other sites

Usability hints:

Some kind of search or filter and sort in select mod tree would be helpful.

Also Versioncheck column is still empty.

Overwrite button states are indistinguishable. It's hard to say, what mode it is in. May be checkbox would be more visual?

Also, if a mode has several versions, like, for example, ActiveTextureManagement, version check can't handle it properly. Really, i don't know, what Mod Admin should do in that case.

Edited by SVlad
Link to comment
Share on other sites

[...]

Also, usability hint. When updating all mods, the message MSG_0_HAS_CHILDES_WITHOUT_DESTINATION_WARNING

appear for every mod node. It's not very userfriendly.

Hi SVlad,

could you provide me with more detail how you have set up your mods so that this issue occures?

I'm not able to reproduce it.

Usability hints:

Some kind of search or filter and sort in select mod tree would be helpful.

Also Versioncheck column is still empty.

Overwrite button states are indistinguishable. It's hard to say, what mode it is in. May be checkbox would be more visual?

Search, sort and version column are on the todo list. I'll have to think about the override button.

Thanks for the feedback!

Also, if a mode has several versions, like, for example, ActiveTextureManagement, version check can't handle it properly. Really, i don't know, what Mod Admin should do in that case.

With the new version on GitHub (dev branch) KSP MA will detect mutiple files on GitHub and will popup a selection dialog.

Edited by MacTee
Link to comment
Share on other sites

Took a break for a few days but I'm back to working. Should have a decent amout of free time next week to work as well. Forum handler is coming along OK. The current implementation is just to have it look for every link on the first post. It checks if the link is valid (absolute) and then looks to see if there's a valid site handler for it. It creates a DownloadInfo object, and sets appropriate attributes as necessary, then creates a list of all of them. The idea is to have it show the list as an option to select the download source.

I'll do some checking to see if the link selected is a direct file download, and if it is just download it but add no version checking, probably show a warning stating that there's no VC enabled with that file. With a known handler it'll be much easier, and will convert itself automatically from the forum page to the known handler for download checking in all future instances.

Since you removed the dropbox and mediafire files I'm not quite sure where to handle those now. Will you be consolidating those, or are they being set aside for now?

I'd like to attempt at least one more file handler for private jenkins build platforms. However, the only mod I know of that uses that is ModuleManager, and I'd kind of like to experiment with an automatic MM downloader/updater since it's pretty much required for every mod. Have ModAdmin check once a day or so (configurable of course) for updates to MM and prompt an update if one is found.

Once I finish the handlers I think I'm going to look into some kind of automatic detection for mod archive installation path detection. Having to set up the destination on every single mod is very tedious. It's too bad nobody can decide on anything approaching a standard for that, but it is what it is.

I have a few feature requests of my own.

  1. Continuous (always) alphabetically sorted mod list. New mods get added in order instead of at the end.
  2. Mod info right panel updating when the "Edit Mod Info" window closes, instead of waiting to read it when the mod is unselected and selected again.
  3. Double clicking a mod installs it, double click an installed mod uninstalls.
  4. Exclude files with the words "Readme" and "Licnese" and folders with the names "Source" and "src" from the file list view
  5. When updating a file, offer to delete the old archive when adding the new one (maybe a global option to opt in or out of asking every time?)
  6. Bigger icons or faster tooltips. I spend a lot of time waiting for tool tips to show up because the icons all look pretty much the same to me. I'd prefer text buttons, but bigger or more clear icons would be OK.

OK that wound up as more than a few, but anyway.

Link to comment
Share on other sites

Hi SVlad,

could you provide me with more detail how you have set up your mods so that this issue occurs?

I'm not able to reproduce it.

Some mods have additional folders that normally doesn't install. It can be folders with alternative data, manuals, etc. For examples see Planet Shine or UniversalStorage [TAC PACK]. Usually Mod Admin can't detect installation path for them and shows warning. When I update this mods, Mod Admin shows warning again for every root node without installation path.

I update in "Copy checked state" mode.

Edited by SVlad
Link to comment
Share on other sites

Took a break for a few days but I'm back to working. Should have a decent amout of free time next week to work as well. Forum handler is coming along OK. The current implementation is just to have it look for every link on the first post. It checks if the link is valid (absolute) and then looks to see if there's a valid site handler for it. It creates a DownloadInfo object, and sets appropriate attributes as necessary, then creates a list of all of them. The idea is to have it show the list as an option to select the download source.

I'll do some checking to see if the link selected is a direct file download, and if it is just download it but add no version checking, probably show a warning stating that there's no VC enabled with that file. With a known handler it'll be much easier, and will convert itself automatically from the forum page to the known handler for download checking in all future instances.

Sounds good!

Since you removed the dropbox and mediafire files I'm not quite sure where to handle those now. Will you be consolidating those, or are they being set aside for now?

You can add them again, if you need them, but these classes are not realy stable. Like the MediFire class, sometimes it doesn't work properly. And i have no idea if it is still working...

I'd like to attempt at least one more file handler for private jenkins build platforms. However, the only mod I know of that uses that is ModuleManager, and I'd kind of like to experiment with an automatic MM downloader/updater since it's pretty much required for every mod. Have ModAdmin check once a day or so (configurable of course) for updates to MM and prompt an update if one is found.

I think about to take MM into the KMA² archive, install/and update it automatically and use it for the new Part Editor tab i have in mind.

Once I finish the handlers I think I'm going to look into some kind of automatic detection for mod archive installation path detection. Having to set up the destination on every single mod is very tedious. It's too bad nobody can decide on anything approaching a standard for that, but it is what it is.

If you come up with a fancy auto path detection, i would be happy to use it, but its a quite tricky part of KSP MA. Normaly the current algorythem should find most of the install paths.

We could change the handling a bit, so when it don't detects a path, the whole mod will be dumped into the GameData folder.

I have a few feature requests of my own.

  1. Continuous (always) alphabetically sorted mod list. New mods get added in order instead of at the end.
  2. Mod info right panel updating when the "Edit Mod Info" window closes, instead of waiting to read it when the mod is unselected and selected again.
  3. Double clicking a mod installs it, double click an installed mod uninstalls.
  4. Exclude files with the words "Readme" and "Licnese" and folders with the names "Source" and "src" from the file list view
  5. When updating a file, offer to delete the old archive when adding the new one (maybe a global option to opt in or out of asking every time?)
  6. Bigger icons or faster tooltips. I spend a lot of time waiting for tool tips to show up because the icons all look pretty much the same to me. I'd prefer text buttons, but bigger or more clear icons would be OK.

1. Sort is on the todo list.

2. OK, bug accepted ;)

3. I think i don't want this behavior, cause a double click will A) expand/collapse the clicked node and B) a double click on a file will display its content.

4. If you have some good reasons for this you may convince me. I don't want, dictate the usage of those files cause those file could be used by the mod during the game. Like displaying readme/licenses or use a simple .txt file as config ... etc, you never now it for certain.

May be we can add this as a option to allow the user to choose which handling he wants.

5. I'm not sure if i get the point, could you explain this please ;)

6. I guess faster tooltip it would be then =) Maybe we can add a option to adjust the delay time of a tooltip.

Some mods have additional folders that normally doesn't install. It can be folders with alternative data, manuals, etc. For examples see Planet Shine or UniversalStorage [TAC PACK]. Usually Mod Admin can't detect installation path for them and shows warning. When I update this mods, Mod Admin shows warning again for every root node without installation path.

I update in "Copy checked state" mode.

Thanks for the clarification!

Link to comment
Share on other sites

Sounds good!

You can add them again, if you need them, but these classes are not realy stable. Like the MediFire class, sometimes it doesn't work properly. And i have no idea if it is still working...

I've been redoing all of the online stuff using HTML Agility Pack and Xpath. It's way more reliable and easier to do. Thank 4o66 for that one, it's been really good.

I think about to take MM into the KMA² archive, install/and update it automatically and use it for the new Part Editor tab i have in mind.

I spent some time thinking about how to add in support for part editing with MM. To have it automatically generate a MM file for any edits made. I don't think I'm currently at that skill level, but I had a few ideas for what would make it nice. Intellisense style autocomplete for some things, such as part and module names and maybe mod detection, if possible.

If you come up with a fancy auto path detection, i would be happy to use it, but its a quite tricky part of KSP MA. Normaly the current algorythem should find most of the install paths.

We could change the handling a bit, so when it don't detects a path, the whole mod will be dumped into the GameData folder.

I really want this, so yes, I'll spend my vacation looking into fixing it up.

3. I think i don't want this behavior, cause a double click will A) expand/collapse the clicked node and B) a double click on a file will display its content.

4. If you have some good reasons for this you may convince me. I don't want, dictate the usage of those files cause those file could be used by the mod during the game. Like displaying readme/licenses or use a simple .txt file as config ... etc, you never now it for certain.

May be we can add this as a option to allow the user to choose which handling he wants.

5. I'm not sure if i get the point, could you explain this please ;)

6. I guess faster tooltip it would be then =) Maybe we can add a option to adjust the delay time of a tooltip.

3. I guess I was missing (don't know how) the other button there. Just realized that "Process all mods" does what I was thinking. At least, it seems to install only checked mods, uninstalls installed unchecked mods. This is what I want. :)

4. I really just meant exclude showing them in the mod view. I guess it's not necessary, I delete them out of archives when I find them, but the program does not rescan archives after they're added, so the files stick around. Maybe a button somewhere that tells MA to rescan the archive would be good.

5. When an update is performed, and a new mod downloaded, the old archive is still kept, so my download folder now has the older version and the new version of the mod archive. Since the path to the current version is stored, MA can delete the old archive, then install the new one and point the mod at the new archive, reducing clutter in the folder and saving disk space (not that space is much an issue these days). Maybe an option to move old versions into a backup folder in case someone wants to keep it around.

6. That would be good.

Link to comment
Share on other sites

Another bug:

When updating toolbar and Final Frontier mods, appears error.

Details:

Toolbar mod URL https://github.com/blizzy78/ksp_toolbar

Update check for mod "ksp_toolbar" via "GitHub" started...
The mod "ksp_toolbar" is outdated.
Downloading mod update "ksp_toolbar"...
Error during mod update "ksp_toolbar". Error: "áÑÂыûúð ýð þñъõúт ýõ уúð÷ыòðõт ýð ÑÂú÷õüÿÃȄÂÑ€ þñъõúтð."

Final Frontier mod URL http://kerbal.curseforge.com/ksp-mods/221413-final-frontier/files/latest

Update check for mod "Final Frontier" via "CurseForge" started...
The mod "Final Frontier" is outdated.
Downloading mod update "Final Frontier"...
Error during mod update "Final Frontier". Error: "áÑÂыûúð ýð þñъõúт ýõ уúð÷ыòðõт ýð ÑÂú÷õüÿÃȄÂÑ€ þñъõúтð."

Error message is localized, so it's some error from core .NET libraries.

Link to comment
Share on other sites

Hi SVlad,

i have reproduced the problem with the ToolBar mod from GitHub.

But Final Frontier works fine for me. Could you send me the KSPMA.log please?

Hi Gribbleshnibit8,

[...]

I spent some time thinking about how to add in support for part editing with MM. To have it automatically generate a MM file for any edits made. I don't think I'm currently at that skill level, but I had a few ideas for what would make it nice. Intellisense style autocomplete for some things, such as part and module names and maybe mod detection, if possible.

Sounds like a project for itself ;)

I really want this, so yes, I'll spend my vacation looking into fixing it up.

A mention befor, if no destination was detected we could set the destination of that mod to GameData. That should fix almost all noe destination detected problems ;)

3. I guess I was missing (don't know how) the other button there. Just realized that "Process all mods" does what I was thinking. At least, it seems to install only checked mods, uninstalls installed unchecked mods. This is what I want. :)

Yes this button runs through all mods from the mod selection and de/installs the checked/uncheckd files.

4. I really just meant exclude showing them in the mod view. I guess it's not necessary, I delete them out of archives when I find them, but the program does not rescan archives after they're added, so the files stick around. Maybe a button somewhere that tells MA to rescan the archive would be good.

Sry, but I don't think that the need work is worth the result.

5. When an update is performed, and a new mod downloaded, the old archive is still kept, so my download folder now has the older version and the new version of the mod archive. Since the path to the current version is stored, MA can delete the old archive, then install the new one and point the mod at the new archive, reducing clutter in the folder and saving disk space (not that space is much an issue these days). Maybe an option to move old versions into a backup folder in case someone wants to keep it around.

Sounds like an additonal option "Delete old archive after update". =) (EDIT: implemented)

Edited by MacTee
Link to comment
Share on other sites

When I click "update" button in "install after update" mode, it downloads new version, than appears following window:

MA_Update.png

Log extract

[24.12.2014 20:26:35.905] [1] Info    : KSP Mod Admin update check started.
[24.12.2014 20:26:45.468] [1] Info : Download path changed to "C:\Games\Steam\steamapps\common\Kerbal Space Program\Downloads".
[24.12.2014 20:27:00.243] [1] Info : Saving new KSP Mod Admin settings.
[24.12.2014 20:27:00.283] [1] Info : Saving new KSP Mod settings.

It appears on version 2.0.0.8 and previous. For obvious reason I can't check on new version.

Edited by SVlad
Link to comment
Share on other sites

  1. In new version in SelectMod treeTable column VersionCheck shows "None" value for every nonroot mod node.It looks weird.
  2. Column Selection dialog has no string for title in lang file. It stays untranslated in any language.
  3. Russian text of lblColSelectDescription doesn't fit in Column Selection dialog.
  4. Multiselection in SelectMod doesn't work with destination submenu. Destination affects only last selected node, not every. When you want to reset destination for several files, it's feels uncomfortably.

Edited by SVlad
Link to comment
Share on other sites

  • 2 weeks later...
When I click "update" button in "install after update" mode, it downloads new version, than appears following window:

http://s18.postimg.org/a6arxi2xl/MA_Update.png

Log extract

[24.12.2014 20:26:35.905] [1] Info    : KSP Mod Admin update check started.
[24.12.2014 20:26:45.468] [1] Info : Download path changed to "C:\Games\Steam\steamapps\common\Kerbal Space Program\Downloads".
[24.12.2014 20:27:00.243] [1] Info : Saving new KSP Mod Admin settings.
[24.12.2014 20:27:00.283] [1] Info : Saving new KSP Mod settings.

It appears on version 2.0.0.8 and previous. For obvious reason I can't check on new version.

And this problem is still present in new version. It's caused by unescaped spaces in path arguments.

In my case updater arguments looks like this:

version=2.0.0.10 process=KSPModAdmin archive=C:\Games\Steam\steamapps\common\Kerbal Space Program\Downloads\KSPModAdmin-v2.0.0.10.zip dest=C:\Games\Steam\steamapps\common\Kerbal Space Program\KSPModAdmin

And should be like this:

 version=2.0.0.10 process=KSPModAdmin "archive=C:\Games\Steam\steamapps\common\Kerbal Space Program\Downloads\KSPModAdmin-v2.0.0.10.zip" "dest=C:\Games\Steam\steamapps\common\Kerbal Space Program\KSPModAdmin"

In this case updater works well.

Link to comment
Share on other sites

Thanks! A quick fix is already on the way...

EDIT:

You can fix the problem by open the KSPModAdmin.cfg (from C:\ProgramData\KSPModAdmin\KSPModAdmin)

and make this change:

...

<TreeViewAdvColumnsInfo>

<Column Name="Mod" SortOrder="1" Width="348" />

...

EDIT2:

I'll relase a new test version tomorrow. The fix is already on github.

Edited by MacTee
Link to comment
Share on other sites

Thank you.

By the way, what is proper way to copy mod list from one computer to another? Auto mod detection doesn't detect all mods and it doesn't detect vercion control data.

Also, have you received translation update?

Link to comment
Share on other sites

This thread is quite old. Please consider starting a new thread rather than reviving this one.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...