01 · Product overview
Classic World · Local desktop automation
MapleStory Classic Bot
A configurable bot for MapleStory Classic World on Windows 10/11 and Apple silicon or Intel Macs. Automate grinding, farming, potions and buffs with local screen recognition. Choose stationary attacks, two-point patrols or custom routes, using character and monster templates captured in your own game setup.
- Platforms
- Windows 10/11 · Apple silicon / Intel Mac
- Processing
- Local screen recognition
How okya works with Classic World#
The desktop client reads the visible game window and sends the local key controls you configure; it does not need your MapleStory password. It detects your character, selected monsters, minimap and HP/MP areas, then follows your saved strategy. The browser map editor creates route files, but the bot itself runs on your computer, not in the browser. Check your server, game version and operating system with support before buying, because updates and visual changes can affect compatibility.
Grinding, potions, buffs and custom routes#
Configure the actions that fit your Classic World map and character. Start with one monster and Stationary Attack, check recognition in the runtime log, then add movement, potions, buffs or pickup.
Character and monster recognition
Create left- and right-facing image templates for your character and target monsters. The client uses them to locate visible targets.
Grinding and farming routes
Attack from one position, patrol between two minimap coordinates, or build a route for a multi-platform map in the free browser editor. Export the JSON route and import it into the desktop client.
Automatic potions and buffs
Set HP/MP thresholds, potion keys, cooldowns, and up to five timed buff slots to match your in-game shortcuts.
Pickup and combat controls
Configure attack, jump, pickup, directional behavior, and strategy-specific timing from one desktop control panel.
Runtime logs and startup checks
Review window, minimap, character, monster, and vital-stat detection before leaving a strategy running.
Local profiles and routes
Save configuration, custom templates, and map-route files locally so each setup can be tested and adjusted.
Classic bot requirements and compatibility#
- 64-bit Windows 10/11, or a Mac with Apple silicon (M-series, macOS 11+) or an Intel processor (macOS 12+)
- MapleStory with the minimap visible
- Accessibility and Screen & System Audio Recording permissions on macOS
- A valid license and a network connection for first activation
- Templates captured on the operating system and game setup you will actually use
Before choosing a MapleStory Classic bot#
Does it support Windows and macOS?+
Yes. The current client supports 64-bit Windows 10/11, Apple silicon Macs (macOS 11+) and Intel Macs (macOS 12+), with a separate Mac package for each chip.
Which Classic World version should I check before buying?+
This guide focuses on Global MapleStory Classic World. Compatibility depends on the server, game version, operating system and current game UI. Contact hi@okya.app with those details before purchasing; the Classic name alone does not mean every server or update will work with the same setup.
Is this an online bot, or does it run on my computer?+
The bot is a paid desktop client that runs locally on Windows or a Mac. The map route editor is free and runs in your browser: import a map image, create nodes and movement actions, export JSON, then import the route into the desktop client. The browser editor does not run the game or bot.
How do I get the license and download?+
Monthly $19 / 30 days, quarterly $39 / 90 days, annual $99 / 365 days. All include all automation features. Lifetime licenses are no longer sold. After payment is confirmed, the order page provides the license key and separate Windows and Apple silicon Mac download buttons. Download the client from your official order, then follow the installation and first-use steps below.
02
User guide
Gameplay screenshots#
Installation, permissions, and activation#
Install the package for your operating system, then complete the platform-specific checks before configuring a strategy.
Windows installation
Extract the entire 64-bit Windows ZIP to a permanent folder. Do not launch it from inside the ZIP preview. Run the program as administrator.
Mac installation
Move the app to Applications before opening it. Grant both Accessibility and Screen & System Audio Recording in Privacy & Security, then quit the app completely and reopen it. Use the package that matches your chip: Apple silicon or Intel.
Verify macOS permissions
Accessibility lets the app send movement, combat, and recovery keys. Screen & System Audio Recording lets it read the game window, character, minimap, and HP/MP. Add the installed app—not Terminal, Python, an old build, or a folder—to both lists, enable both switches, then quit with Command-Q and reopen it.
Activate the license
Enter the complete license without leading or trailing spaces, activate it while connected to the Internet, and wait for the success state before returning to the main screen. If macOS asks for Keychain access, use the current Mac login password, not the license code.
Local data and backups
Windows data is stored under %LOCALAPPDATA%\Okya\; macOS data is under ~/Library/Application Support/Okya/. Back up config.json, templates, and maps only. Never copy license.dat to another computer; activate the new device separately.
Build reliable recognition templates#
Templates tell the client what to find on screen. Capture both facing directions on the same operating system and game setup you will actually use.
Character templates (15 × 15 px)
Create a named character profile, face left, and capture the stable area near the top of the head. Face right and select exactly the same body region. Confirm that both previews contain only the character, then save and select the profile.
Monster templates (10 × 10 px)
Choose a monster with limited animation and few distinct frames so its appearance changes very little while moving. Capture the same stable, distinctive area—such as the top of the head, a horn, or near the eyes—while it faces left and right. Start with one selected monster; daily use is usually most stable with one to three.
Good and bad samples
A good pair uses the same position in both directions and contains only the target. Recapture samples containing ground, platform edges, background, names, damage numbers, chat text, pets, skill effects, or another monster.
When to capture again
Recreate every template after changing outfits, visual effects, game clients, or operating systems. Windows and macOS may render pixels differently.
First-use setup#
The following flow is based on the actual desktop client and its first-use guide.
- 1
Install the correct package for 64-bit Windows, an Apple silicon Mac or an Intel Mac. On macOS, move the app to Applications before granting permissions.
- 2
Use windowed or borderless-window mode. Keep the minimap and HP/MP areas fully visible on the primary display.
- 3
Activate the license and select the correct game server so the client can use the matching minimap and HP/MP recognition regions.
- 4
Capture matching left- and right-facing templates for your character and target monster. Re-capture them after major visual or platform changes.
- 5
For the first test, choose Stationary Attack and configure only the character, one monster, attack key, and jump key.
- 6
Start the strategy and read the runtime log. Enable potions, buffs, and pickup only after both character and minimap recognition succeed.
Configure modes, combat, and optional actions#
Change one setting at a time, save it, and observe the runtime log before enabling the next feature.
Game window and basic settings
Use a window or borderless window on the primary display. Keep the minimap fully expanded and the default HP/MP area visible. Select the real server because it affects minimap colors and HP/MP regions, select the saved character, and begin with one monster. Keep the lie-detector alert enabled and test its sound.
Use diagnostic modes first
Recognition-only verifies the game window, character, monsters, minimap, and HP/MP without sending combat input. Movement-only validates a patrol or preset route. Full execution should be enabled only after both checks pass.
Combat and movement
Match attack and jump keys to the game shortcuts. Begin with conservative horizontal and vertical detection ranges; ranges that are too large can make the client react to targets on another platform.
HP and MP recovery
Enable HP and MP separately. A 50% threshold and about a one-second cooldown are practical test values; cooldowns must not be below 0.1 seconds. If the log shows HP or MP as 0.0%, disable recovery and first verify the server, window position, UI, and screen-recording permission.
Buffs and item pickup
Up to five timed buff slots are available. Test one slot first; every enabled slot needs a key and a period greater than zero. For pickup, 0.45 seconds is a stable starting interval and the minimum is 0.05 seconds. Very frequent pickup can interrupt combat and queue inputs.
First complete run
Enter the target map, expand the minimap, confirm HP/MP, save the server, character, monster, strategy, and keys, then start from a safe position. Wait for the app to return focus to the game and do not switch applications. The strategy is running only after the log confirms the game window, character, minimap, and startup checks.
30-second preflight check
Confirm the correct map and safe position, the game on the primary display, expanded minimap, correct server/profile/monster/strategy, matching attack/jump/potion/buff/pickup keys, sufficient supplies and inventory space, and an audible lie-detector alert.
Three map strategies#
Each strategy is designed for a different map shape. Test movement without optional actions before using a new configuration.
Stationary Attack
Recommended for the first test and fixed platforms. The client records the starting minimap position and can attempt to return after knockback or drift.
Two-Point Patrol
Moves between horizontal A and B coordinates on the minimap, with configurable pauses and optional attacks at the endpoints.
Custom Route Patrol
Follows a route file you build in the map editor with nodes, platforms, and actions. Routes must match the current map.
Create and use a custom bot route#
The map editor lets you describe how the bot should move through a specific map. Build the route against the same map and game view you will use in the desktop client.
Build a route in three steps
- 1Import the map you actually use
Take a screenshot from the game while it is running with the same map, window mode, and minimap layout you will use with the desktop client. Open the map editor and choose Import map. Avoid guide-site images, resized pictures, or screenshots from another setup because their coordinates may not match.
- 2Crop the minimap in the upper-left
Choose Crop, click the upper-left corner of the visible minimap, then its lower-right corner, and save the crop. Keep the complete traversable minimap inside the selection while excluding the game world, chat, quests, and other UI. Confirm that the cropped area matches the minimap the desktop client will recognize.
- 3Place nodes and build the route
Choose Node and place points at turns, landing positions, ropes, ladders, and portals. Mark platforms when they help describe the terrain, connect neighboring nodes, and assign the correct walk, jump, climb, drop, or teleport action. Export the route, import it for the matching map in the desktop client, and test movement before enabling combat or pickup.
Updates, backups, and support#
Preserve your tested setup when updating, but do not move device-bound license data or sensitive information.
Before an update
Stop the strategy, quit the app, and back up config.json, templates, and maps. Install the new version separately, then verify the version, selected templates, server, shortcuts, and strategy settings.
Moving to another computer
Regular configuration and route files can be reviewed and migrated. Do not migrate license.dat. Activate the new device, grant its permissions, and recapture character and monster templates on the target system.
Change the bound device
A license is bound to the device where it was first activated. After switching computers, reinstalling the system, or replacing hardware, contact support at hi@okya.app with your order ID so the binding can be changed. Do not copy license.dat to the new device.
When contacting support
Include the app version, operating system and chip, server, window mode, strategy, relevant parameters, and the complete log from startup parameters to the first failure. Remove license keys, device identifiers, account names, and other secrets.
03
Troubleshooting
Find the symptom, apply the fix, and stop at the first step that works. Finish the basic setup before digging into a specific problem.
Troubleshooting in the right order#
The runtime log is the first source of truth. Fix the earliest failed startup check before changing strategy parameters.
Game window not found
Confirm the game is open on the primary display in windowed or borderless mode. On macOS, recheck Screen & System Audio Recording and restart the app after changing permission.
Character, monster, or minimap not recognized
Remove visual obstructions, verify the selected server and template, expand the minimap, and recapture both directions in the current environment. Test with only one monster selected.
HP and MP both read 0.0%
Turn off automatic recovery first. Verify the selected server, default game UI, window position, and screen-recording permission before testing again.
Monsters are missed or misidentified
Select only one monster, capture both directions on a stable animation frame, and use a distinctive target-only region. Delete and recreate templates that include background or were copied from another operating system.
Recognized but no keys are sent
Return focus to the game, confirm configured shortcuts, and check Accessibility on macOS. On Windows, run the program as administrator.
macOS still asks for permission
Remove entries for an old build, test build, Python, Terminal, or a same-named folder. Add the current app from Applications to both privacy lists, enable both switches, quit with Command-Q, and reopen it.
Patrol crosses an edge
Move the A and B endpoints farther inside the safe platform and validate them in movement-only mode. Detection intervals and character inertia can cause a brief overshoot.
Installation and activation#
macOS says the developer cannot be verified, or the app is damaged+
First confirm the package came from the official address, downloaded completely, and matches your chip (Apple silicon or Intel). A “damaged” message alone does not tell you the real cause.
Once the source is trusted, open System Settings → Privacy & Security and look for “Open Anyway”. If it still will not open, contact support with the full message, client version, Mac chip and macOS version.
After reinstalling the system or changing computers, the license says it is already bound+
One license is bound to one device. The same device can switch between game accounts, but that does not allow running several games at once or using one license across several computers or virtual machines.
If a binding message appears after a reinstall or a new device, contact support at hi@okya.app with your order ID so the binding can be checked and changed.
Do not keep trying someone else’s license, and never post your full license key in forums or public screenshots.
The license check passed, so why will it not start?+
“License check passed” only means the license is valid. It does not mean the game window, character, minimap and capture source were all recognized.
Keep reading the log to see whether it failed at window capture, character recognition or minimap recognition, then use the matching entry below.
Security software blocks or flags the program+
On Windows the program must be started as administrator. Compatibility with every antivirus configuration cannot be guaranteed.
Send the exact warning and where you downloaded the package to support so they can check the official file. Turning security software off or adding exclusions should not be your default fix.
Launch and window capture#
The game window is not found, or the resolution is wrong+
Work through these in order:
- Confirm the real game window is 1366 × 768, not just that the setting shows it in full screen.
- Use windowed mode and keep the whole window visible: not minimized, not maximized, not covered by other windows.
- If your version lets you choose a capture source, select the actual game window.
- After changing the resolution, stop the run and start again; restart the client if needed.
- Recapture the character and monster templates whenever the resolution or display size changes.
On Mac, permissions are on but Start does nothing+
Make sure Accessibility and Screen Recording are enabled for the client that is actually running, and read the complete startup log.
In one case the permission looked wrong, but the real blocker was character and monster template recognition. Do not keep toggling permissions based on a single warning; also check the window size, minimap, character template and capture source.
If it persists, send the permission screen, client settings, a full-desktop screenshot and the startup log.
The log shows “Game is not in the foreground”+
Clicking the client’s settings or log window takes focus from the game, so this message is expected then. Stop the run before changing settings, then start again and click back into the game so it stays in front.
If the game really is in front and the message keeps appearing, send the full log and your screen layout instead of assuming it is a mistake on your side.
The log shows a 0 × 0 window or “minimap not detected”+
Reports have shown a 0 × 0 window size, a fallback to full-screen capture of the main display, and “minimap not detected” together. Confirm the game is not minimized, the captured source is the game window, and the minimap is expanded so the player marker is visible.
Keep the character still and out of combat when you start. If it still fails, send the full log and a screenshot of the whole game window.
Character and monster recognition#
The character keeps getting lost. How should I capture the template?+
Capture the character standing normally, not flashing from a hit. Prefer the upper body, especially a clear, stable feature near the head.
- Leave out skill text, damage numbers, background decoration and large effects.
- Capture the left and right facing separately, save, and select the profile.
- Keep effects from covering the character while running.
- Recapture after changing the game resolution; do not keep using an old-size template.
The monster template is saved but monsters are still not recognized+
First rule out the next entry (a count of 0 because monsters are outside the attack range), then check the template:
- Pick a monster with a stable pose and a clear feature, such as the top of the head or a horn.
- Capture the same feature on both left and right facing.
- Avoid background, damage numbers and skill effects.
- Recapture at the resolution you actually run, then confirm the template is selected.
- Test with only one monster selected so the cause is easier to see.
There are monsters on screen but the log shows 0+
The log only counts monsters inside the horizontal attack range you configured, not every monster on screen. A 0 for monsters outside that range is normal.
Watch whether the count changes once a monster enters the range. Only if it stays at 0 while a monster is inside the range should you check the template and recognition settings. Do not recapture templates just because you saw a 0.
What should I check for the minimap and character recognition?+
Confirm the right server is selected, the minimap is fully expanded with the player marker visible, and the game is at the right resolution and window mode. Stay still and out of combat when you start.
Watch the log for CHARACTER_RECOGNITION, MINIMAP_RECOGNITION or MARKER_COLOR_ABSENT and check the character and the minimap separately. A successful character result does not prove the minimap worked.
Combat and attack range#
It only moves back and forth and never fights+
Check in order: the character and minimap are recognized, the monster template is selected, monsters are inside the configured attack range, the attack key matches the game, and the skill is already learned.
Go back to stationary attack to verify basic recognition and keys. Switching patrol modes alone does not prove it is fixed.
How do I set the horizontal attack range?+
The value is a pixel distance on the game screen. Base it on your character’s real attack distance under your current display settings.
A screenshot tool that shows the selection size in pixels can help you measure it. Do not copy another class’s number; there is no value that is always right. For a short-range beginner dagger, support has suggested 50 pixels or less, which is an example for short-range attacks, not a default for every class.
It keeps attacking empty ground and wastes MP or consumables+
An attack range that is too large can make the client try to hit monsters you cannot reach, and an unstable template can cause misses or false matches. Check your real attack distance, the template quality and the current recognition result.
If it keeps swinging at nothing, stop the run to avoid burning resources, and send your attack settings, templates and a short note on how to reproduce it to support. There is no switch that is guaranteed to stop attacks when no monster is present.
I changed a setting but nothing seems different+
Changes are not applied to a session that is already running. Do this in order: stop the run → save → start again.
After changing the attack range, skill keys, count threshold or resolution, check the real effect again.
Patrol and the map editor#
How do I import a route? Is there a sample map?+
The map editor includes a sample map: use “Load sample map” to see the structure, then build your own route.
To import, choose the custom-route patrol, use Import next to the map drop-down, and select the exported JSON file. Names can differ between versions; if you cannot find the control, send a client screenshot instead of guessing at a button that does not exist.
When exporting, use only English letters and digits for Map Name and Map ID.
I exported a map but “Add to OKYA” does not appear+
Download the .json file the editor exports, then use Import beside the map list in the desktop client’s custom-route patrol. When it works, the map shows up in the drop-down.
You do not need to copy it into assets/maps by hand; that folder is for built-in maps. If it still will not import, check Map Name, Map ID and the file name, and send the exported JSON with a screenshot of the error to support. Do not assume the file format is wrong just because the import failed.
What to include when you contact support#
Send these together to cut down the back-and-forth.
- Operating system and version; for a Mac, say Apple silicon or Intel.
- The exact client version number.
- Game name, server, window mode and resolution.
- Whether you use an external display, and the display scaling.
- The steps you took, what you expected and what actually happened.
- The complete log, not just the last line.
- A full-desktop screenshot showing both the game and the client settings; for recognition problems, add the left and right facing templates.
- For key problems, the key settings on both the game and client side.
- For performance problems, how long it ran plus the relevant monitoring data; a short video helps when you can capture one safely.