NewWorldConfigManager

New World Config Manager

Main Git Page

New World Config Manager Logo

New World Config Manager is a desktop application created by Involvex, designed to help you easily manage, edit, backup, and restore your New World game configuration files. It provides a user-friendly interface for handling complex XML settings, including key rebindings and various user preferences like UI colors.

Table of Contents

Features

Screenshots

Note: It’s highly recommended to add a few screenshots here to showcase the application!


Requirements

Installation & Setup

Option 1: Run from Source (Development)

  1. Clone the repository:

    Open PowerShell and run:

    git clone https://github.com/involvex/NewWorldConfigManager.git
    cd NewWorldConfigManager
    
  2. Create a virtual environment (recommended):

    python -m venv .venv
    
  3. Activate the virtual environment:

    .\.venv\Scripts\Activate.ps1
    
  4. Install dependencies:

    pip install -r requirements.txt
    
  5. Run the application:

    python main.py
    

Option 2: Using the Build Script

A PowerShell build script is provided to automate the process:

  1. Open PowerShell in the project directory.

  2. Run the build script with the -Clean flag to ensure a fresh build:

    .\build.ps1 -Clean
    

    The first run will set up the virtual environment, install dependencies, and build the executable.

  3. The built executable will be in the dist\ folder:

    .\dist\NewWorld Config Manager.exe
    

Cleaning Build Artifacts

To remove all build artifacts and start fresh:

.\clean.bat

This removes dist\, build\, __pycache__ folders and .pyc files.

Building the Application

The project uses PyInstaller to create a standalone Windows executable.

Prerequisites

Build Steps

  1. Ensure you have a clean state:

    .\clean.bat
    
  2. Run the build script:

    .\build.ps1 -Clean
    

    The script will:

    • Verify the virtual environment exists (or create it)
    • Install dependencies
    • Run PyInstaller with the project spec file
    • Verify the output executable
  3. Find the executable:

    dist\NewWorld Config Manager.exe
    

Build Script Options

.\build.ps1              # Normal build
.\build.ps1 -Clean       # Clean before building
.\build.ps1 -NoBuild     # Setup only (no PyInstaller)

How to Use

  1. Launch the Application: Run python main.py from the project directory (or use the built executable).

  2. Load Configuration:
    • Click “Load Rebindings Config” to load and edit key bindings.
    • Click “Load User Settings (javsave)” to load and edit general game settings.
    • The application will prompt you to back up your settings before loading a configuration for the first time or when switching.
  3. Edit Settings:
    • Rebindings: In the tree view, double-click or select an item in the “Current Binding” column to edit its value.
    • User Settings:
      • For text/numeric values: Double-click or select an item in the “Value” column to edit.
      • For color values (identified by a color swatch icon): Use the integrated R, G, B sliders and Alpha (A) spinbox that appear in the “Value” column. The color preview icon will update live.
  4. Save Changes:
    • Once you’ve made your desired changes, click “Save Current Config”. This will overwrite the original configuration file with your modifications. The “Reset Current Changes” button will become disabled.
  5. Reset Changes:
    • If you want to discard any modifications made since the last load or save, click “Reset Current Changes”. This will reload the configuration from disk.
  6. Backup Settings:
    • Click “Backup Settings Now” to create a full backup of your New World configuration folder.
    • Backups are timestamped and stored in the parent directory of your New World config folder (e.g., .../AGS/New World_backup_YYYYMMDD_HHMMSS/).
  7. Restore from Backup:
    • Click “Restore from Backup”.
    • You will be prompted to select a backup folder.
    • Confirm the restore operation. Caution: This will overwrite your current live New World settings with the contents of the selected backup.

File Structure

NeWWorld-Config-Manager/
├── newworld_config_manager/    # Main application package
│   ├── ui/                     # UI related files (widgets, assets)
│   │   ├── assets/             # Image assets, stylesheet
│   │   └── __init__.py
│   ├── __init__.py
│   ├── config_parser.py        # Logic for finding, loading, saving, backing up configs
│   └── main_window.py          # Main application window and UI logic
├── main.py                     # Entry point of the application
├── README.md                   # This file
├── build.ps1                   # PowerShell build script (Windows)
├── clean.bat                   # Batch file to clean build artifacts
├── requirements.txt            # Python package dependencies
└── .gitignore                  # Specifies intentionally untracked files

Troubleshooting

“New World config directory not found”:

“Failed to parse usersettings.javsave as XML”:

Build Failures

Running on PowerShell

If you encounter execution policy errors:

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Then run the build script again.

Disclaimer

Important: Modifying game configuration files can potentially lead to unexpected behavior if not done carefully. While this tool aims to provide a safe way to manage these settings, always consider backing up your settings before making significant changes. The “Backup Settings Now” feature is provided for this purpose. Use this tool at your own risk.


Contributing

Contributions, issues, and feature requests are welcome! Feel free to check the issues page.


License

This project is licensed under the MIT License - see the LICENSE file for details.


Created by Involvex