BeatmapStation
A tool to search beatmaps, and download them from replays or messages-ingame
A tool to search beatmaps, and download them from replays or messages-ingame
Hi guys! I've been developing this project for almost 2 years, and today I decided to release it to the community.
It's a desktop application made to make easier the task of searching and downloading new beatmaps:
Features
- Real-time recognition of beatmaps sent to you by in-game messages, and download them if you haven't them.
- Search beatmaps filtering them by title, artist, source, ranking status or even in-game stats, like AR, CS, OD, Stars amount, and much more other filters
- Select how many maps you want from multiple searches.
- It's possible to set and save your preferred filters under a name and a color, so you can reuse them later.
- It can download beatmaps from replays, just drag 'n drop them on the app's window to start the download.
- It can keep track of what maps you already have, so they won't be downloaded twice.
- By using the in-game command "/savelog", it's possible to download maps from #spectator and #multiplayer.
- Auto-installs downloaded maps.
- Minimize it to the system tray if you don't wanna it opened all the time.
- Pause your downloads whenever you want
- It supports multiple languages (current English, Brazilian Portuguese, Spanish, Russian and German).
- Real-time recognition of beatmaps sent to you by in-game messages, and download them if you haven't them.
- Search beatmaps filtering them by title, artist, source, ranking status or even in-game stats, like AR, CS, OD, Stars amount, and much more other filters
- Select how many maps you want from multiple searches.
- It's possible to set and save your preferred filters under a name and a color, so you can reuse them later.
- It can download beatmaps from replays, just drag 'n drop them on the app's window to start the download.
- It can keep track of what maps you already have, so they won't be downloaded twice.
- By using the in-game command "/savelog", it's possible to download maps from #spectator and #multiplayer.
- Auto-installs downloaded maps.
- Minimize it to the system tray if you don't wanna it opened all the time.
- Pause your downloads whenever you want
- It supports multiple languages (current English, Brazilian Portuguese, Spanish, Russian and German).
How it works?
- The maps are downloaded using mirrors (actually the app uses mog's one and another one to download unranked beatmaps or when the first doesn't have a requested beatmap). After the download they're sent to osu!'s song folder, making the game installing them.
- By reading the osu!.db file, the app can keep track of already installed maps.
- Chat recognition works by activating the osu's option "Log private messages", or using the in-game "/savelog" command.
- You can drag and drop replay files in the main screen to download them. Their information are gathered using the osu! API.
- Also, the searching feature works by gathering the results from Rivenation's osu!search. His powerful tool returns precise results, and integrated with this app, you can now search for beatmaps and download them without even opening your browser.
- It can be minimized to the system tray to not stay open all the time.
- The maps are downloaded using mirrors (actually the app uses mog's one and another one to download unranked beatmaps or when the first doesn't have a requested beatmap). After the download they're sent to osu!'s song folder, making the game installing them.
- By reading the osu!.db file, the app can keep track of already installed maps.
- Chat recognition works by activating the osu's option "Log private messages", or using the in-game "/savelog" command.
- You can drag and drop replay files in the main screen to download them. Their information are gathered using the osu! API.
- Also, the searching feature works by gathering the results from Rivenation's osu!search. His powerful tool returns precise results, and integrated with this app, you can now search for beatmaps and download them without even opening your browser.
- It can be minimized to the system tray to not stay open all the time.
About the in-game chat recognition
The chat message auto-recognition will only work if you activate the in-game option "Log private messages",
since they can't be recognized from anywhere else.
Otherwise you'll need to use the /savelog in-game command every time you wanna download a map that someone sent to you. Also, this command can be used in chat rooms like #multiplayer or #spectator.
It works in public rooms too (#osu and language-specific channels), but I wouldn't recommend to use it that way, 'cause they usually have a huge amount of links and it won't be possible to take control of each one.
Don't worry, I'm not interested in your conversations and the app won't share your chat logs with other persons, and will only be used to recognize beatmaps sent to you.
The chat message auto-recognition will only work if you activate the in-game option "Log private messages",
since they can't be recognized from anywhere else.
How to activate the option in-game
This way the game will log all your chat messages in the the Chat folder, located in the osu!'s folder.
This way the game will log all your chat messages in the the Chat folder, located in the osu!'s folder.
Otherwise you'll need to use the /savelog in-game command every time you wanna download a map that someone sent to you. Also, this command can be used in chat rooms like #multiplayer or #spectator.
It works in public rooms too (#osu and language-specific channels), but I wouldn't recommend to use it that way, 'cause they usually have a huge amount of links and it won't be possible to take control of each one.
Don't worry, I'm not interested in your conversations and the app won't share your chat logs with other persons, and will only be used to recognize beatmaps sent to you.
Download
Current version: v2018.08.11.2.4
- To use the app, you need Java 8 Update 161 (or higher). You can download it here.
- BeatmapStation won't work with Java feature releases (like Java 9 or Java 10). Please make sure you have installed only the aforementioned public releases to use it.
Download link (mega.nz)
Current version: v2018.08.11.2.4
- To use the app, you need Java 8 Update 161 (or higher). You can download it here.
- BeatmapStation won't work with Java feature releases (like Java 9 or Java 10). Please make sure you have installed only the aforementioned public releases to use it.
Download link (mega.nz)
How to install
- Download the .zip from the link above and extract the .jar from it.
- Open it. A set-up screen will appear.
- Follow the 2 steps (set the API key and the game folder).
- It'll load your beatmap library (it'll do it only in the first time, don't worry).
- The app will open when it finishes loading the maps.
- Open it. A set-up screen will appear.
- Follow the 2 steps (set the API key and the game folder).
- It'll load your beatmap library (it'll do it only in the first time, don't worry).
- The app will open when it finishes loading the maps.
Changelog
Click to open
Eber wrote:
2018.08.11.2.4
- Text width calculation was using a native method that wasn't working in other operating systems other than Windows. Now it should be working in a more reliable way.
- Now a error message will be showed when you try to run the app in any Java that's not 8
- BeatmapStation won't die anymore if the Chat folder doesn't exist. (reported by Fusyon and Haibara-Chan).
- Added a error reporting dialog.
Eber wrote:
2018.07.29.2.3
- App's directory shouldn't be attempted to be created inside the app's jar when in operating systems that aren't Windows. (reported by Moltqn)
- Checking if a beatmap is being downloaded is now a synchronized method, to avoid throwing a ConcurrentModificationException.
- Chat handler won't die anymore if an exception is thrown.
Eber wrote:
2018.07.28.2.2
- Now the single-instance system should be working.
- Fixed some problems of the language system, making it check the update only for the selected language.
- Errors thrown during the splash screen will now be displayed in a dialog box.
- Fixed downloads being downloaded 'till the end, even if they were cancelled by the user. (reported by [ Neopolitan ])
- Fixed tray window positioning for people who anchor the task bar in other places other than the bottom. (reported by [ Neopolitan ])
Eber wrote:
2018.07.23.2.1
- Fixed a bug where the app would try to load a language file even if it didn't existed, leading to an endless splash screen loading.
Eber wrote:
2018.07.22.2.0
+ You can now set and save your own filters on the search dialog
+ A new pagination system
+ Beatmapset cover images
+ A cool dark theme to the search dialog
+ Beatmaps' files will be opened, instead of just sending them to osu!'s folder when received from #spectator or #multiplayer channels
+ Now LOVED ranked status is supported!
+ The app will now warn when a new update is out
+ BeatmapStation is now limited to run with just one instance at the time.
+ Now the app pulls changes and new language files from GitHub
+ Changed config file's format
- Fixed wrong usernames when multiple people send to you beatmap links on the chat at the same time.
- Fixed search dialog using favorite values as BPM values
- Fixed downloaded beatmaps disappearing from the game
- Many other little bugs that I fixed but they were so insignificant that I forgot about them lol
Eber wrote:
2018.04.11.1.2
+ Fixed some incorrect phrasing on English and Spanish translations.
- Fixed a bug where the amount of visible beatmaps in the search results would not update (thanks for DJNeonNight for reporting it).
Eber wrote:
2018.04.09.1.1
+ Added Spanish translation (thanks for DJNeonNight).
+ Added translators credits to the settings screen.
+ Added a little warning when the language is changed on the settings screen.
- Fixed some bugs related to the configuration file.
Special thanks
- Thanks for my friend Fusyon, for making some icons for the app.
- Rivenation, for letting me use osu!search to gather the searching requests. Without him a lot of the user experience would be lost. Please thank him on the osu!search's topic.
- Thanks for my friends Vvdczinho, Lewd Imouto, Acooler and Coconutt, for helping me testing this app.
- Thanks for peppy for being nice and letting me release this.
- Thanks for DJNeonNight for translating this app to Spanish.
- Thanks for my friend Fusyon, for making some icons for the app.
- Rivenation, for letting me use osu!search to gather the searching requests. Without him a lot of the user experience would be lost. Please thank him on the osu!search's topic.
- Thanks for my friends Vvdczinho, Lewd Imouto, Acooler and Coconutt, for helping me testing this app.
- Thanks for peppy for being nice and letting me release this.
- Thanks for DJNeonNight for translating this app to Spanish.
Translations & Bugs
I've translated the app to English and Brazilian Portuguese (my native language).
But other people have took their time to make it available in other languages:
• Spanish (made by DJNeonNight).
• Russian (made by i3ym).
If you're interested in helping translating it to your language, please make a pull request on its GitHub repository. You can pick whatever language file you wanna from there and translate it to your local tongue.
Also, I'll be really glad in solving any bug that you find on the program.
If you found one, please go the app's installation directory (%appdata%/beatmap-station), and send me the the files inside the logs folder. They're the files where the app drops the errors.
If possible, please describe the conditions that made the bug occur. I'll sure take a look on it and solve when I have some time.
You can send them to me by creating an issue on the GitHub repo, sending me a PM or just posting it on this thread.
I've translated the app to English and Brazilian Portuguese (my native language).
But other people have took their time to make it available in other languages:
• Spanish (made by DJNeonNight).
• Russian (made by i3ym).
If you're interested in helping translating it to your language, please make a pull request on its GitHub repository. You can pick whatever language file you wanna from there and translate it to your local tongue.
Also, I'll be really glad in solving any bug that you find on the program.
If you found one, please go the app's installation directory (%appdata%/beatmap-station), and send me the the files inside the logs folder. They're the files where the app drops the errors.
If possible, please describe the conditions that made the bug occur. I'll sure take a look on it and solve when I have some time.
You can send them to me by creating an issue on the GitHub repo, sending me a PM or just posting it on this thread.
Don't forget to leave your feedback about the program!