Recommended Posts

KOTORModSync


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

 


 

  • Like 1

Share this post


Link to post
Share on other sites

If anyone needs any support with this installer, please reach out. This project was developed by a team of one person, there's only so many bugs I can test and catch. If you run into any problems: any at all, please don't hesitate to contact me here or on the GItHub.

I cannot fix a problem if I don't know it exists.

Edited by th3w1zard1

Share this post


Link to post
Share on other sites

Hey there Friend I have a error that is confusing me the error in the kotor 2 full mod build the mod sync says that it cannot detect some of the mod and yes I have download the file and put them on my mod folder if you have a solution for this Please reply the message

Share this post


Link to post
Share on other sites
Hey there Friend I have a error that is confusing me the error in the kotor 2 full mod build the mod sync says that it cannot detect some of the mod and yes I have download the file and put them on my mod folder if you have a solution for this Please reply the message

Can you show the output from the output window when this happens? What operating system build are you using (win10 x86, win7 x64, linux, etc)

Edited by th3w1zard1

Share this post


Link to post
Share on other sites
Posted (edited)

TSLpatching don't work on my mac (M1), any mod that has TSLpatching step fails with error: [Error] FAILED Instruction #2 Action 'TSLPatcher', any ideas? Do I need to install Wine? According to your instructions it’s not needed.

Edited by Lazor

Share this post


Link to post
Share on other sites
19 hours ago, Lazor said:

TSLpatching don't work on my mac (M1), any mod that has TSLpatching step fails with error: [Error] FAILED Instruction #2 Action 'TSLPatcher', any ideas? Do I need to install Wine? According to your instructions it’s not needed.

Please post your logs. Should be in the same directory as KOTORModSync.app. Might be inside the .app, i.e. /KOTORModSync.app/Contents/MacOS/logs

TSLpatching in that documentation is used as a verb. The action itself is supported by multiple patchers. TSLPatcher as a noun is *not* compatible with mac/linux (without wine).

 

Use the HoloPatcher option, cross-platform compatible without requiring wine, which should be default.

image.png.f4669a6312a187ba07a8baa54317bdac.png

Actually, the validators should be making it impossible to choose the 'tslpatcher' option in any non-windows env to begin with? I'll look into that later, but for now just make sure you use HoloPatcher.

Given that you're on mac you might need to unquarantine kotormodsync/holopatcher. Check System Preferences -> Security to see if it flagged holopatcher for some reason. It's difficult to tell you the issue without the logs.

What I can tell you is that I tested on Sonoma/Catalina last week, using copied windows/linux kotor installations. I don't own the Mac Store/Steam versions of kotor so I haven't been able to test those.

Share this post


Link to post
Share on other sites

Thanks for the reply, I found a solution maybe add it to your install instructions. If using Steam version of Kotor on mac you need to point Kotor Directory to:

/Users/<username>/Library/Application Support/Steam/steamapps/common/swkotor/Knights of the Old Republic.app/Contents/Assets

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks for providing the folderpath, I've put out several PSA's over this project's release asking for a user with the mac version to please share their directory structures to no avail until now.

When you pointed an incorrect path, did any instructions actually run before it noticed the incorrect gamepath?

Share this post


Link to post
Share on other sites

Here's the KotOR 2 path for Steam on Mac in case you don't have that yet:

/Users/<user>/Library/Application Support/Steam/steamapps/common/Knights of the Old Republic II/KOTOR2.app/Contents/GameData

Probably you could put that together by looking at the Mac steamapps path + Windows game path already, but sharing just in case. (My Mac is Intel, so this does at least mean I can confirm Steam's got the same path as on the other commenter's M1, if nothing else.)

  • Thanks 1

Share this post


Link to post
Share on other sites

Can you open a terminal and execute:

find "~/Library/Application Support/Steam/steamapps/common/Knights of the Old Republic II/KOTOR2.app" > ~/tree_result_k2.txt && open ~/tree_result_k2.txt

and post the results? This'll show me the long-awaited directory structure for the second game.

For the first game:

find "~/Library/Application Support/Steam/steamapps/common/swkotor/Knights of the Old Republic.app" > ~/tree_result_k1.txt && open ~/tree_result_k1.txt

 

there's also the mac store version of the games, after someone comes along with that information, every known version will be supported.

Share this post


Link to post
Share on other sites

Hello. I think the instruction file might be out of date as while trying to install the Spoiler Free build, the output window says "
[4/10/2024 5:45:50 AM] Finding duplicate case-insensitive folders/files in the install destination...
[4/10/2024 5:45:50 AM] Checking for duplicate components...
[4/10/2024 5:45:50 AM] Ensuring both the mod directory and the install directory are writable...
[4/10/2024 5:45:50 AM] Validating individual components, this might take a while...
[4/10/2024 5:45:50 AM] [Error] 
Name: Robes with Shadows for TSL
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>/Ultimate_Robes_Repair_For_TSL*.7z]
[4/10/2024 5:45:50 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>/TSL Twilek Heads*.7z]
[4/10/2024 5:45:50 AM] [Error] 
Name: Quarterstaff Replacement Pack
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>\dm_qrts.rar]
[4/10/2024 5:45:50 AM] [Error] Some components failed to validate. Check the output/console window for details.
If you are seeing this as an end user you most likely need to whitelist KOTORModSync and HoloPatcher in your antivirus, or download the missing mods.".

 

This is not the full output window since on the first validation of this attempt I forgot to unselect the Ebon Hawk Map Download mod (only things missing were one time errors regarding some of the move instructions for TSLRCM that didn't happen on the second validation run), and in other attempts when I tried to fix the issue by changing the name of the mods to what they're expecting, I get errors saying something about the archive not having "TSLPatcher.exe". I downloaded all the mods except the Ebon Hawk Downloadable Map mod through the Kotor Neocities page, and later downloaded the Restored Content Mod through KOTORModSync as the Neocities page linked to a .exe version which was giving me an error earlier. I've also redownloaded all the mods 3 times now so it shouldn't be any file corruption issue.

 

I'm on Windows 10 X64.

Share this post


Link to post
Share on other sites

@Guysabosssome mods have both a patch and the mod itself. Make sure you have everything it's telling you you need, the archive file names were up to date last I checked. Stuff like TSL Twilek heads also have compatibility patches for the UCO with similar names that you also need.

if all of that sounds too daunting, just unselect the ones that are erroring. You should ideally only be selecting the ones you want anyway, it's unlikely you'll want every single mod in that list.

Share this post


Link to post
Share on other sites
Posted (edited)
7 hours ago, th3w1zard1 said:

@Guysabosssome mods have both a patch and the mod itself. Make sure you have everything it's telling you you need, the archive file names were up to date last I checked. Stuff like TSL Twilek heads also have compatibility patches for the UCO with similar names that you also need.

if all of that sounds too daunting, just unselect the ones that are erroring. You should ideally only be selecting the ones you want anyway, it's unlikely you'll want every single mod in that list.

Sorry for the very late response, but I do have the compatibility patches downloaded. I've fixed the Quarterstaff and Robes With Shadow ones, the Quarterstaff one was fixed by downloading it from the link provided in ModSync as it had the requested name of "dm_qrts" vs name it get's from the spoiler free build page "Quarterstaff Replacement Pack CENSORED", and the Robe one was user error as I failed to redownload it on the third string of redownloads so sorry about that. The Better Twi'Lek faces archive name IS different though, likely because the page said it updated on the 8th. The file downloaded is " TSL Better Twi'Lek Heads v1.3.2.7z", but the Modsync is asking for "TSL Twilek Heads.7z", and when I change the name to make it match, I get the following errors.

"[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\Option A - Slim Necks\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\TSL Twilek Heads*\Option A - Slim Necks\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\Textures\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\TSL Twilek Heads*\Textures\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\Option B - Original Necks\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\TSL Twilek Heads*\Option B - Original Necks\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\Textures\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] 
Name: Better Twi'lek Heads
Instruction #0: 'Move'
Issue: Failed to find 'TSL Twilek Heads*\TSL Twilek Heads*\Textures\*.*' in any archives!
[4/11/2024 3:12:39 AM] [Error] Some components failed to validate. Check the output/console window for details.
If you are seeing this as an end user you most likely need to whitelist KOTORModSync and HoloPatcher in your antivirus, or download the missing mods"

 

Again sorry for the very late response, and sorry for the user error on the Robes mod.

 

Edit: The Ebon Hawk Downloadable Map archive also has a different name, the mod is downloaded as "TSL Ebon Hawk 1.2.3.7z", but Modsync is looking for "TSL EHDM.7z". Also I deselected the Better Male Twi'Lek Heads mod and the installer looks to be working good right now, much better than spending who knows how long manually installing 90+ mods.

Edited by Guysaboss
Gave information on a different error relating to a archive having a different name.

Share this post


Link to post
Share on other sites

EDIT: All of this is fixed.
I won't have time to update the instructions and do tests but you can download the previous version it's looking for, just press this button on the DS page. v1.3.1 is what you want. Looks like @Ashton Scorpius updated their mod to use my latest update of HoloPatcher. From what I can tell no content changes were made.

As for the dm_qrts yeah it looks like I accidentally used the archive from the full build. Both should be the same thing, since you aren't interacting with the archive outside of KOTORModSync there shouldn't be any spoilers but otherwise just try not to read the main DS page when downloading it.

Sorry I couldn't provide a direct fix at the moment but I hope this at least gets your install going if you did want those two mods.

image.png.5e947960fa022d8c6d65b219fcdd3fdf.png

  • Like 1

Share this post


Link to post
Share on other sites
Posted (edited)

Hey th3w1zard1, I'm having some issues successfully completing the Pre-install Validation step without errors because the tool cannot find two mods, specifically Scoundrel DS Underwear Fix.7z and Bastila Shan (clothing) HD.rar.

I've downloaded all of the mods from the Mod Build page, and they are all on the dowloaded mods directory I have pointed the tool to. However, it still cannot detect that the Scoundrel DS Underwear mod is there. I am not sure that the Bastila Shan HD mod is part of the build, as well.

The output log from the Pre-Validation attempt:
[5/15/2024 10:37:12 AM] [Note] - No mod chosen: Select your mod directory first.
[5/15/2024 10:37:13 AM] Finding duplicate case-insensitive folders/files in the install destination...
[5/15/2024 10:37:13 AM] Checking for duplicate components...
[5/15/2024 10:37:13 AM] Ensuring both the mod directory and the install directory are writable...
[5/15/2024 10:37:13 AM] Validating individual components, this might take a while...
[5/15/2024 10:37:13 AM] [Error]
Name: Male Scoundrel Underwear Fix
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>\Scoundrel DS Underwear Fix.7z]
[5/15/2024 10:37:13 AM] [Error]
Name: Bastila Shan HD
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>\Bastila Shan HD (clothing).rar]
[5/15/2024 10:37:13 AM] [Error] Some components failed to validate. Check the output/console window for details.
If you are seeing this as an end user you most likely need to whitelist KOTORModSync and HoloPatcher in your antivirus, or download the missing mods.

Is the instruction file up to date, perhaps? And as these are the only two missing mods, could I install anyway and play  without them?z

Thank you for your help.

Edit for more info: Looking at the mod that the mod build calls for, I think the .toml is calling for the wrong mod. It's calling for Male Scoundrel Underwear Fix by Stellar Exile instead of Scoundrel Trousers by DarkBirdie.

Edit for yet more info: I figured out how to use the the entries in the loaded .toml to find the missing mods and add them and I am now getting no errors. I also added the Scoundrel Trousers mod manually. Nonetheless, I believe there is a dysync between the KOTOR1_SPOILER_FREE.toml file and the current list on Neocities.

Edited by Constructour

Share this post


Link to post
Share on other sites
On 5/15/2024 at 9:47 AM, Constructour said:

Hey th3w1zard1, I'm having some issues successfully completing the Pre-install Validation step without errors because the tool cannot find two mods, specifically Scoundrel DS Underwear Fix.7z and Bastila Shan (clothing) HD.rar.

I've downloaded all of the mods from the Mod Build page, and they are all on the dowloaded mods directory I have pointed the tool to. However, it still cannot detect that the Scoundrel DS Underwear mod is there. I am not sure that the Bastila Shan HD mod is part of the build, as well.

The output log from the Pre-Validation attempt:
[5/15/2024 10:37:12 AM] [Note] - No mod chosen: Select your mod directory first.
[5/15/2024 10:37:13 AM] Finding duplicate case-insensitive folders/files in the install destination...
[5/15/2024 10:37:13 AM] Checking for duplicate components...
[5/15/2024 10:37:13 AM] Ensuring both the mod directory and the install directory are writable...
[5/15/2024 10:37:13 AM] Validating individual components, this might take a while...
[5/15/2024 10:37:13 AM] [Error]
Name: Male Scoundrel Underwear Fix
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>\Scoundrel DS Underwear Fix.7z]
[5/15/2024 10:37:13 AM] [Error]
Name: Bastila Shan HD
Instruction #1: 'Extract'
Issue: Missing Required Archives: [<<modDirectory>>\Bastila Shan HD (clothing).rar]
[5/15/2024 10:37:13 AM] [Error] Some components failed to validate. Check the output/console window for details.
If you are seeing this as an end user you most likely need to whitelist KOTORModSync and HoloPatcher in your antivirus, or download the missing mods.

Is the instruction file up to date, perhaps? And as these are the only two missing mods, could I install anyway and play  without them?z

Thank you for your help.

Edit for more info: Looking at the mod that the mod build calls for, I think the .toml is calling for the wrong mod. It's calling for Male Scoundrel Underwear Fix by Stellar Exile instead of Scoundrel Trousers by DarkBirdie.

Edit for yet more info: I figured out how to use the the entries in the loaded .toml to find the missing mods and add them and I am now getting no errors. I also added the Scoundrel Trousers mod manually. Nonetheless, I believe there is a dysync between the KOTOR1_SPOILER_FREE.toml file and the current list on Neocities.

Oops, you're 100% correct. I had the wrong scoundrel mod in there compared to neocities. Has been fixed on the main page.

Share this post


Link to post
Share on other sites

Hello @th3w1zard1.  First time user of KOTORModSync here.

I've had a few issues that I've mostly been able to resolve on my own but one final one seems to remain.  KOTORModSync isn't recognizing TSLRCM correctly.

At first I thought it may be something as simple as a missing underscore in the file name or the EXE file not being in a ZIP file but those attempted workarounds haven't succeeded.  Would you helping an old man figure out what he's doing wrong? Hopefully the attached picture may give you a clue.

KOTORModSyncError.png

Share this post


Link to post
Share on other sites

Hey, looks like Senni Vek Restoration was updated and no longer works with the installer. Getting this error "Issue: Failed to find 'Senni Vek Restoration\Senni Vek Restoration\For Override\tat_senni.utc' in any archives!"

Share this post


Link to post
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
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.