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.0.2   See changelog

Released

v1.0.2

KOTORModSync changes:
- Some of the last few releases have HoloPatcher compiled with Python 3.11 x64. This means some of those versions will not run correctly on x86 Windows platforms older than win8. This release fixes that by building HoloPatcher with Python 3.8 with the x86 bootloaders.
- Add a feature to rollback changes if a specific instruction fails to run correctly. Will run holopatcher's uninstall feature to restore the latest backup when a failure is detected.
- Disables the X button on the console window while an installation is ongoing. This prevents an installation from being canceled accidentally midway through.

While it may seem strict to limit the number of ways the app can be closed, I feel this is the best of both worlds considering the destructive nature of cancelling an install halfway.  KOTORModSync should take proper precautions to ensure the user has a fluid experience.


HoloPatcher/PyKotor changes:
New Features
- TLKs/GFFs/SSFs can now be used interchangeably with their JSON/XML/CSV representations. This means you can load an XML/JSON/CSV from tslpatchdata the same way as you'd define any other file in changes.ini. This also means you can patch to XML/JSON/CSV representations if for some reason you want to.
- Add [HACKList] support for installing mods such as HLFP
- Use `nwnnsscomp.exe` if a user is running Windows and it is available.
- Allow compiling with various different versions of `nwnnsscomp.exe`. You no longer need to have the exact TSLPatcher version in your tslpatchdata (some other versions include KotorTool's, v1, knsscomp, etc)
- Fall back to the built-in compiler when nwnnsscomp.exe is not available.

Bug Fixes:
- Fixed some niche scenarios on Unix where paths were not being resolved to case sensitive.
- Fixed a problem with !OverrideType=Rename that would occur if a filename destination already existed.
- Probably many other niche things - see the full PyKotor changelog for details.

Other Changes:
- Cleaned up src/improved docstrings
- Exclude unnecessary modules when building HoloPatcher, resulting in a smaller file size.

PyKotor Changelog: https://github.com/NickHugi/PyKotor/compare/v1.2-patcher...v1.3-patcher

 

  • Like 9
  • Light Side Points 1



User Feedback

You may only provide a review once you have downloaded the file.


Lewok2007

   5 of 5 members found this review helpful 5 / 5 members

KOTORModSync is amazing for installing the large Kotor Reddit mod builds by Snigaroo. Usually they can take hours of the day to install, but with KOTORModSync, it can only take around 20 minutes to an hour - depending on how fast you are able to install and how quick your computer is. The GUI themes look amazing. I personally prefer the TSL theme. The GUI itself is also very easy to read and understand. Any thing that I needed more information on was able to be reviewed in the output window. 

While KOTORModSync has had some issues, they were either reasonable or minor enough. It is nothing that is too bad. 

Overall KOTORModSync is a big yes, and I will always be using it to install the Kotor Reddit mod builds when I need to. 5/5 Stars. Good Job @th3w1zard1

  • Like 2
  • Thanks 1
  • Light Side Points 1

Share this review


Link to review
JoeNotCharles

   1 of 1 member found this review helpful 1 / 1 member

Essential tool. I never would have even considered installing the modbuilds without this.

  • Thanks 1

Share this review


Link to review
sovietshipgirl

   1 of 1 member found this review helpful 1 / 1 member

you are a god amongst men.

  • Light Side Points 1

Share this review


Link to review
slimsmcgee

   0 of 1 member found this review helpful 0 / 1 member

Is there any way to get this installed on a Linux distro that doesn't support apt? I tried dnf with a few different modifiers, but it made no difference. Running Nobara (Fedora derivative). There are a few distros, especially gaming centric ones, gaining traction that doesn't use apt. Thanks for any help. 

Response from the author:

Frankly I'm not sure, I've been testing other projects ironically with Fedora lately so I'll give this another look. The linux instructions were mainly to inform users that they may need to install additional system packages. Finding them should be, I imagine, the same as finding them for anything else. I can't test every distro under the sun.

I am self-containing the KOTORModSync release, in THEORY you shouldn't have to install anything besides a desktop environment of some sort (which is default unless you're running headless). Let me know if you get any specific errors with modsync however, and I can attempt to reproduce on my end next opportunity I have.

To clarify you should not have to install any system packages. Just run it and tell me if the UI pops up or not.

HoloPatcher itself may rely on glibc v2.32 which is an ongoing issue you can read about here: Linux - Issues with Libc on older systems · Issue #44 · NickHugi/PyKotor (github.com)

Share this review


Link to review
Bas Qui-Xoi

  

It works like a charm. I had no issues installing the spoiler free build. Thanks for this!

Share this review


Link to review