-
-
Notifications
You must be signed in to change notification settings - Fork 2
FAQ
No. Optimum is a standalone client. It replaces the engine DLLs, not a zip in your Mods folder.
No. Optimum works with any server running the matching Vintage Story version.
Optimum does not give gameplay advantages. It renders the same world the same way, faster. Server admins cannot detect it because it does not modify network behavior. Check your server's rules if you are unsure; some servers have blanket "no modified clients" policies.
Yes. Optimum reads the same data folder format as vanilla. Point it at your existing data path or let it use the default. You can switch between Optimum and vanilla on the same world without migration.
Three options:
- Check "Use a separate data folder" in the Windows or Linux installer. The installer writes a
datapath.cfgfile that the launcher reads on startup. - Create a file called
datapath.cfgin the Optimum install folder containing one line: the absolute path to your data folder. - Launch with
--dataPath "/path/to/data"on the command line (takes priority over everything else).
No. Optimum ships as source. You download the source, run the build script, and the build downloads the official client (~570 MB) on your machine. Optimum itself ships no game files, so the source download is small.
The build targets x64 on Linux and Windows because Vintage Story has no official ARM client for those platforms. On ARM hardware, the x64 build runs via emulation (box64 on Linux, Windows-on-ARM). macOS Apple Silicon uses the native osx-arm64 client.
Expected. Builds produced without an Apple Developer certificate are unsigned. Right-click the app, select Open, confirm the dialog. This happens once.
Run your original Vintage Story client. Your worlds and account stay untouched. Optimum writes settings under Optimum* keys in clientsettings.json; vanilla ignores them. The ModConfig/optimum.json file is also ignored by vanilla.
Depends on your hardware, view distance, and scene complexity. Frame pacing improvements reduce stutter on any hardware. CPU-bound players with high entity counts benefit from the distance gates. GPU-bound players benefit from the shader pass reductions. The .optimum status command shows per-optimization hit/skip counters so you can see what helps in your specific scenario.
The installer probes all known locations (Program Files, Scoop, Chocolatey, registry PATH, custom drives). If it still fails, click the "Browse" button next to the failed prerequisite and point it at the folder containing the binary. You may also need to close and reopen the installer after installing a prerequisite (the session PATH updates on restart).
The source is GPL-3.0 with the Commons Clause. Pull requests are welcome. Read Building from Source to set up the dev environment.
Known bug in 0.2.1: the chunkculling thread died on every world load with Field not found: 'ClientWorldMap.chunksLock'. Fixed in 0.2.2. Reinstall from the 0.2.2 release; the broken DLL lives in your install folder, so updating requires a rebuild.
A partially extracted or corrupted game download poisoned the build cache. Since 0.2.2 the installer detects truncated files, discards the bad extraction, and asks you to re-run. On older versions, delete the .vanilla folder next to the installer (or the Optimum install) and reinstall.
Fixed in 0.2.3. The installer now scans all registry entries and common filesystem paths, then picks the install matching the required version. If you have 1.21.x and 1.22.3 side by side, it selects 1.22.3 automatically. If auto-detection still fails (non-standard install path), use the Browse button or pass -VsPath "C:\path\to\your\1.22.3" on the command line.
The GameVersion.cs.patch failed to apply, which blocked the sources overlay step. This happened to users who downloaded the 0.2.2 zip from ModDB before the hotfix landed. Re-download from the GitHub release page or git clone the repo. The 0.2.3 release has the corrected patch.
Fixed in 0.2.2 (hotfix) and included in 0.2.3. The lang file merge step read UTF-8 files through the system codepage on Windows PowerShell 5.1, corrupting non-ASCII characters. The scripts now use explicit UTF-8 encoding on every file read/write.
The .vanilla cache from a previous install holds a truncated shader that survives reinstalls. Since 0.2.3, the installer validates shader content (not just file size) and discards a corrupt cache automatically. If you hit this on an older version, delete the .vanilla folder next to the Optimum source and re-run the installer.
Fixed in 0.2.3. A mod's Harmony patch throwing inside GetHeldItemInfo no longer kills the handbook loading thread. The affected item is skipped and the mod named in the client log.
Fixed in 0.2.4. The IL hook that injects the Optimum tab button fired at two sites in the same composition pass, adding the toggle button twice to the same GuiComposer dictionary. The hook now checks whether it already inserted the call before injecting again.
Fixed in 0.2.4. Previous versions only checked the system PATH. If you installed via dotnet-install.sh --install-dir ~/.dotnet without exporting PATH, the installer missed it. It now probes ~/.dotnet, /usr/share/dotnet, /usr/lib/dotnet, and /snap/dotnet-sdk/current in addition to PATH.
Fixed in 0.2.4. The make deploy lang merge used Python open() without an encoding argument. Under a C or POSIX locale (no UTF-8 default), the merge failed or corrupted non-ASCII characters. The Makefile now passes encoding='utf-8-sig' on reads and encoding='utf-8' on writes, matching the packaging scripts.
Fixed in 0.2.6. The 0.2.5 datapath.cfg feature patched ClientLinux.cs, a file that only exists when you decompile the Linux client. The Windows client names its entry class ClientWindows, so the patch found no target and the installer aborted. The logic now lives in ClientProgram.Main inside VintagestoryLib, which every platform shares. Update to 0.2.6, or on 0.2.5 rename patches/Vintagestory/ClientLinux.cs.patch to ClientLinux.cs.patch.disabled and re-run the installer (this workaround disables the custom data folder feature).