OSRO Tools is a high-performance automation assistant built for Oldschool RO. It handles the repetitive and time-sensitive tasks that the game client doesn't manage natively, allowing you to focus on gameplay.
It provides extensive support for automated potion consumption, skill spamming, buff maintenance, and status recovery.
📚 View the full OSRO Tools Wiki here!
- Autopot HP/SP: Automatically consumes potions when your HP or SP falls below a configurable percentage.
- Status Recovery: Monitors your character's status and automatically uses items (like Panaceas or Green Potions) to cure negative debuffs.
- Skill Timer: Configurable multi-lane timers for maintaining specific skills or buffs, with support for cursor-based or center-click targeting.
- Skill Spammer: Rapidly spams specified skills while holding or toggling a hotkey.
- Autobuff: Automatically reapplies items and skills at configured intervals.
- Auto Off: Automatically shuts down the game client based on a timer or when your character becomes overweight.
- Smart Pausing: Automatically pauses automation features when you are chatting, dead, or standing in a town.
OSRO Tools is built on .NET 8 as a single, unified executable that utilizes a strictly decoupled multi-threaded architecture to ensure maximum performance and seamless UI interaction on older hardware:
-
WorkerCore (Background Core)
- Contains all the background logic, Win32 API calls (
ReadProcessMemory,SendInput), and state management. - Runs entirely on a dedicated background thread to prevent any heavy hooking operations from blocking the UI.
- Pushes state changes to the UI continuously (e.g. 50ms HP/SP updates).
- Contains all the background logic, Win32 API calls (
-
WPF Frontend
- Modern hardware-accelerated WPF interface using the
CommunityToolkit.Mvvm. - Runs on the main STA thread. DWM compositing allows for smooth window dragging without lag.
- Strictly data-bound views ensure the UI is purely reactive.
- Modern hardware-accelerated WPF interface using the
The Worker and UI run in the same process but remain strictly isolated. They communicate via structured payloads and events, enforcing a clean separation of concerns and ensuring real-time state syncing never causes UI lockups.
* Architecture & Framework
- Upgraded entire codebase from legacy .NET Framework to modern .NET 8
- Replaced the heavy MDI WinForms container with a hardware-accelerated WPF interface
* User Interface (UI)
- Implemented the MVVM pattern via CommunityToolkit.Mvvm for responsive data binding
- Separated UI logic completely from data models (e.g., Buff models are now strictly data-only)
- Consolidated Autobuff Skills and Items into a unified Search interface
- Introduced a centralized AppColors palette for consistent theming and easy customization
- Added a rich, colorized Debug Log view panel for monitoring backend worker events
* Core Features
- Rebuilt unified Key Input handling with global duplicate interception across all tabs
- Refactored auto-off conditions, particularly overweight handling and timer integrations
- Standardized all UI inputs with consistent styling
- Windows OS
- .NET 8.0 SDK
- Clone the repository.
- Build the solution using the .NET CLI or Visual Studio:
dotnet build ORTools.sln
- Run the ORTools.UI executable.
- The application will immediately prompt you for Administrator privileges (via a UAC prompt), which are required for reading the game's process memory.
- Once granted, the UI window will appear, the background worker will initialize automatically on a separate thread, and you're ready to go!
If you're looking to contribute or understand the codebase, please read the AGENTS.md file. It contains comprehensive documentation on the IPC protocol, model conventions, and styling guidelines used throughout the application.