A cross-platform save file editor for Kingdom Two Crowns built with Tauri and SvelteKit.
- Edit player coins and gems
- Adjust resource amounts for any player (1 or 2)
- Real-time display of current values
- Fast travel between islands with custom resource loadout
- Configure coins, gems, pikemen, farmers, and boats for travel
- Take control of islands with custom spawn configurations
- Destroy all enemy portals
- Exterminate all enemies
- Mark trees for removal with coin rewards
- Deploy battle formations at specific positions
- Spawn archers and pikemen in formation
- Customizable formation offset and position
- Upgrade islands to maximum level
- Automatically upgrade castle and walls
- Spawn units and mark trees simultaneously
- Spawn individual units: archers, workers, farmers, pikemen
- Combined recruitment for multiple unit types
- Configurable quantities for each unit type
- Real-time unit count display
- Automatic backup creation before saving
- Backup files stored with timestamp
- Campaign and island context selector
- Clear status messages for all operations
- Automatic language detection
- Supported languages: English, French
- Fallback to English for unsupported languages
Download the latest release for your platform from the Releases page:
- macOS: Download the
.dmgfile - Windows: Download the
.msior.exeinstaller - Linux: Download the
.debor.AppImagefile
See Build Instructions below.
- Launch the application
- The default save file location for your operating system will be displayed:
- macOS:
~/Library/Application Support/nl.noio.kingdom-two-crowns/Release/global-v35 - Windows:
C:\Users\USERNAME\AppData\LocalLow\noio\KingdomTwoCrowns\Release\global-v35 - Linux:
~/.config/unity3d/noio/KingdomTwoCrowns/Release/global-v35
- macOS:
- Click "Open global-v35" to select your save file
- The file picker will automatically open to the default location
- Select the campaign and island you want to edit
- Navigate through the tabs: Resources, Navigation, Combat, Construction, Recruitment
- Modify the values as desired
- Click "Save" to apply changes
- A backup will be created automatically before saving
Backups are created automatically in the same directory as your save file with the format:
global-v35.backup.YYYY-MM-DD_HH-MM-SS
To restore a backup, simply rename it to global-v35 (after backing up your current save).
- Node.js 20 or higher
- Rust toolchain (install from rustup.rs)
- Platform-specific dependencies (see below)
No additional dependencies required.
- Windows 10 SDK
- Visual Studio Build Tools with C++ development tools
- WebView2 Runtime (usually pre-installed on Windows 10/11)
sudo apt-get update
sudo apt-get install -y \
libwebkit2gtk-4.1-dev \
libappindicator3-dev \
librsvg2-dev \
patchelf-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/ktcedit.git cd ktcedit -
Install dependencies:
npm install
-
Build the application:
npm run tauri build
-
Find the built application in
src-tauri/target/release/bundle/
Run the application in development mode with hot reload:
npm run tauri devRun TypeScript and Svelte type checking:
npm run checkThis project includes an automated build workflow that creates releases for all platforms.
-
Ensure all changes are committed and pushed to the main branch
-
Create and push a version tag:
git tag v0.1.0 git push origin v0.1.0
-
GitHub Actions will automatically:
- Build for macOS (Universal Binary)
- Build for Windows (MSI and NSIS installer)
- Build for Linux (DEB and AppImage)
- Create a draft release with all artifacts
- Generate changelog from commits since last tag
-
Review the draft release on GitHub and publish when ready
You can also trigger builds manually without creating a tag:
- Go to the "Actions" tab in your GitHub repository
- Select the "Build and Release" workflow
- Click "Run workflow"
- Choose the branch and click "Run workflow"
Follow Semantic Versioning:
- MAJOR version for incompatible API changes (v1.0.0, v2.0.0)
- MINOR version for new functionality in a backward compatible manner (v1.1.0, v1.2.0)
- PATCH version for backward compatible bug fixes (v1.0.1, v1.0.2)
Examples:
# New feature release
git tag v1.1.0
git push origin v1.1.0
# Bug fix release
git tag v1.0.1
git push origin v1.0.1
# Breaking changes
git tag v2.0.0
git push origin v2.0.0ktcedit/
├── src/ # Frontend source code
│ ├── lib/
│ │ ├── components/ # Svelte components
│ │ ├── i18n.ts # Internationalization
│ │ └── saveEditActions.ts # Save file manipulation
│ └── routes/
│ └── +page.svelte # Main application page
├── src-tauri/ # Rust backend
│ ├── src/
│ │ └── main.rs # Tauri application entry
│ └── tauri.conf.json # Tauri configuration
├── .github/
│ └── workflows/
│ └── build.yml # CI/CD workflow
└── package.json # Node.js dependencies
- Frontend Framework: SvelteKit 2.x with Svelte 5
- Language: TypeScript 5.x
- Desktop Framework: Tauri 2.x
- Backend Language: Rust
- Build Tool: Vite 6.x
- Styling: Custom CSS (dark theme)
Kingdom Two Crowns uses JSON-based save files with the following structure:
- Campaign data with biome information
- Island data with game objects
- Player data with resources
- Entity spawning system
- Component-based architecture
This editor manipulates the save file structure directly while maintaining compatibility with the game.
- Kingdom Two Crowns (v35 save format)
Other versions may work but are not officially tested.
Right-click the app, select "Open", then click "Open" in the dialog.
Alternatively, go to System Preferences > Security & Privacy and allow the app.
Click "More info" then "Run anyway".
Make the file executable:
chmod +x ktcedit_*.AppImage
./ktcedit_*.AppImageEnsure Kingdom Two Crowns is installed and has been run at least once. The save file is only created after playing the game.
Make sure to:
- Close Kingdom Two Crowns before editing
- Save changes in the editor
- Verify the backup was created
- Restart Kingdom Two Crowns
Contributions are welcome! Please feel free to submit a Pull Request.
- Follow the existing code style
- Add type definitions for new functions
- Test changes on your platform before submitting
- Update documentation for user-facing changes
- Include clear commit messages
Use conventional commits:
feat: add support for knight spawning
fix: correct coin calculation for player 2
docs: update installation instructions
chore: update dependencies
MIT License - see LICENSE file for details
- Original Python implementation: bitwitch/kingdom-edit
- Kingdom Two Crowns by Noio and Raw Fury
This is an unofficial tool. Use at your own risk. Always backup your save files before editing.
The developers of this tool are not affiliated with Noio or Raw Fury.