TS Build

v1.1.0·Updated 2026-06-24

This is the repository for TS-Build, a building system Packages with Multi-Framework and Multi-Runtime support. See the README for more details. This package is NOT A MOD its a MODDERS TOOL!

About this mod Author’s original text

TS-Build

This is a automated Build script setup you can use to automatically package your mods. This uses dotnet publish to build the package.

This is released as Open-Source subject to the terms found within SML-1.0.0

Credits:

  • Chaosyr: Creation of the TS-Build.bat.
  • Cecil Libraries Organization: The Original Version of the Build Script, in which we will be fully integrating down the line with the help of their Organization.

What is this built for?

This script is built for C# mods meaning that if your mods are any other language your unfortunately out of luck. For Java mods I reccomend using BlueAzures HytalePublisher. Do note its built primarily for Hytale mods, so you might have a better time forking this repository and modifying elements for where properties are fetched from.

What does it do?

This package essentially builds your mod, fetches you README, CHANGELOG, LICENSE, Manifest Fields, and any folders you wish to copy over into automatically built zips targetted ecosystem.

How can I set this up?

  • First you'll want to download the.bat file included in this repository and any other build script that may be present entitled TS-Build.
  • Drop it into your CSProj's Root.
  • Open the file in a text editor and modify the value of CSProj to %~dp0{YOUR CSPROJ'S NAME}.csproj where {YOUR CSPROJ'S NAME} is the name of the literal file that holds the CSProj you wish to target, excluding the extension. The %~dp0 handles getting the full path based on where the bat file is. So as long as the bat's where it should be you don't need to worry about paths.
  • After changing the value hit save and touch nothing else.

Configuration

This project uses several.csproj fields to configure how the script works, below is a table of CSProj Keys and what their values should be.

|.CSProj Key |.CSProj Value(s) |

|:------------------------------------------|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|

| ` | This should be a list; seperated of all netframeworks the mod works with, or just the primary one, No does not work with this. If its invalid the fallback is net6.0`. |

| ` | This should be a list; seperated of all Runtime Identifiers the mod works with, or just the primary one. If its invalid the fallback is win-x64`. |

| ` | This should be a; seperated list of all paths (root localized) in which should be copied directly to the package, keep in mind by directly we mean its root folder, not the plugins subfolder. If its invalid the fallback is hunderstore-Package-Elements`. |

| ` | This should be a; seperated list of all paths (root localized) in which the package's mod should be published to for example BepInEx/patchers;BepInEx/plugins` builds it to both the Plugins and the Patchers folder. If invalid, it will publish to root. This field is Optional. |

| `` | The root localized path to the Changelog location. |

| `` | The root localized path to the README location. |

| `` | The root localized path to the LICENSE location. |

| `` | The root localized path to the Dependencies location. Note these should be dependencies needed by your mod to function that aren't covered by the Mod Installation setup itself. For example NuGet packages. If invalid, it just skips creating the folders and copying. This field is Optional. |

| ` | A string with the value of Release for Release Publishing or Debug for Debug Publishing (otherwise known as Prerelease). If the value is invalid the fallback is Debug`. |

| ` | The Package Name. It must adhere to the following spec: Name of the mod, no spaces. Allowed characters: a-z A-Z 0-9 _` |

| `` | The Package Version. It must adhere to the following

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

File & checksum

Filename
TS_Build-1.1.0.zip
File size
21.4 KiB