A modern, cross-platform desktop application for patching and customizing your Terraria installation.
Apply quality-of-life improvements, manage community plugins, and fine-tune game settings โ all through a clean and intuitive UI.
Apply standalone patches directly to the Terraria executable:
| Category | Patches Available |
|---|---|
| ๐ Quality of Life | Display Time, Functional Social Slots, Max Crafting Range, Pylon Everywhere, Remove Angler Daily Limit |
| โ๏ธ Combat & Debuffs | Remove Rod of Discord Debuff, Remove Potion Sickness, Remove Mana Costs, Remove Drowning |
| ๐ Overpowered / Cheats | One Hit Kill, Infinite Ammo, Infinite Wings, Infinite Cloud Jumps |
| โจ Persistent Buffs | Permanently activate any buff for your character |
| ๐ Healing Rates | Tune Vampire Knives & Spectre Armor life steal percentages |
| ๐พ Spawning Tweaks | Adjust Voodoo Demon spawn rate |
| ๐ Loot & Bags | Force Treasure Bags to always drop every possible item |
- Browse and manage community plugins in a dedicated tab
- Enable or disable each plugin individually
- Auto-sync support โ apply plugin changes automatically
- Set your Terraria executable path
- Enable third-party plugin loading from
\Plugins\*.cs - Language selector with search support
- Auto-save settings on change
- ๐บ๐ธ English
- ๐ง๐ท Portuguรชs Brasileiro
| Technology | Usage |
|---|---|
| Electron | Desktop application framework |
| React 19 | UI library |
| TypeScript | Type safety across the entire codebase |
| electron-vite + Vite | Fast build tooling & HMR |
| Tailwind CSS v4 | Utility-first styling |
| shadcn/ui | Component system built on Radix UI |
| react-i18next | Internationalization |
| react-router-dom | Client-side routing |
| lucide-react | Icon library |
- Node.js
>= 18 - pnpm
>= 8 - .NET 10 Runtime (required for patching features on Windows/Linux/macOS)
- No compiler toolchain is required just to use the app and apply patches.
- Install the .NET 10 Runtime if the app reports that patching features are unavailable.
- On Linux FNA builds, plugin
.cscompilation at game runtime requiresmono-devel(only if you use the plugin system with source plugins).
On Linux, electron-edge-js is compiled during install (node-gyp), so you need a native build toolchain available.
Install the required system packages before running pnpm install / npm install:
sudo apt-get update
sudo apt-get install -y build-essential python3 pkg-configIf you see an error like Error: not found: make, it usually means build-essential is missing.
Install Mono compiler tools if you want to test FNA plugin .cs runtime compilation locally:
sudo apt-get install -y mono-develIf you are running Electron in a VM (or hit Linux sandbox issues during development), use:
pnpm dev -- --no-sandboxThe C# bridge used by patching features now targets .NET 10 (net10.0) for cross-platform support.
- End users: install the .NET 10 Runtime (or SDK) if patching features report a missing .NET runtime
- Contributors: install the .NET 10 SDK to build/modify the C# bridge
Official downloads:
git clone https://github.com/your-username/terraria-patcher.git
cd terraria-patcher
pnpm installpnpm devThis project uses a C# patching bridge (edge-js + Mono.Cecil) located in src/main/bridge.
- The C# source code is the canonical implementation for patching logic.
- Prebuilt bridge binaries may be kept in the repository for convenience, so the app can run without requiring every contributor to build the bridge first.
- If you change any file inside
src/main/bridge(.cs/.csproj), rebuild the bridge before testing:
cd src/main/bridge
dotnet build -c Release- The Electron main process loads the compiled bridge from:
src/main/bridge/bin/Release/TerrariaPatcherBridge.dll
- The bridge runtime files generated by
dotnet buildare also required:src/main/bridge/bin/Release/TerrariaPatcherBridge.runtimeconfig.jsonsrc/main/bridge/bin/Release/TerrariaPatcherBridge.deps.json
The FNA plugin loader (resources/plugins/PluginLoader.FNA.dll) should be built as a Mono-compatible assembly (for the Terraria/FNA runtime).
Set FNA_LIB_DIR to the Terraria FNA managed files folder (must contain FNA.dll and Terraria.dll or Terraria.exe), then build:
export FNA_LIB_DIR="/path/to/Terraria"
pnpm run build:plugin-loader-fnaThis copies the compiled loader to:
resources/plugins/PluginLoader.FNA.dll
Runtime note (for plugin .cs compilation in FNA builds):
- Install Mono compiler tools (
mcs), e.g.mono-devel/mono-complete build:plugin-loader-fnausesmsbuild(Mono/VS Build Tools) to keep the output compatible with Terraria's runtime
pnpm build # Current platform
pnpm build:win # Windows (.exe)
pnpm build:mac # macOS (.dmg)
pnpm build:linux # Linux (.AppImage)terraria-patcher/
โโโ src/
โ โโโ main/ # Electron main process
โ โโโ preload/ # Electron preload scripts
โ โโโ renderer/ # React frontend
โ โโโ src/
โ โโโ components/ # Shared UI components
โ โโโ pages/ # App pages (Patcher, Config, About...)
โ โโโ locales/ # i18n translation files (en, pt-BR)
โ โโโ i18n.ts # i18n configuration
โโโ build/ # Electron Builder resources
โโโ resources/ # App icons and static assets
This project is heavily inspired by the original Terraria Patcher created by Doug Benham โ an incredible developer who laid the foundation for IL-based Terraria patching on Windows.
Our goal is to build on that foundation with a modern UI and native cross-platform support.
โ ๏ธ Note: The app supports patching on Windows and Linux. macOS support remains a cross-platform target, but may still require additional validation depending on the Terraria distribution/runtime setup.
Released under the MIT License.
Made with โค๏ธ for the Terraria community