-
Notifications
You must be signed in to change notification settings - Fork 779
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improve xmage work from read only folders (split app's files and user's data, steam deck support) #7025
Comments
XMage uses relative paths, so you can install it in read only folder but run from any working folders. It require scripts and some folders copy. Client run script from user's folder:
Server run script from user's folder:
|
If that's is not solution then provide use cases and examples (what you want to do). |
In a read-only installation setup, both the plugins and the main xmage JAR would be loaded from a read-only directory. I don't understand how your example achieves that. If the writable "plugins" directory shown in your example is empty, then (in my experimentation and from looking at the code), xmage will not run properly, because it won't be able to load the plugins. Alternatively, if the writable "plugins" directory shown in your example actually contains the plugins, and xmage loads them from there, then it's not actually a read-only installation, because the plugins are writable. There are multiple benefits of read-only installations. Two specific benefits are improved security (if xmage is compromised it can't rewrite its plugins to permanently add a backdoor) and multi-user use (multiple users can run xmage from the same install directory with different configurations and databases). |
I agree that it must be improved to fetch all additional resources from app's folder (related to main app library, not working dir). I'll review and fix paths in one of the next versions. Anyway, if you want to support xmage's packages then you must write additional install and run scripts (e.g. prepare server's folder or config files). |
BTW, you can change default images folder by settings (from app's main menu or by registry in Windows and preferences file in linux/macos). More details here. |
Steam Deck uses read only file system, so read only mode can be good for xmage to support such systems (instruction example to run java 8 app on steam deck, and another one version for jar launcher):
|
Right now plugins are hardcoded to be loaded out of the current working directory. The database and logs are also written to CWD. This means the plugins, and xmage in general, can't be installed somewhere read-only.
The text was updated successfully, but these errors were encountered: