Mod Manager - ModManagerGUI.ps1
Tower Network Inc - PowerShell Mod Manager#
A standalone, interactive PowerShell-based mod manager that provides a user-friendly interface for configuring Tower Network Inc mods without needing to edit lua files manually.
Features#
✨ Interactive Text UI
- Color-coded menus and status indicators
- Easy keyboard navigation
- Real-time config updates
🎮 Full Mod Management
- View all installed mods with metadata
- Enable/disable mods
- Configure all mod parameters with validation
Requirements#
- Windows with PowerShell 5.1+ (built into Windows 10/11)
- OR PowerShell Core 7+ (cross-platform)
How to Use ModManagerGUI.ps1#
Quick Start#
Locate the Mod Manager
- The
ModManagerGUI.ps1file is in the root of this repository - Download it or clone the repository to your local machine
- The
Run the GUI
# Navigate to the repository folder cd path\to\TNI-Mods # Run the GUI .\ModManagerGUI.ps1Or simply double-click
ModManager.batfor a quick launch!Navigate the Interface
- Use arrow keys to navigate menus
- Press Enter to select options
- Follow on-screen prompts to configure mods
Managing Mods#
Viewing Installed Mods#
The main screen displays all detected mods with:
- Mod name and description
- Current status (Enabled/Disabled)
- Available configuration parameters
- Version and compatibility information
Enabling/Disabling Mods#
- Select a mod from the list
- Choose “Toggle Enable/Disable”
- The mod will be activated or deactivated for your next game session
Configuring Mod Parameters#
Each mod can have configurable parameters:
- Select a mod from the main list
- Choose “Configure Parameters”
- Set values for each parameter:
- Boolean: Toggle true/false
- Integer/Number: Enter numeric values (validated against min/max)
- String: Enter text values
- Select: Choose from dropdown options
Configuration Location#
The mod manager reads/writes configuration directly in each mod’s entry.lua file:
%APPDATA%\Godot\app_userdata\Tower Networking Inc\mods\<mod-name>\entry.lua
Changes update the configuration section between the markers:
-- ===== MOD CONFIGURATION START =====
local config = { ... }
-- ===== MOD CONFIGURATION END =====
Parameter Types Supported#
Boolean#
- Simple yes/no toggles
- Displays as
trueorfalse
Integer#
- Whole numbers only
- Validates against Min/Max if specified
- Example:
warranty_multiplier_min: 2
Number (Float)#
- Decimal numbers
- Validates against Min/Max if specified
- Example:
starting_cash_multiplier: 10.5
String#
- Free-form text input
- Example:
address_format: "f%d/usr%d"
Select (Dropdown)#
- Choose from predefined options
- Example:
dhcp_mode: ["disabled", "boot_dhcp", "periodic_dhcp"]
Advanced Usage#
Command Line Mode#
You can script the mod manager for automation:
# Load the module
. .\ModManager.ps1
# Get all mods
$mods = Get-InstalledMods
# Load config
$config = Get-ModConfig
# Enable a specific mod
Set-ModEnabled $config "random-warranties" $true
# Set a parameter
Set-ModParameter $config "random-warranties" "warranty_multiplier_max" 50
# Save changes
Save-ModConfig $config
Custom Config Location#
Edit these lines at the top of ModManager.ps1 to use a custom location:
$script:ConfigDirectory = "C:\Your\Custom\Path"
$script:ConfigFile = Join-Path $script:ConfigDirectory "mod_config.json"
Troubleshooting#
Common Issues#
Problem: PowerShell script won’t run
- Solution: Run
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserto allow script execution
Problem: Mods not detected
- Solution: Ensure mods are installed in the correct game directory:
- Windows:
%APPDATA%\Godot\app_userdata\Tower Networking Inc\mods\ - Linux:
~/.local/share/godot/app_userdata/Tower Networking Inc/mods/
- Windows:
Problem: Configuration changes not saving
- Solution: Check that you have write permissions to the mods directory
Problem: Invalid parameter values
- Solution: The mod manager validates all inputs. Check the parameter’s min/max values in the mod’s metadata
Checking Your Setup#
Verify your PowerShell version:
$PSVersionTable
Check if mods are in the correct location:
# Windows
dir "$env:APPDATA\Godot\app_userdata\Tower Networking Inc\mods"
# Linux (PowerShell Core)
ls ~/.local/share/godot/app_userdata/Tower\ Networking\ Inc/mods/
Support#
For issues, questions, or suggestions:
- Check your mod’s
metadata.yamlis valid - Review the main README
- Look at console output for errors
- Report issues on GitHub
Installing Mods#
Using the Mod Manager#
The mod manager helps you configure installed mods. To install new mods:
- Download the mod from its mod page
- Extract the mod folder to your mods directory:
- Windows:
%APPDATA%\Godot\app_userdata\Tower Networking Inc\mods\ - Linux:
~/.local/share/godot/app_userdata/Tower Networking Inc/mods/
- Windows:
- Run ModManagerGUI.ps1 to enable and configure the mod
For Lua Mods#
If you’re using Lua mods, you’ll need the LuaJIT support mod first:
- Download
luajit.elffrom the releases page - Place it directly in the
mods/directory asluajit.elf - The game will automatically load LuaJIT before all other mods
Credits#
Created for The Tower Network Inc modding community. Compatible with modloader v1.0+.
License#
Free to use, modify, and distribute with your mod packs!