ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.32k stars 2.28k forks source link

Move beatmaps and configurations to another location #960

Closed taroxd closed 3 years ago

taroxd commented 7 years ago

I want to ask how to store beatmaps and configurations not in %Appdata%. That's because my C Drive is a small SSD, and beatmaps really take up a lot of space. Also, writing these files to %Appdata% will make osu!lazer not portable. The current stable osu! release is portable so that I can put it in a USB drive.

I do not care about potential privacy or safety problem about these files. Even if I do, I would change ACL by myself.

Currently my workaround is to create a symlink with mklink, but I want an official solution to it. What about checking whether <installDir/Data> exists? If it does, launch osu!lazer in portable mode, read and write all the beatmaps and configurations to <installDir/Data> . Or, what about implementing a command-line switch to specify where these files are, like --user-data-dir="path/to/user data" in Google Chrome?

smoogipoo commented 7 years ago

This will come when we have the ability to read osu!stable-formatted beatmaps from disk (or import them), and there will be an option to change the song directory.

Assigning as low priority.

peppy commented 7 years ago

That's not entirely correct (we will support importing, but there will be no "song" directory).

I agree with checking for a config file in the current working directory and changing storage's BasePath as a temporary measure, if you wish to implement this. Otherwise, it will come with the more advanced storage system which we will be migrating to before release.

alexpado commented 6 years ago

As a temporary mesure, you can change the LocateBasePath() value to ./. osu!lazer will store all beatmap etc... in the exe folder, making it runnable from a usb key (yeeeeay)

File to edit : osu.Framework.Platform.Windows.WindowsStorage.cs:15

alexpado commented 6 years ago

Okay I'm back with some more info.

peppy won't be supporting osu!lazer being "installed" outside the default folder. You should keep your osu!lazer installation in your AppData and just change the LocateBasePath() to the desired location (ex: D:\. "osu" will be appended by default.).

Kazeragi commented 6 years ago

hello, i dont quite understand where i can find the file on disk C:\ to change that configuration

insomnyawolf commented 4 years ago

I guess there are a lot of people that could not use lazer without this because they don't have a lot of free space on their main disk. Is there any estimated time for that feature to come?

peppy commented 4 years ago

no. you can use symlinks in the mean time

insomnyawolf commented 4 years ago

I didn't think on this O: Thanks for the idea

insomnyawolf commented 4 years ago

If someone else is interested there's an example You can run the following command and it ill create a link to a folder in D:\osu!lazer\files

mklink /J "%AppData%\osu\files" "D:\osu!lazer\files"

You can change the target folder to anything that you'ld like

Gringo1337 commented 4 years ago

no. you can use symlinks in the mean time

How?

bdach commented 4 years ago

@Gringo1337 Please read the two comments preceding yours.

Gringo1337 commented 4 years ago

@Gringo1337 Please read the two comments preceding yours.

That's not work

insomnyawolf commented 4 years ago

Quick Tutorial

If you are on windows:

If you are on linux

Remember to put the path that you want where it says CHANGEME

Gringo1337 commented 4 years ago

Quick Tutorial

If you are on windows:

  • Win+R => Type "cmd" => hit enter
  • A black popup will appear, there paste mklink /J "%AppData%\osu\files" "CHANGEME"
  • Hit enter

If you are on linux

  • open a terminal anywhere
  • Paste there ln -s ~/.local/share/osu CHANGEME
  • Hit enter

Remember to put the path that you want where it says CHANGEME

The console writes that it already exists. How to remove it to create a new and correct one?

RatzzFatzz commented 4 years ago

Then the folder "%AppData%\osu\files" exists. I'd suggest move all the content from that directory to the one you want to have the maps later. Then delete the files folder and then follow the tutorial again :)

insomnyawolf commented 4 years ago

@RatzzFatzz Thanks for your explanation about this, i forgot to mention it

peppy commented 3 years ago

This has since been resolved; you can now choose your game data directory.

epro124 commented 1 year ago

How can i see the beatmaps folder on osu! (Lazer)?

peppy commented 1 year ago

"Open osu! folder" in settings.