File locations¶
The data folder¶
| Operating system | Path |
|---|---|
| Windows | %APPDATA%\Xol, which is normally C:\Users\<you>\AppData\Roaming\Xol |
| macOS | ~/Library/Application Support/Xol |
| Linux (developer builds only) | $XDG_DATA_HOME/xol, or ~/.local/share/xol |
Settings ▸ Support ▸ About ▸ Data folder shows the exact path on your computer. The environment variable XOL_HOME, if set, replaces the location; it exists for tests and portable setups.
The program itself is separate: wherever you installed it on Windows, and Xol.app on macOS. Uninstalling the program does not touch the data folder.
Inside the data folder¶
Xol/
├── launcher.json launcher settings
├── accounts.json saved sign-ins
├── service.json an access key saved by an older launcher, if any
├── install-id random install ID for the online heartbeat
├── playtime.json last played and total play time per instance
├── instances/ one folder per instance
├── shared/ the server list, options and client settings shared between instances
├── archive/ old 0.2.x instance folders, moved here by 0.3.0
├── migrations/ the record of that move
├── optifine/ Xol's copy of an OptiFine file you added, one folder per Minecraft version
├── versions/ Minecraft and loader versions, and unpacked natives
├── libraries/ shared libraries
├── assets/ shared game assets and Mojang's log configuration
├── runtimes/ Java runtimes from Mojang
│ └── xol-native/ Apple Silicon Macs only: the native Java 8 from Azul
├── cache/ cached lists and service data
│ ├── service/ accepted remote manifest and remote configuration
│ └── skins/ the faces of signed-in accounts, for the account switcher
├── logs/ game-<date and time>.log, one per run
└── updates/ verified installers (the last two) and state.json
| Item | Safe to delete? |
|---|---|
instances/<name> |
Deletes that instance with its worlds. Back up saves first. |
shared |
No. It holds the shared copy of your server list, options and client settings. |
archive |
Yes, once you have checked that nothing you need is in it. It holds what 0.3.0 moved out of the old OptiFine and Forge profiles; each folder has a WHERE-DID-EVERYTHING-GO.txt. |
versions, libraries, assets, runtimes |
Yes. They are downloaded and verified again on the next Play or Repair. |
cache |
Yes. It is rebuilt when Xol is next online. |
optifine |
Not a way to remove OptiFine: a copy Xol placed in an instance is taken back as Xol's copy the next time the game starts. Use Remove OptiFine. |
logs |
Yes |
updates |
Yes, but you lose the rollback installer and the record of the last accepted release sequence number |
launcher.json |
Yes. Settings return to defaults. |
accounts.json |
Signs every account out of Xol |
service.json |
Yes. It only holds an access key saved by an older launcher; Xol 0.3.1 works without one. |
install-id |
Yes. Xol makes a new random ID the next time it starts and sends the online heartbeat. |
playtime.json |
Yes. "Last played" and play time start again from zero. |
Do not edit accounts.json or service.json. On Windows their contents are encrypted by the operating system and useless on another computer or user account. On current macOS builds they are not encrypted: they are readable and writable only by your own user account (file mode 0600, data folder 0700), so do not copy them anywhere or share them. See Sign-in and accounts.
Inside an instance¶
| Path | What | Written by |
|---|---|---|
instance.json |
The profile this instance belongs to, the manifest revision, the applied preset, and the files Xol placed with their checksums | Xol. Do not edit. |
runtime.json |
Which kind of Java this instance last started with (native-arm64, rosetta-x64, mojang or custom) and, on an Apple Silicon Mac, whether the native runtime was tried and gave up, with the reason and the time. While that failure is recorded and the setting is on Automatic, the instance starts with the Intel runtime. Repair deletes the file; deleting it yourself does the same. See Apple Silicon. |
Xol, after each start |
options.txt |
Minecraft's options. Presets merge a few keys into it, and the keys both Minecraft versions understand are kept in step with your other instances. | Minecraft and Xol |
servers.dat |
The server list, kept in step with your other instances | Minecraft and Xol |
mods/ |
Xol's folder: the Xol client, the profile's pinned mods and, while the add-on is on, OptiFine.jar. A jar you put here by hand is moved to my-mods/ at the next start and the launcher says so; nothing is deleted. |
Xol |
my-mods/ |
Your own Forge mods. Loaded only while the Forge mods add-on is on. | You |
saves/ |
Worlds | Minecraft |
resourcepacks/ |
By default a link to the resourcepacks folder in your normal Minecraft folder, so every instance and the official launcher share one collection. With Settings ▸ Instance ▸ Resource packs off, a folder of the instance's own. |
You |
screenshots/ |
Screenshots | Minecraft |
crash-reports/ |
Crash reports | Minecraft |
config/ |
Configuration files of Forge and of the mods | The mods |
xol/optifine-mods.json |
Xol's note that it placed mods/OptiFine.jar. A jar without the note is treated as yours and left alone. |
Xol |
xol/config.json |
Client settings: module switches, settings, layouts. Kept in step with your other instances. | The Xol client |
xol/config.json.invalid-<number> |
A client settings file that could not be read, set aside | The Xol client |
xol/xol-settings.json |
The export written from the Right Shift menu | The Xol client |
xol/shared-state.json, xol/shared-base-servers.dat |
What this instance and the shared copy last agreed on, so a change on either side is recognized. The state file keeps a hash of the server list, not the list. | Xol |
xol/running.json |
Present while a game Xol started from this folder runs. Xol does not write shared settings into a running game's folder. | Xol |
xol/remote.json |
Remote configuration written before the game starts. Not read by the client yet. | The launcher |
Your normal Minecraft folder, which holds the shared resource packs, is %APPDATA%\.minecraft on Windows and ~/Library/Application Support/minecraft on macOS.
The launcher's Open folder menu, on the main screen beside Launch options and in Settings ▸ Instance, opens Mods (your my-mods folder), Resource packs, Screenshots, Saves (worlds), Config, Logs, Crash reports, the Instance folder and the Xol data folder. In Settings it also has Game output logs, the data folder's logs. A standard folder that does not exist yet is created first. See Instances.
Where your things are, by operating system¶
| Windows | macOS | |
|---|---|---|
| Worlds | %APPDATA%\Xol\instances\<instance>\saves |
~/Library/Application Support/Xol/instances/<instance>/saves |
| Your own mods | …\instances\<instance>\my-mods |
…/instances/<instance>/my-mods |
| Resource packs (shared, the default) | %APPDATA%\.minecraft\resourcepacks |
~/Library/Application Support/minecraft/resourcepacks |
| Screenshots | …\instances\<instance>\screenshots |
…/instances/<instance>/screenshots |
| Game logs kept by Xol | %APPDATA%\Xol\logs |
~/Library/Application Support/Xol/logs |
| Verified installers | %APPDATA%\Xol\updates |
~/Library/Application Support/Xol/updates |
On macOS the Library folder is hidden in Finder. Use Go ▸ Go to Folder… and paste the path, or the launcher's Open folder menu.
The native Apple Silicon runtime¶
On Apple Silicon Macs only. These files are downloaded the first time a game starts with the native runtime; with Intel (Rosetta 2) chosen they never appear. All paths are inside the data folder.
| Path | What |
|---|---|
runtimes/xol-native/zulu-jre-8.0.504-macos-aarch64/ |
The unpacked Azul Zulu 8 JRE. A small file, .xol-runtime.json, records which checked download it came from; Xol downloads and unpacks the runtime again when that record is missing or names another download. |
libraries/org/lwjgl/lwjgl/lwjgl-platform/2.9.4-nightly-20150209/lwjgl-platform-2.9.4-nightly-20150209-natives-osx-arm64.jar |
The arm64 LWJGL natives. Checked against its SHA-256 before every native start. |
libraries/org/lwjgl/lwjgl/lwjgl/2.9.4-nightly-20150209/ and …/lwjgl_util/2.9.4-nightly-20150209/ |
The two LWJGL class-path jars that match those natives, from Mojang's library server |
instances/<instance>/runtime.json |
What that instance last started with, and a remembered failure of the native runtime |
The downloaded Java zip is kept in cache only until it has been unpacked. Deleting runtimes or libraries is safe here too: the files are downloaded and checked again on the next start.
Next to the app on macOS¶
During an update, a hidden folder named .Xol-update-<hex>.app appears next to Xol.app, and after the swap the previous app is kept as .Xol-old-<hex>.app until the next start. Xol removes both itself. See Updates.