5 Screenshots

About This File

Please see http://github.com/th3w1zard1/KOTORModSync for the main repo.

Please report any bugs or problems you encounter. While I test this heavily, it's difficult to find any and all problems when incorporating 200+ mod's instructions across dozens of operating systems and platform combinations. If you happen to notice something odd or out of place, please report them.

 

KOTORModSync is a multi-mod installer for KOTOR games that makes it easier to install and manage mods.

I usually install the Reddit mod build every year or so. The process takes about an hour and it's repetitive moving files, running tslpatcher, deleting specific files, and occasionally renaming some files. The last time I installed the modbuild I made a mistake on a single different step, 3 times in a row. Most mistakes require a full restart from the beginning. This is tedious, so I decided to create an installer creator in C# to simplify the process.


Goals

Mod creators work really hard on their mods. It's the least we can do to install them and use them, right? However, who wants to reinstall to vanilla and spend several hours reinstalling mods, just to add 1 or 2 extra mods on top of it? Other mod managers I've tried were either too difficult to configure, require significant changes to a hard-to-understand configuration file, or only provided limited functionality for defining new mods. KOTOR mods definitely can have complex dependency relationships with each other in regard to compatibility, due to the nature and age of TSLPatcher.

Usage

If you are an end user just wanting to install some mods, simply load up the instruction files provided, choose the mods you want from the left list and any options, and press 'Start main install' Watch Xuul's tutorial video here: Effortless Modding with Kotor Mod Sync: The Ultimate Guide for Star Wars KOTOR Mods (youtube.com)

If you are a mod developer, this program contains a full-blown instruction editor that'll allow you to quickly create instructions for your mod and define its compatibility with other mods. See Dependencies/Restrictions and InstallBefore/InstallAfter explanation - Pastebin.com for more information. See the video tutorial here: Creating involved instructions for KOTORModSync - YouTube


Features

  • Can install the https://kotor.neocities.org/ mod builds in about 20 minutes from a vanilla install.
  • Supports TSLPatching on mac/linux without wine!
  • Select the individual mods you want for an install - the dependencies and incompatibilities will automatically be chosen and sorted. This means end users don't have to worry about specific instructions regarding other mods in the list.
  • All the compatibility steps are handled internally by KOTORModSync and the default instructions files provided here. An end user simply can select the mods they want to install in the left list, and any customizations if they like, and simply press 'Install All' to have everything installed automatically.
  • This program has a built-in GUI editor and an installer packed into one. Modbuild creators can create instructions with little to no knowledge of the format and easily share them with end users. End users can install everything from the instruction file with a simple click of a button. Edit any instructions and verify the configuration with built-in tools.
  • Some support to dry run an install.
  • A flexible configuration editor and parser utilizing TOML syntax. This is very user-friendly and similar to INI which TSLPatcher already uses and most modders are used to.
  • Create instructions files with complex dependency structures for multiple mods, and have end users install everything exactly according to the instructions created. No more manually copying/deleting files: KOTORModSync handles all of that for your end user.

Platforms

KOTORModSync is a cross-platform 32-bit and 64-bit .NET application. It is compatible with the following operating systems:

  • Windows 7 and 8: Compatible if running .NET Framework 4.6.2 or higher.
  • Windows 10 and 11: Fully compatible with any Windows release.
  • Linux and Mac: Fully compatible - choose one of the two that match your operating system.

Users do not need to download any additional runtimes: everything is self-contained within the application.

Linux

You may need additional X11 libraries. In order to get this working on WSL, for example, I had to install the following packages:

sudo apt install libsm6 libice6 libx11-dev libfontconfig1 libx11-6 libx11-xcb1 libxau6 libxcb1 libxdmcp6 libxcb-xkb1 libxcb-render0 libxcb-shm0 libxcb-xfixes0 libxcb-util1 libxcb-xinerama0 libxcb-randr0 libxcb-image0 libxcb-keysyms1 libxcb-sync1 libxcb-xtest0

Then you can simply run in a terminal like this:

./KOTORModSync

If you run into problems with the Linux or Mac builds, please contact me and I'll try to get a fix ready for the next release.


Credit

Snigaroo
This man saved me a countless amount of hours. I'd still be struggling through game glitches and mod-specific instructions I didn't understand. Actually, I'd probably still be on Dantooine trying to determine why I'm getting visual glitches and crashes which he solved with the one-word message 'grass'.

Cortisol

Created HoloPatcher and the PyKotor library that KOTORModSync uses to patch mods. These projects are the main reason KOTORModSync can be supported on Mac/Linux. While the PyKotor/HoloPatcher projects have had some issues, this guy was more or less available for comment if I had questions on how I could fix any remaining problems myself.

JCarter426
There were so many KOTOR-specific things to learn, without his help I'd still be trying to deserialize encapsulated resource files. His time and patience were incredibly useful to the project and this project would be impossible without him.

Testers:
Lewok from r/KOTOR
Thank you for helping test that obnoxious UAC elevation problem legacy Windows apps like TSLPatcher have.

Other notable users

Fair-Strides
Provided the perl source code of TSLPatcher on GitHub, and generally maintained the TSLPatcher project in Stoffe's absence.

Stoffe
Creator of TSLPatcher

Thank you to the entire KOTOR modding community for what you do.
 

 

KOTORModSync - Official Documentation.txt

KOTOR1_Full.tomlKOTOR2_Full.toml

KOTOR1_Spoiler_Free.tomlKOTOR2_Spoiler_Free.toml

KOTOR1_Mobile_Full.tomlKOTOR2_Mobile_Full.toml

 


What's New in Version v1.1.0b4   See changelog

Released

New features:

  • By popular demand, add a tool to resolve iOS case-sensitivity (found in Tools -> Fix iOS Case Sensitivity)
  • Update NuGet packages (TOMLYN, SharpCompress, Avalonia) which may fix some hiccups I've seen judging by their patch notes.
  • Refactor UI
  • General stability refactors to platform-agnostic methods.
  • Add more tools to the UI and implement the 'fix file/folder permissions' in the validators.

Bug fixes:

  • Fix a mac/linux bug where the 'fix file permissions' tool would call the wrong function.
  • Fix a bug where the file filters wouldn't work on some operating systems, making it impossible to load TOML instruction files.
  • Fix wrong version label in last release. I can't keep track tbf.

HoloPatcher changes:

 

  • Fix a bug in [CompileList] where the resource type would never be changed over to .ncs despite the compilation being successful.
  • Fix a bug where include files with memory tokens wouldn't be replaced. Didn't know this feature was a thing, thank you to the users who've reported this.
  • Fixed a bug with compile list when `!ReplaceFile=0` or using `File=your_nss_script.nss` syntax. (i.e. the log 'compiling existing .ncs file' should never be happening anymore)
  • internal refactors/improvements.
  • Improvements to the logger
  • Like 9
  • Light Side Points 1



User Feedback

Recommended Comments

I have one question, you say the incompatibilities will be sorted, does that include the cases in the Kotor Mod Build when you have to manually delete files to avoid installing them?

Share this comment


Link to comment
Share on other sites
10 hours ago, Spectrometer said:

I have one question, you say the incompatibilities will be sorted, does that include the cases in the Kotor Mod Build when you have to manually delete files to avoid installing them?

Yes you are correct, KOTORModSync and the default instructions file are capable of following the mod build exactly. If you uncheck or check a mod from the list, any instruction you'll see on the mod build post is respected and followed. See https://pastebin.com/7gML3zCJ for more information on how KMS handles this internally.

for example, if you have the mod `HD Visas Marr` selected for install, you might remember the modbuild says that 3 specific files must be deleted for the ultimate character overhaul patches. This is how we handle that instruction:
image.png.1872e086fb14c6c33b2a58c1a94c7892.png

 

So yes, simply select the mods you want to install from the left list, press install, and let KMS worry about how to handle it all.

Edited by th3w1zard1
  • Like 1

Share this comment


Link to comment
Share on other sites

I am sorry about all the issues caused by v0.8

I've released v0.8.4 which I've tested on k1 and k2. If anyone runs into an issue, please ensure your app says 'KOTORModSync v0.8.4' or a later version at the top.

Edited by th3w1zard1

Share this comment


Link to comment
Share on other sites

Hey, 

 

I downloaded the Kotor2_Full.toml, as well as the mods from the link here https://kotor.neocities.org/modding/mod_builds/k2/full#KOTOR_2_Full_Build

After I load the toml and select my directories I get several issues when trying to validate where the steps included are wrong or maybe arent up to date because the first step is trying to extract but the file is now an executable for The Sith Lords Restored for example.

Is there an updated toml file we can find or am I going to have to manually do some of these steps?

Share this comment


Link to comment
Share on other sites
On 2/1/2024 at 6:30 PM, Steedious1 said:

After I load the toml and select my directories I get several issues when trying to validate where the steps included are wrong or maybe arent up to date because the first step is trying to extract but the file is now an executable for The Sith Lords Restored for example.

That happened to me for the K1 Full Build. I got around it by following the download link at the top of the summary in KotorMS and grabbing whatever files were missing according to the log in the console window. Here I goofed a file name on purpose to show you what I mean. You can see it cannot find the file I changed the name of so the console screams about it in red and I used that to pull up the what it needs. Screenshots are in spoiler to keep post footprint down.

 

Spoiler

image.pngimage.png

 

Edited by Valkayrie

Share this comment


Link to comment
Share on other sites
On 2/1/2024 at 8:30 PM, Steedious1 said:

Hey, 

 

I downloaded the Kotor2_Full.toml, as well as the mods from the link here https://kotor.neocities.org/modding/mod_builds/k2/full#KOTOR_2_Full_Build

After I load the toml and select my directories I get several issues when trying to validate where the steps included are wrong or maybe arent up to date because the first step is trying to extract but the file is now an executable for The Sith Lords Restored for example.

Is there an updated toml file we can find or am I going to have to manually do some of these steps?

We are relying on the community to help keep these instruction files up to date and mod developers to notify us when an included mod has been updated.

If you notice a 'missing required archive' error please at least send the error/mod name in the future once you confirm that you indeed have the correct mod downloaded.

Share this comment


Link to comment
Share on other sites

I think I've found an out of date instruction.

Using KOTOR2_Spoiler_Free.toml mod #85 is "Handmaiden - Fit and Athletic", with 1 download link: http://deadlystream.com/files/file/846-handmaiden-fit-and-athletic/

The instructions are looking for 2 files:

[[thisMod.Instructions]]
Action = "Extract"
Overwrite = true
Source = ["<<modDirectory>>\\FS_Fit_Handmaiden Patch.rar", "<<modDirectory>>\\FS_Fit_Handmaiden.7z"]

But that download only has the .7z. I can't find the .rar anywhere. (And pre-validation gives errors about missing files that are supposed to be in the .rar.)

I'm not sure if the .rar is needed for compatibility with other mods, or just optional, so I skipped the whole "Handmaiden - Fit and Athletic" mod for now. 

Share this comment


Link to comment
Share on other sites

Hey,

First of all, great work. I'm fairly new at this and the tool you made is really, truly helpful.

Second, I used the Kotor2_Full.toml and I noticed a typo in the refurbished astromech droids: the command should be Source = ["<<modDirectory>>\\SH_Refurbished Astromech Droids\\*.*"], but instead it is Source = ["<<modDirectory>>\\SH_Refurbished Astromech Droids\\*.t*"], which causes some problems. 

Thanks again for the work you've done!
 

Share this comment


Link to comment
Share on other sites
On 4/27/2024 at 6:53 PM, Maynarkh said:

Hey,

First of all, great work. I'm fairly new at this and the tool you made is really, truly helpful.

Second, I used the Kotor2_Full.toml and I noticed a typo in the refurbished astromech droids: the command should be Source = ["<<modDirectory>>\\SH_Refurbished Astromech Droids\\*.*"], but instead it is Source = ["<<modDirectory>>\\SH_Refurbished Astromech Droids\\*.t*"], which causes some problems. 

Thanks again for the work you've done!
 

What problems, specifically, does that cause? The goal of the wildcard there is to grab only the tga/tpc files instead of the entire folder.

Share this comment


Link to comment
Share on other sites

The instructions toml is just completely off from the community build. Missed matched zip files,  not installing in the correct order, etc. Why in the world would you overwrite the ultimate character overhaul, with all the NPC mods that clearly specify to install the clothes only version? This does not follow the community mod build instructions. And renders all the patch files that are required useless lol.

Disappointing, manually installing definitely yielded better results.

Edited by nydz3

Share this comment


Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Add a comment...

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