Skip to content

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.