Jump to content

[Win][With Auto-Updater!] Kerbal Space Program: Mod Manager


Recommended Posts

@MashSpacebar: Of course, feel free to use any versions. 1.5.5.X should be the latest stable release for the old versions. Anything with 1.5.6.X+ is for KSP 0.20.

Just a lucky coincidence I still kept the 1.5.5.1 around, http://www./?r2oq7j9i233bsde

@Soulshifter: The system I have works, and it works very well.

Changing it up now, is sadly not one of my priorities. Might do in the future, when updates are less frequently. But as it is now, it will only provide me with one extra unnecessary step.

And using KSPMM is a choice. There are other MM's out there who do provide a download with a .zip. But if someone base theirs interest in MM's on the download format alone.... Yeah, then it's theirs problem. (Sorry if I may sound a bit harsh here, I couldn't find a better way to word it. Plus, it's early.)

But I do understand some people just goes nope and forgets about it if they see their browser saying something with a warning.

Link to comment
Share on other sites

I think the old method was very good in earlier versions, but in this version doesn't work properly. Trying the lazor system, I have seen that it doesn't have a PluginData folder, and there are a sounds and textures folder inside Romfarer (the one in gamedata). If I rename the Romfarer folder, I have no textures nor sounds. Maybe romfarer should use the PluginData folder, but again it requires its original folder name.

I think actual version is more dependant on the structure of the folders, and you could do newer versions only .20 mods and up.

Just trying to help ;)

Link to comment
Share on other sites

@Perilla: Yeah, I agree. .20 should now already be the same packaged by everyone. One of the major challenges would be to come up with a system to detect what version the mod is for.

Which I why I'll be waiting for KSP to remove support for Lagacy mods. Or when most mods are for .20. For now, I'll continue my old method. And adding new folders for the process.

And I do appreciate your input. :) It does help to improve KSPMM.

Link to comment
Share on other sites

Probably because the executable isn't zipped up. Downloading an uncompressed executable leaves you open to viruses so some programs will flag it as a threat.

Chrome is also flagging this for me, besides getting some nasty pop-ups on your site (and your site only). I am not too sure about this.

Link to comment
Share on other sites

Chrome automatically flags any .exe as sketchy since it's often very strange for .exe's to be downloaded by themselves. But I can assure you, there is no malicious code in this mod. And as for the ads, the KSPMM team doesn't have much money, so we were forced to use a free host. And like Norway said, they added those annoying ads in.

Link to comment
Share on other sites

Version 1.5.6.2 just now released.

Fixed the .craft install location. However, it won't remove the ship when uninstalling the mod. I'll might change this in the future.

Added some new folders I've seen in the Squad folder, but haven't been implemented into KSPMM. But they are now.

These include; Flags, Props and Spaces. And I simplified the method of adding new mods in the future. Code wise.

Sorry for the long time between these updates. I just started a new job last week. So been busy, busy... But hoping things will calm down soon, and updates will happen more frequently again.

Edited by Norway174
Link to comment
Share on other sites

Do you have diff and zip libraries for vbasic?

If so, this tool could also be used to solve a legal issue we are having.

If we could use this tool to make the needed changes to cfg files etc, plus have it perform a diff on DLLs, we could create upgrade packs for old mods.

ie for a given mod (zip download from spaceport),someone could create an "upgrade package" that contains the dll diff and a text file that tells your app the structure inside the zip, creating a one click solution for the end user - they just download the mod zip from spaceport and the upgrade package, and point your app at both - it then spits out a new zip with the upgraded mod inside.

No code from the original mod is included, so legally we are in the clear.

Link to comment
Share on other sites

KSPMM will already make the PART { } wrapper changes needed. Unfortunately, I can't touch the DLLs.

If anyone wants to, feel free to do so. And send me the changes. So I might be able to add it to the original version.

Link to comment
Share on other sites

Seeing as you are already windows only, here is a solution:

The open source bsdiff has a bspatch.exe that you call and point at the patch.diff that the DLL coders provide.

Like the batch file does in my release here (Feel free to use my diff as a test):

http://forum.kerbalspaceprogram.com/showthread.php/26482-0-19-1-OrbitalConstruction-Redux?p=421822&viewfull=1#post421822

Link to comment
Share on other sites

When I launched I thought it didn't do anything. But in fact KSPMM window was just outside of the screen. I clicked on the tray icon and them "Reset Size" and it fixed everything. ;-)

Totally unrelated problem that I got (and fixed) today.

When I clicked "Disable All Mods", it disabled all mods that were enabled except for the 0th one (KerbalAlarmClock_1.3.3), and thrown this exception:

System.ArgumentOutOfRangeException: ØýôõúѠ÷ð ÿрõôõûðüø ôøðÿð÷þýð. ØýôõúѠôþûöõý ñыть ÿþûþöøтõûьýыü чøÑÂûþü, ð õóþ рð÷üõр ýõ ôþûöõý ÿрõòышðть рð÷üõр úþûûõúцøø.
ØüѠÿðрðüõтрð: index
ò System.Collections.ArrayList.get_Item(Int32 index)
ò System.Windows.Forms.DataGridViewRowCollection.SharedRow(Int32 rowIndex)
ò System.Windows.Forms.DataGridViewRowCollection.get_Item(Int32 index)
ò System.Windows.Forms.DataGridView.get_Item(Int32 columnIndex, Int32 rowIndex)
ò Kerbal_Space_Program_Mod_Manager.Main.DisableAllMods()
ò Kerbal_Space_Program_Mod_Manager.Main._Lambda$__35(Object a0, EventArgs a1)
ò System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
ò System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
ò System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
ò System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
ò System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
ò System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
ò System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
ò System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
ò System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
ò System.Windows.Forms.Control.WndProc(Message& m)
ò System.Windows.Forms.ScrollableControl.WndProc(Message& m)
ò System.Windows.Forms.ToolStrip.WndProc(Message& m)
ò System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
ò System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
ò System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
ò System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I thought I messed something up when I installed Kerbal Alarm Clock manually before using this program. I deleted all files related to it (except for the one in --MODS--). Turns out I had both KerbalAlarmClock and KerbalAlarmClock_1.3.3 in the list, and now one of them (the one that didn't work) is gone. Everything works fine now

Edited by DiEvAl
Link to comment
Share on other sites

I found that it doesn't load some parts of kethane mod. This happens for parts that have a comment before "PART" line:


//comment
PART {
...
}

KSPMM doesn't recognize that this is 0.20 part, so it adds another PART{} around it:


PART {
//comment
PART {
...
}
}

To fix this replace line 625 of Main.vb with this line:

If Not Regex.IsMatch(orginalcfg, "(//.*\n|\s)*part(//.*\n|\s)*{.*}(//.*\s|\n)*", RegexOptions.IgnoreCase + RegexOptions.Singleline) Then

and add

Imports System.Text.RegularExpressions

Link to comment
Share on other sites

I want to help with this project, but I suck at VB (that one-liner fix doesn't count). So I've been working on this:

zAutARKl.png

Everything you see on that screenshot is subject to change.

I wanted to check that what I'm doing is allowed, and found this in kerbalspaceport's Terms of Service:

k. defrauds and/or in any other way modifies “the services†and/or “the site†in order to give an advantage to one or more Users over other User (s)

One could claim that both my extension and Bridge modify "the site" (change/add the download button) to give advantage (installing mods easier) to people who use KSPMM over people who don't use it.

Edited by DiEvAl
Link to comment
Share on other sites

Holy crap! That's awesome! Unfortunately, I don't use Chrome so I can't use it. But I will still install it. So if I one day do use Chrome. I will have that option.

And PM me once you are done, and I can feature it on the KSPMM website.

Feel free to PM me or contact me on Skype if you have any questions about KSPMM or anything. I would love to take a closer look at that extension.

As for the ToS. I'm no lawyer. But I'm pretty sure it's about modifying the actual online page. Or hacking it. To give you or more an advantage over others.

Link to comment
Share on other sites

The bottom picture. I use Opera. You made it for all three browsers? If so, nice! I could set up a script on my site to detect the browser. And download the right one. If you want.

Edit:

This is my 100th post! :D

Edit2:

Alright... I got some good news, and some bad news. The bad news is that KSPMM's website is down. And I have to rebuild it.

The good news is that I'm switching hosts. Going back to my first one. But on another server of theirs. Much more stable. But less features. Features I don't need. And hopefully no annoying advertisements.

I'm right now waiting for a confirmation email from them to reset my password.

If you still want to download KSPMM, you can do so here directly; http://kspmm.norway174.com/download.php

If it suddenly stops working. It probably means I'm switching over the domain.

Thanks!

Edited by Norway174
Link to comment
Share on other sites

When you download a zip from Spaceport (let's assume we don't have the download browser plugin), will this utility detect the file structure contained in the zip and adjust accordingly? i.e. Some mods have a GameData folder at the root, but some start with a mod-named folder.

How does this determine the name & version of a mod?

What does the utility actually do when enabling/disabling mods? I guess there's an archive folder (somewhere?) and it just copies or deletes folders in the KSP install dir when enabled? Or does it move the mod folders from an archived location into the KSP GameData folder?

Edit:

Okay, playing with it answered some of those questions. How about an enhancement which automatically removes the "uploads_2013_05_" portion of SpacePort filenames?

Edited by Garoad
Link to comment
Share on other sites

All very good questions. And thanks for asking them.

As this will allow me to share some insight into KSPMM.

As you know, most traditional mod managers rely on a properly file structure. (The newest .20 KSP update probably changes all this.)

But I created KSPMM with, what I believe to be the most advanced extraction system for KSP yet. Yes, it has flawed in the past, but that's because of human error. Mainly me.

As far I know, the code has worked perfectly on all cases. As the error I mentioned, which is my fault. Is because I haven't added in the missing folders. But thanks to the community, I usually get them added fast.

Which brings me to my next point, KSPMM uses a very smart detection system, where possible. Like it will scan all the folders for parts, and DLL's. The rest, I have to rely on the folder name.

Keep in mind, this was from before the .20 update. I do plan on updating that old and very reliable system when it's probably safe to assume all the mods people will want to use is already for .20.

Well, for storing the mods. KSPMM will store them in a convenient --MODS-- folder in your KSP/MM directory. New mods downloaded from Birdge will get stored in .kspmm file format. Which is basically the same as a .zip file. You can open .kspmm in any WinRAR or Zip archiver if you want to look or edit the contents.

And when it installs it, KSPMM will actually create a tmp folder, to extract all the files there. And then sort them into another temp folder, which will act as a virtual KSP folder during the install process. Then it will simply move all the files to the real KSP folder.

And the SpacePort filename request. I can see what I can do.

Hoping this will answer some of your questions. And I'd be happy to answer some more.

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...