Comprehensive automation script for The Settlers Online game client running on Adobe AIR.
This script provides extensive automation capabilities for The Settlers Online, including adventure management, resource collection, trading, and more. Built specifically for the Adobe AIR client with full compatibility for AIR 32.0.0.116.
- ✅ Automated adventure completion with pathfinding
- ✅ Speed buff management
- ✅ Unit training and retraining
- ✅ Camp elimination tracking
- ✅ Step-by-step adventure monitoring
- ✅ Automated deposit collection
- ✅ Star menu resource gathering
- ✅ Warehouse overflow management
- ✅ Building production monitoring
- ✅ Automated mail collection
- ✅ Loot mail processing
- ✅ Gift acceptance
- ✅ Geologist message handling
- ✅ Trade acceptance automation
- ✅ Market monitoring
- ✅ Resource trading
- ✅ Friend list management
- ✅ Specialist deployment
- ✅ Buff application to friends
- ✅ Cooldown tracking
- ✅ Auto-buff on island visits
- ✅ Quest automation
- ✅ Mystery box opening
- ✅ Production monitoring
- ✅ Auto-update functionality
- ✅ Customizable settings
- Download
user_auto.jsfrom this repository (click the file, then "Raw", then save) - Open your TSO client
- Click on the settings icon to open the client folder:
- Navigate to the
userscriptsfolder:
- Copy
user_auto.jsinto theuserscriptsfolder - Restart the client or click Tools → Update in the menu
- Verify installation - you should see "Automation" in the game menu
After installation:
- Open the Automation menu in-game
- Configure your preferences in Settings
- Enable desired automation features
- Start with Auto Adventures or Auto Mail as entry points
- Node.js 18+ (for development tools only, not required for game usage)
- Adobe AIR Runtime 32.0.0.116 (for testing)
# Install development dependencies
npm install
# Run linter
npm run lint
# Run tests
npm testThe project includes automated linting and CI/CD:
# Check code for AIR compatibility issues
npm run lint
# Run tests (when available)
npm testThis project runs in Adobe AIR 32.0.0.116, which has limited JavaScript support:
- ✅ Supported:
const,var, traditional functions,.indexOf() - ❌ NOT Supported:
let,.includes(),.startsWith(), arrow functions, template literals - ❌ NO
consoleobject: Usedebug()function instead
Critical: Code using unsupported features will crash the entire game client!
📖 See docs/COMPATIBILITY.md for detailed compatibility information.
We welcome contributions! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Test in the AIR client to ensure no crashes
- Lint your code (
npm run lint) - Commit with clear messages (see commit history for examples)
- Push to your fork
- Submit a pull request
Important Guidelines:
- All code must be compatible with Adobe AIR 32.0.0.116
- Use
varinstead oflet,.indexOf()instead of.includes() - No
console.*calls (usedebug()instead) - Test thoroughly in the actual game client
- Follow existing code style
📖 See docs/COMPATIBILITY.md for detailed compatibility requirements.
autoTSO/
├── user_auto.js # Main automation script
├── docs/ # Documentation
│ ├── COMPATIBILITY.md # AIR JavaScript compatibility guide
│ └── user_auto_analysis.md # Code analysis and improvement suggestions
├── .github/
│ └── workflows/
│ └── ci.yml # GitHub Actions CI/CD pipeline
├── .eslintrc.json # ESLint configuration (AIR-compatible)
└── package.json # Dev dependencies (for CI/CD only)
- Compatibility Guide - Detailed AIR JavaScript compatibility information
- Code Analysis - Code structure and improvement suggestions
- Contributing Guide - How to contribute to the project
- Ensure
user_auto.jsis in the correctuserscriptsfolder - Try restarting the TSO client completely
- Check the JavaScript console for errors
- Likely caused by AIR-incompatible JavaScript syntax
- Check for use of
let,.includes(), orconsole.*calls - Revert to a previous working version
- Report the issue with error details
- Check that automation is enabled in the game menu
- Verify settings are configured correctly
- Check the
debug()output for error messages - Ensure you have the required resources/items in-game
- ✅ Path validation prevents directory traversal attacks
- ✅ Backup creation before auto-updates
- ✅ Error handling throughout the codebase
- ✅ No external dependencies at runtime (pure JavaScript)
- ✅ Open source - review the code yourself
Recent updates:
- v2.0.3 (In Progress) - AIR compatibility fixes, CI/CD infrastructure, comprehensive documentation
- v2.0.2 - Bug fixes and stability improvements
- v2.0.0 - Major refactoring and new features
See commit history for detailed changelogs.
Private project - All rights reserved.
- The Settlers Online by Ubisoft Blue Byte
- Original script authors and contributors
- Community for testing and feedback
- 🐛 Found a bug? Open an issue
- 💡 Have a suggestion? Start a discussion
- 🤝 Want to contribute? See Contributing section above

