Mods / Optimum

Tags:
Client
Author:
Zaldaryon
Side:
Client
Created:
Jun 25th at 5:32 PM
Last modified:
Aug 6th at 5:26 PM
Downloads:
4765
For testers:
Optimum-0.3.5_v5.zip

What it is

Optimum is a client-side fork of Vintage Story made for players who want smoother frames without changing how the game plays. Servers do not need anything installed. Players connect with Optimum the same way they would with a stock client. Worlds, accounts, and mods carry over unchanged.

Optimum decompiles the official client and patches the source to build a set of optimized "donor" assemblies. Its own launcher then applies those changes with Cecil directly into copies of your game's assemblies the first time you run it, and caches the result so every launch after that is instant. No Harmony overhead. No mod loader in the way. Your vanilla files are never modified. The engine itself runs faster.

Optimum replaces OptiTime. Disable or remove OptiTime in your Mods folder. Synergy and Tungsten still work.

 

Optimum is not a settings tweak or a config mod. It is a replacement client runtime focused on the places where vanilla leaves performance on the table:

  • frame pacing that eliminates micro-stutter
  • FSR 1.0 upscaling: render at reduced resolution, upscale to native with AMD's edge-aware filter (Quality/Balanced/Performance presets)
  • shader passes that do less redundant work
  • entity rendering that skips what the player cannot see
  • entity light batching that resolves chunk lights in bulk (42-67% faster at 32+ entities)
  • shader state cache that uploads uniforms once per pass instead of per entity (83% reduction)
  • physics and audio updates that skip what the player cannot notice
  • chiseled block LOD that drops 83x vertices at distance
  • foliage shadow skip in the far cascade
  • particle emitters gated by distance
  • map page cache: 8x8-chunk GPU texture array with BC7 compression and disk persistence, replacing per-component draws with one draw call
  • lock contention reduction (11 locks converted to System.Threading.Lock)
  • GC pressure reduced in tight loops
  • configurable distance gates for shadows, repulsion, particles, and chiseled blocks
  • bugfix for a long-standing client issue (#9710)

 

Benchmarks

Each number below shows how much less CPU work Optimum does compared to vanilla in that system. Measured with BenchmarkDotNet on .NET 10.

 

System What changes CPU saved
Weather wind Caches wind noise for 4 frames instead of recalculating every frame 75%
Ambient sound Skips audio position updates when you stand still 72-78%
Block animations Forges and querns animate at reduced rate beyond 24 blocks, stop beyond 48 54-59%
Particle ticking Reuses memory instead of allocating per block per tick 57-59%
Collision physics Remembers chunk data between lookups (LRU-2 cache) 48-52%
Entity repulsion Skips push physics for entities beyond 64 blocks 21-25%
Dynamic lights Searches a smaller radius for light sources based on your view distance 16-17%
Entity rendering Cheap checks run before expensive frustum math, rejects early 11-29%
Entity light lookup Batches chunk light queries across all visible entities in one pass 33-58%
Shader state Caches uniform uploads and UBO lookups per render pass 78-83%

 

Memory allocation in the particle system drops 99.9% (32 KB → 32 bytes per tick at 1000 blocks). Less garbage collection means fewer frame stutters.

These systems run every frame. The savings stack.

 

Where Optimum Helps

Frame Timing

Vanilla uses Thread.Sleep for frame pacing, which overshoots on most systems and causes micro-stutter. Optimum replaces it with a hybrid sleep/yield/spin loop that hits target frame times with sub-millisecond accuracy. When you alt-tab, the client drops to 30 FPS so your GPU can idle.

Rendering and Shaders

Entity shadows stop drawing beyond 80 blocks (configurable). Vegetation skips the far shadow cascade entirely (togglable). The held-item dynamic light scales its radius with your view distance instead of illuminating a fixed 120-block sphere. Animated blocks like forges and querns tick their animations less often at distance, in three LOD tiers. Chiseled blocks render as solid cubes beyond a configurable threshold (83x vertex reduction for distant microblock builds). Entity render calls skip before computing model matrices when squared distance exceeds view distance. Entity light lookups batch all visible entities into one pass per chunk, eliminating per-entity lock contention and allocation. Shader state (view matrix, wave counter, animation UBO) uploads once per render pass; each renderer reads the cached result instead of re-uploading. FSR 1.0 renders the world at 67-85% resolution and upscales to native with AMD's EASU edge-aware pass plus RCAS sharpening: more FPS on GPU-bound systems in exchange for slight softness. Native (1.0x) disables it.

Entity Updates

Client-side repulsion physics skip entities beyond a configurable range (default 64 blocks). Entity animation checks test distance before frustum, so the cheaper test fails first and the expensive one never runs. Name-tag HUD elements share one frustum result per entity instead of recalculating individually.

Audio and Weather

Wind calculations cache for 4 frames (togglable). Particle emitters beyond 48 blocks stop spawning (togglable). Ambient sound position updates skip when the player stands still. Fly sound volume updates skip when the change is below 1%. None of these are perceptible, all of them save work every frame.

Memory

Ten client-side locks converted from Monitor.Enter to System.Threading.Lock, which uses a single interlocked CAS on the uncontended path. Particle tick loops reuse BlockPos instead of allocating per iteration.

Map

Vanilla's map layer uploads and draws terrain per map chunk. Optimum groups chunks into 8x8 pages, persists them to disk as compressed RGBA, uploads them into a single large GPU texture array with LRU eviction, and draws the whole visible set in one call instead of one draw per component. Pages compress with BC7 when the GPU supports it. An opt-in mode fills unexplored map areas with an approximation derived from the world seed and the terrain data the client already has, so the map reads as populated instead of blank before you've explored.

 

Bugfixes

  • #9710: mouse wheel at low sensitivity keeps float precision. Dead scroll zones gone.
  • Mod crash containment: an exception thrown by a mod while the creative inventory search index builds no longer crashes the whole client. The item falls back to a name-only search entry and the offending mod is named in the log.
  • Background FPS focus flicker: the background limiter no longer fires during world load or when the window flickers focus state. A 300ms debounce prevents false triggers.
  • Frame pacing on low-core machines: the spin-loop tail now gates behind a core count check. Machines with 5 or fewer cores fall back to Yield-only pacing. Windows builds call timeBeginPeriod(1) for 1ms timer resolution.
  • VS Roofing LOD: roof blocks that use BlockEntityMicroBlock no longer get replaced with a solid cube at distance. The chisel LOD checks canChisel before substituting.
  • Linux font rendering: Optimum no longer ships a recompiled cairo-sharp.dll. The vanilla pristine copy ships as-is, fixing glyph shape differences on Linux.
  • Chiseled block shadows: the distant full-cube LOD proxy was reaching the shadow map at any distance, so chiseled blocks cast full-block shadows even up close. Fixed with distance-aware shadow culling.
  • Crucible rendering black above 900°C (#9718): incandescence glow now routes through its own uniform instead of saturating the light vector, matching the forge renderer.
  • Settings dialog crash on tab switch: a mismatch between the panel background size and the underlying draw surface could overrun a native pixel buffer. The two now always resize together.
  • Prospecting pick node search silently did nothing: Node Search Mode never printed "no ore nearby" or any quantity result (density search still worked). Two fields added for the node-search optimization had no initializer run under the runtime patcher, so the first lookup threw before any chat message could be sent. Fixed by lazily initializing on first use.
  • Animation lookups allocated a string every frame: every animated entity's animation-state lookup lowercased its animation code on every call instead of using a case-insensitive comparer. Fixed at the API level, removing a per-frame, per-entity allocation.

 

Experimental: Trader/Villager Stutter Fix (opt-in)

Dressed NPCs (traders, villagers) re-tesselating their shape and gear could cost 50-230ms in a single frame, most visible when several load in at once (a caravan arriving, entering a village). Three settings target this, all default OFF pending broader testing, configurable only via ModConfig/optimum.json (no in-game toggle yet):

  • EntityTesselationFrameBudget: caps how many dressed-entity re-tesselations run in a single frame, spreading the rest over following frames instead of front-loading them all at once.
  • EntityOutfitShapeCache: reuses the fully assembled gear shape and resolved textures for outfit combinations already built once, instead of re-parsing every gear piece's shape JSON and re-walking the step-parenting element tree per entity.
  • EntityOutfitAnimatorCache: reuses the built animator (pose graph) for entities sharing the same outfit combination, instead of rebuilding it from scratch on every re-tesselation - the largest remaining cost in this path.
  • EntityOutfitTexturePrewarm: inserts every outfit variant's textures into the atlas once during the loading screen instead of on first encounter mid-gameplay, where a texture atlas cache miss can cost 100ms+ in a single frame.

Together, measured via .optimum stutterwatch, these reduced per-call cost from 58-230ms down to 7-9ms in real gameplay testing.

 

Settings

Optimum adds an Extra tab in client settings with fourteen switches, three sliders, and a render scale dropdown. Switches default to ON; render scale defaults to Native:

  • Background FPS Limit (30 FPS when unfocused)
  • Smooth Frame Pacing
  • Entity Shadow Cull + distance slider (20-200 blocks)
  • Entity Repulsion Gate + distance slider (16-128 blocks)
  • Dynamic Light Scale
  • Animated Block LOD
  • Skip Foliage Far Shadows
  • Throttle Wind Updates
  • Reduce Distant Particles
  • Simplify Distant Chiseled Blocks + distance slider (32-256 blocks)
  • Smart Chunk Culling
  • Reuse Light Scans
  • Batch Entity Light Reads
  • Cache Entity Shader State
  • Render Scale (FSR): Native (1.0x), Quality (0.85x), Balanced (0.77x), Performance (0.67x)

Settings persist to ModConfig/optimum.json. Shader optimizations and zero-tradeoff code paths run unconditionally because they produce identical output to vanilla.

 

Compatibility

Use the Optimum release that matches your Vintage Story version. Players do not need to install anything on the server. Most client mods work, but Optimum changes deeper client internals than a regular mod. If a mod hooks into rendering or entity update loops, test it before trusting it on a long session.

Vintage Story 1.22.5 is the default target and the fully verified path. Vintage Story 1.22.6 is supported experimentally: install Vintage Story 1.22.6 first, then point the Optimum installer at it (install-linux.sh --version 1.22.6, install-windows.cmd auto-detects it, install-macos.sh asks to confirm the version). Optimum does not update your Vintage Story install for you. The 1.22.6 patches are reconstructed from the compiled client rather than from Anego's published source, so treat it as a stopgap until upstream source catches up.

 

Install

Optimum ships as source. You build it once against your installed copy of Vintage Story, and the installer produces a self-contained Optimum folder with a launcher that patches copies of the engine assemblies the first time you run it, then caches the result for instant launches after that. Your original Vintage Story install is never touched.

Windows (GUI Installer)

Download the Source code (zip) from the v0.3.5 release page, extract it, and double-click install-windows.cmd. The installer handles prerequisite checks, decompile, patch, build, package, and registry install with a single click, and builds against whichever Vintage Story version (1.22.5 or 1.22.6) it finds installed.

Manual Build

  1. Download the source for the release that matches your Vintage Story version (the source zip or tar.gz on the release page).
  2. Extract it and run the build script for your platform:
    • Windows: powershell -ExecutionPolicy Bypass -File build-windows.ps1
    • Linux: ./scripts/install-linux.sh (interactive installer with prerequisite checks)
    • Linux (AppImage): make package-appimage (single portable executable)
    • macOS: ./build-macos.sh
  3. Launch the resulting Optimum client.

Linux and macOS builds run with bash. No PowerShell required for those platforms.

Your existing data folder and worlds work without migration. Optimum reads from the same data path as vanilla by default, or a separate one if you configure it at launch.

DO NOT INSTALL THIS AS A GAME MOD. It is not a .zip that goes in your Mods folder. It is a standalone client that patches copies of the engine DLLs at launch.

 

Legal

Vintage Story is developed and published by Anego Studios. Optimum distributes no game files. It ships only its own source: the performance patches and the Optimum source files, under its own license. It contains no game assets, no prebuilt binaries, and none of the official client code. The build downloads the official client from Anego on your machine, reconstructs the engine source there, and applies the Optimum patches on top, so the assets, runtime, and resulting DLLs all stay local to your install. A valid Vintage Story account is required to play.

 

Source

GPL-3.0 with the Commons Clause. Read the source, modify it, redistribute under the same license. You cannot sell it. Full code at github.com/Zaldaryon/Optimum.

Mod Version Downloads Released Changelog Download
0.3.5 613 Aug 5th at 11:57 PM Optimum-0.3.5_v5.zip

New

  • Experimental support for Vintage Story 1.22.6. Anego has not published open source updates for vsapivsessentialsmod, and vssurvivalmod at 1.22.6 yet, so this release reconstructs the confirmed 1.22.6 source changes as patches on top of the pinned 1.22.5 refs instead of building against real upstream source. vscreativemod and Cairo need no patching, they are byte-identical to 1.22.6 at the decompiled level. The engine itself (VintagestoryLibVintagestory) needs no bridging either, since it is decompiled fresh from whichever client version you build against.
  • install-linux.shinstall-windows.cmd, and install-macos.sh detect which Vintage Story version you have installed and build against it automatically, choosing between the default 1.22.5 and the experimental 1.22.6 bridge without extra flags. Pass --version 1.22.6 (Linux) or -Version 1.22.6 (Windows) to force one explicitly.

Install order matters for 1.22.6

Optimum does not install or update Vintage Story for you. To use the experimental 1.22.6 support, update Vintage Story to 1.22.6 yourself first, then run the Optimum installer. Pointing the Optimum installer at a 1.22.5 install still builds and installs 1.22.5 exactly as before. Nothing changes for you unless you already have 1.22.6 installed.

Fixes

  • bootstrap.sh and bootstrap.ps1 no longer silently reuse a stale vanilla client cached from a previous version build. The extracted client's own version marker is checked before reuse, and a mismatch triggers a clean re-extraction.
  • package-linux.sh and package-macos.sh had the same stale cache bug in their own per-platform caches, with a worse effect: packaging for a new version after a prior version's package run could silently graft Optimum's patches onto the old version's vanilla engine DLL. Both scripts now re-extract on a version marker mismatch.
  • A collision between Optimum's own chunk-loading patch and 1.22.6's new --restoreLogsFolder feature, both inserting code in the same few lines of ServerSystemLoadAndSaveGame.cs. Fixed by regenerating that patch with tighter context so it applies cleanly against both versions.

Validation

Verified end to end on Linux: bootstrapping and building against the real downloaded 1.22.6 client succeeds with all bridge patches applied and zero build errors. The packaged install launches, reaches the login screen, and completed a real multiplayer session with no exceptions logged.

Windows and macOS builds are implemented and pass static syntax checks but have not been retested on those platforms yet. 1.22.5 continues to build and install exactly as before this release.

Notes

  • Targets Vintage Story 1.22.5 by default. 1.22.6 is supported experimentally, see above.
  • Source-only release. See the wiki for install instructions.
0.3.4 223 Aug 4th at 12:42 PM Optimum-0.3.4.zip

New

  • Experimental support for Vintage Story 1.22.6. Anego has not published open source updates for vsapivsessentialsmod, and vssurvivalmod at 1.22.6 yet, so this release reconstructs the confirmed 1.22.6 source changes as patches on top of the pinned 1.22.5 refs instead of building against real upstream source. vscreativemod and Cairo need no patching, they are byte-identical to 1.22.6 at the decompiled level. The engine itself (VintagestoryLibVintagestory) needs no bridging either, since it is decompiled fresh from whichever client version you build against.
  • install-linux.shinstall-windows.cmd, and install-macos.sh detect which Vintage Story version you have installed and build against it automatically, choosing between the default 1.22.5 and the experimental 1.22.6 bridge without extra flags. Pass --version 1.22.6 (Linux) or -Version 1.22.6 (Windows) to force one explicitly.

Install order matters for 1.22.6

Optimum does not install or update Vintage Story for you. To use the experimental 1.22.6 support, update Vintage Story to 1.22.6 yourself first, then run the Optimum installer. Pointing the Optimum installer at a 1.22.5 install still builds and installs 1.22.5 exactly as before. Nothing changes for you unless you already have 1.22.6 installed.

Fixes

  • bootstrap.sh and bootstrap.ps1 no longer silently reuse a stale vanilla client cached from a previous version build. The extracted client's own version marker is checked before reuse, and a mismatch triggers a clean re-extraction.
  • package-linux.sh and package-macos.sh had the same stale cache bug in their own per-platform caches, with a worse effect: packaging for a new version after a prior version's package run could silently graft Optimum's patches onto the old version's vanilla engine DLL. Both scripts now re-extract on a version marker mismatch.
  • A collision between Optimum's own chunk-loading patch and 1.22.6's new --restoreLogsFolder feature, both inserting code in the same few lines of ServerSystemLoadAndSaveGame.cs. Fixed by regenerating that patch with tighter context so it applies cleanly against both versions.

Validation

Verified end to end on Linux: bootstrapping and building against the real downloaded 1.22.6 client succeeds with all bridge patches applied and zero build errors. The packaged install launches, reaches the login screen, and completed a real multiplayer session with no exceptions logged.

Windows and macOS builds are implemented and pass static syntax checks but have not been retested on those platforms yet. 1.22.5 continues to build and install exactly as before this release.

Notes

  • Targets Vintage Story 1.22.5 by default. 1.22.6 is supported experimentally, see above.
  • Source-only release. See the wiki for install instructions.

Hotfix

  • install-windows.ps1 silently dropped the real error when the runtime donor build (VSEssentials/VSSurvivalMod) failed, showing only a generic "Runtime donor build failed" message with no compiler output to diagnose it. The install script now streams that output into the log as it happens instead of buffering it until after the (failed) call returns, so the actual dotnet build error is visible. This restores diagnosability only; if your runtime donor build fails, please share the new log so the underlying cause can be found.
  • Installing to a drive root (C:\OptimumD:\Optimum) failed at the final cleanup step with "The path is not of a legal form". PowerShell 5.1's Split-Path -Parent drops the trailing backslash for paths like that, turning the parent folder into a relative path that New-Item/Move-Item reject. Install-StagedPackage now normalizes that path back to an absolute one.
  • The runtime donor build (VSEssentials/VSSurvivalMod) failed with MSB4025 error occurred while parsing EntityName when your Vintage Story install path contains an & (e.g. C:\Modding & Games\Vintagestory). The installer wrote that path straight into generated .csproj XML without escaping it, and an unescaped & is invalid XML. Paths are now XML-escaped before being written.
0.3.3 165 Aug 3rd at 10:48 AM Optimum-0.3.3.zip

Fixes

  • Added guards to SystemRenderOITLayers and GearRenderer for missing render resources, meshes, shaders, callbacks, and state.
  • Added null-safe player head animation setup and pose lookup.
  • Added dependency closure for injected helpers, complete method signatures, IL stack validation, and strict manifest checks.
  • Added cache hashes, temporary writes, path checks, locks, timeouts, and rollback handling. Failed patching stops before Vintagestory.exe starts.
  • Added Optimum.exe --validate-only with assembly loading, reflection, and JIT preflight.
  • Hardened the Windows installer with package completion checks, runtime preflight, temporary installation swaps, and rollback.
  • Accepted stable four-part ilspycmd versions from 10.1.0.8386 through 10.1.1.8388, inclusive. The build prefers 10.1.1.8388.
  • Unified LF normalization across Bash and PowerShell bootstrap paths.
  • Added the standalone Windows uninstaller and kept the original Vintage Story installation untouched.

Notes

  • Targets Vintage Story 1.22.5.
  • Source-only release. See the wiki for install instructions.
0.3.2 280 Jul 31st at 9:37 PM Optimum-0.3.2.zip

Fixes

  • Prospecting pick node search silently did nothing. Node Search Mode never printed "no ore nearby" or any quantity result (Density Search Mode still worked). Two fields added for the node-search optimization had no initializer run under the runtime patcher, so the first lookup threw before any chat message could be sent. Fixed by lazily initializing on first use.
  • Animation lookups allocated a string every frame. AnimatorBase.animsByCode used the default ordinal comparer in the shipped API assembly, so every animated entity's animation-state lookup lowercased its animation code on every call. The source-tree fix existed but had no Cecil target and never reached players; it now ships via a dedicated API patch.
  • A missing Cecil type target could fall an install back to vanilla. Optimum.OptimumOptiTimeGuard was absent from the engine's type-injection list, so any install exercising GetMigrationMessage() failed self-consistency verification.
  • The version string stuck at 0.3.0/0.3.1 across releases.

Performance (opt-in, default off)

Dressed NPCs (traders, villagers) re-tesselating their shape and gear could cost 50-230ms in a single frame, most visible when several load in at once (a caravan arriving, entering a village). Four settings target this, configurable only via ModConfig/optimum.json for now:

  • EntityTesselationFrameBudget: caps how many dressed-entity re-tesselations run per frame, spreading the rest across following frames.
  • EntityOutfitShapeCache: reuses the fully assembled gear shape and resolved textures for outfit combinations already built once.
  • EntityOutfitAnimatorCache: reuses the built animator (pose graph) across entities sharing an outfit combination instead of rebuilding it every re-tesselation - the largest remaining cost in this path.
  • EntityOutfitTexturePrewarm: inserts every outfit variant's textures into the atlas during the loading screen instead of on first encounter mid-gameplay.

Measured via .optimum stutterwatch, together these reduced per-call cost from 58-230ms down to 7-9ms in real gameplay testing.

Diagnostics

  • New .optimum stutterwatch <ms> command attributes per-frame cost to Optimum's own subsystems, complementing vanilla's .debug logticks.

Notes

0.3.1 195 Jul 31st at 1:09 AM Optimum-0.3.1.zip

Fixes

  • Runtime donor build fails during install when ILSpy generates self-closing <Reference> elements without <HintPath>. MSBuild cannot resolve assemblies like Newtonsoft.Json from a bare <Reference Include="Newtonsoft.Json" />. Added Resolve-ProjectReferences/resolve_references to both the PowerShell and bash donor scripts. A two-pass strategy expands self-closing references (finds DLLs in the vanilla Lib/, root, and Mods/ directories) and replaces invalid relative HintPaths with correct absolute paths from the user's local installation.
  • <LangVersion> hardcoded to 15.0. ILSpy changes the emitted version number across releases. The regex now matches any X.Y version.
  • macOS bash 3.2 compatibility. set -o pipefailsort -z, and find -quit are GNU extensions unavailable on macOS's bundled bash and BSD find. All three now have conditional fallbacks.
  • PowerShell 5.1 compatibility. $IsWindows is PS 6+ only; the fallback path now probes for both ilspycmd and ilspycmd.exe. Native build commands use Invoke-NativeStep (from _exec.ps1) to prevent stderr lines from becoming terminating errors under $ErrorActionPreference = 'Stop' (PowerShell/PowerShell#4002).
  • Missing reference-path directories are now reported. Vanilla Lib/, root, and Mods/ directories are checked for existence before being passed to ilspycmd --referencepath. Missing directories emit a warning instead of silently being skipped.
  • Build step tries all donors before failing. If one donor (VSEssentials or VSSurvivalMod) fails to build, the script now attempts the other and reports all failures at the end.
0.3.1-dev.1 27 Jul 31st at 12:43 AM Optimum-0.3.0_v2.zip

Fix

ILSpy generates two types of unresolved references: self-closing <Reference Include="X" /> (no HintPath) and references with relative HintPaths that do not exist at build time. Both cases leave MSBuild unable to resolve assemblies like Newtonsoft.Json, causing the VSEssentials runtime donor build to fail during install. Added Resolve-ProjectReferences/resolve_references to both .ps1 and .sh variants with a two-pass strategy. Pass 1 expands self-closing references by finding DLLs in vanilla Lib/, root, and Mods/ directories and injecting absolute HintPaths. Pass 2 checks existing HintPaths against the filesystem and replaces invalid paths with correct absolute paths from the vanilla installation.
0.3.0 66 Jul 30th at 10:43 PM Optimum-0.3.0.zip

New

  • Optimum is now a launcher, not a pre-patched game. 0.2.x shipped complete optimized assemblies. 0.3.0 ships Optimum.exe (the launcher), Optimum.Patcher.dll (Cecil), and runtime "donor" DLLs, and patches copies of the game's own assemblies at launch. Four shipping paths carry the changes: an engine Cecil transplant into VintagestoryLib.dll (4 injected types, 52 method transplants, 1 IL hook), an ABI-safe API patch into VintagestoryAPI.dll, runtime donor manifests for VSEssentials.dll and VSSurvivalMod.dll, and an asset overlay for the optimized shaders and the Optimum language strings. Vanilla files on disk are never modified.
  • Patch results are cached and validated per launch. First launch (or the first launch after a Vintage Story or Optimum update) applies the patches and writes them to .optimum/cache/; every launch after that validates the cache and loads it. If any patch step fails, the launcher falls back to a vanilla launch instead of leaving a half-patched install.
  • Branded patch splash screen. The cache-miss path now shows a small window styled after the vanilla GuiScreenLoadingGame (same font family, colour, and size), updated per patch target, so the first launch reads as one continuous loading sequence instead of a console flash. It is a core-profile GL 3.3 renderer with a logging GLFW error callback, so a headless host, a Wayland compositor rejecting window positioning, or an unsupported driver degrades to log-only and never blocks patching.
  • No more console window. The launcher builds as WinExe and writes every diagnostic line to {dataPath}/Logs/optimum-launcher.log (truncated per run) instead of holding a console open for the whole session.
  • Optimum window identity. The client window title is Optimum, the window icon is set from the Optimum-branded gameicon.png at window creation (rather than relying on WM_CLASS resolution, which OpenTK's bundled build cannot set), and GameVersion.LongGameVersion carries a + Optimum v0.3.0 suffix on Windows, Linux and macOS.
  • Vintage Story 1.22.5. All patches were regenerated against the 1.22.5 baseline and the fork refs in forks.json were moved to the 1.22.5 source release.

Performance

  • Map page cache. ChunkMapLayer's per-chunk upload pipeline is replaced by an 8x8-chunk page cache (256x256 px per page). Pages persist to ModData/optimum-map/{world-id}/ as GZip-compressed RGBA written by a background coalescing thread, upload into a GL_TEXTURE_2D_ARRAY (128 layers, free-list allocator, LRU eviction) with BC7 Mode 6 compression when GL_ARB_texture_compression_bptc is present (64KB vs 256KB per page), and draw through a single GL.DrawArraysInstanced call against the optimum-map shader instead of one draw per map component. 2x and 4x box-filtered LOD tiers serve zoomed-out views, and a min-heap priority queue keyed on squared distance from the viewport centre loads near pages first. Falls back to the vanilla per-component path when no pages are resident.
  • Optional map terrain pre-generation. With MapPageCachePregen enabled in .optimum/optimum.json (default off), unexplored chunks entering the viewport are filled on the background map thread with biome-approximated colour derived from the world seed plus the client-side climate, ocean and forest maps, shaded by replaying GenTerra's noise (9 octaves, freq 1/3267, persistence 0.9) over a 34x34 padded height grid for NW-illuminated slope brightness. Pregen pixels are desaturated 35% so they stay visually distinct from explored terrain, and explored data always wins.
  • Wind and rain volume deadzone now actually ships. WeatherSimulationSound.updateSounds skipped OpenAL SetVolume calls below a 1% delta in the source tree since 0.2.x, but updateSounds was never a transplant target, so the shipped game never ran it. It is now in the Essentials runtime manifest along with its four tracking fields.

Fixes

  • Native 0xc0000005 crash when switching settings tabs. _AddOptimumTab widened the settings background bounds without widening the composer's own surface bounds. GuiElementDialogBackground blurs up to Bounds.OuterWidth through raw unclamped pointers, so a background wider than the Cairo surface overran the native pixel buffer — a stack-trace-less access violation on every in-game tab switch, previously misattributed to widening c.Bounds and reverted twice without being fixed. Every fixed-width ancestor bounds, up to and including the composer's own, now grows by the same delta so background and surface stay in lockstep on both the main-menu and in-game paths.
  • A patch-resolution failure could silently drop the whole install back to vanilla. The Cecil assembly resolver for the --mod runs searched only the vanilla input directory, its Lib folder, the donor directory and the output directory — none of which hold VintagestoryAPI.dll for the mod pass (input comes from .optimum/vanilla/Mods, donors from .optimum/donors). It stayed invisible until Cecil had to resolve a type while writing output, at which point AssemblyDefinition.Write threw AssemblyResolutionException, the patcher process died, and the launcher fell back to a fully vanilla launch — discarding even assemblies that had patched cleanly. The resolver now walks up from both the vanilla and compiled paths to the first ancestor directory containing VintagestoryAPI.dll and adds it plus its Lib folder.
  • Chiseled blocks cast full-cube shadows at any distance. Two separate bugs. The shadow-cull path (CullInstantShadowPassNear/Far) had no chisel-distance awareness in either the source tree or the shipped runtime, so vanilla's plain LodLevel >= 1 check let the cheap full-cube LOD 3 proxy into the depth map even right next to the camera. Separately, OptimumApiBridge.InFrustumAndRange ignored its lodLevel parameter for chisel-flagged locations and returned one shared boolean for both LOD 2 and LOD 3 — up close both meshes drew together (z-fighting), and past the chisel distance the block vanished entirely instead of falling back to the proxy. Fixed with a new InFrustumShadowPass bridge method plus a PatchChiselLodShadowHook IL hook, a shared OptimumChiselLodVisible helper for the source tree, and per-lodLevel branching in InFrustumAndRange.
  • A self-reference in a transplanted method broke every patch on install. updateSounds contains .All(s => s.IsReady) LINQ predicates that the C# compiler caches as static delegates on a generated <>c class. Cecil member injection clones only the named method, not that nested type, so the transplanted IL referenced a method that did not exist in the output. SelfConsistencyVerifier correctly refused to write, but the resulting ModPatcher.Patch exception was unhandled in Optimum.exe and killed the launcher mid-sequence, leaving VSEssentials.dllVintagestoryLib.dll and VintagestoryAPI.dll all fully vanilla — no Optimum tab, no version suffix. Both .All(...) calls are now explicit loops, with a regression test.
  • Four crashes from Cecil-injected fields whose initializers never ran. Member injection adds a field slot but does not run constructor IL, so any C# field initializer on an injected field silently vanishes. WeatherSystemClient.optimumWindSpeed/optimumSurfaceWindSpeed (null Vec3d, NRE on the first render frame after joining, now plain locals), AStar.optimumNodePool (NRE per pathfinding attempt, swallowed by vanilla's try/catch, leaving every pathing entity unable to move; now lazily allocated), MechanicalPowerMod.optimumTickNetworks (NRE on every server tick, ~16,000/s, producing a 73MB log and an auto-shutdown at 100,000 errors; now lazily allocated) and TreeGen.vineScratchPos/positionStack.
  • NRE on joining a world. WeatherSystemClient.OnRenderFrame dereferenced capi.World.Player.Entity before the local player existed, and then WeatherDataAtPlayer before the server's LevelFinalize packet had populated it. Most reproducible in singleplayer, where render frames tick faster than the integrated server's join sequence. Both are now guarded with an early return.
  • The Optimum settings tab disappeared, and the Back button overflowed the panel. _AddOptimumTab widened c.Bounds, the dialog composer's own on-screen extent, which is a different object from what the tab buttons are parented to — so the dialog re-centred without moving the buttons, pushing the Optimum tab and Back button outside the panel background. Fixed by widening oButtonBounds.ParentBounds (the real layout parent) on both paths, and additionally c.Bounds in-game only. Inter-tab gaps are 10px and the Back gap 15px so the row fits narrow windows, and the Extra tab's switches are now centred on their label rows.
  • Crucible rendered pitch black above 900°C (#9718 regression). CrucibleInFirepitRenderer added incandescence colour straight into RgbaLightIn, saturating the light vector above 1.0, which some Nvidia drivers render as black. Glow now goes through the dedicated RgbaGlowIn uniform with alpha = extraGlow/255f, matching the ForgeContentsRenderer path that always worked.
  • FSR at native resolution no longer differs from vanilla. The LOD-bias SamplerParameter/TexParameter calls are skipped when Render Scale is Native (1.0x); vanilla never sets them, so native-resolution output is now bit-identical to vanilla instead of subtly different.
  • The version label was appended twice. Both ApiPatcher.PatchGameVersionLabel (rewriting GameVersion..cctor) and a source patch in ClientProgram.Main suffixed LongGameVersion, producing v1.22.5 (Stable) + Optimum v0.3.0 + Optimum v0.3.0. The Cecil patch is now the single source of truth.
  • Three patches were out of sync with build/. The settings-tab spacing fix and the FSR native LOD-bias skip were edited directly in build/VintagestoryLib without regenerating patches/, so any fresh bootstrap silently reverted them. All patches under patches/VintagestoryLib and patches/Vintagestory now apply-and-diff back to build/ exactly.
  • Linux and macOS packages launched unpatched. Both scripts copied Optimum.Api.Contracts.dll to the stage root instead of populating .optimum/donors/ and .optimum/vanilla/Mods/ with the names the launcher expects, so the launcher fell straight through to vanilla. Both now stage all four donors, and both patch VintagestoryAPI.dll at build time for the version label.
  • install-linux.sh prerequisite check. Reading ilspycmd's version through a pipe into head -n1 could deadlock; the script now reads the full output with a 5s timeout backstop. dotnet tool update --version also refuses NuGet-considered downgrades, so the update call passes --allow-downgrade and the fallback uninstalls first.

Verification

  • All four real patch operations run end to end against a vanilla 1.22.5 install and exit 0 with zero self-reference errors: VintagestoryLib (default), VintagestoryAPI (--api), VSEssentials (--mod), VSSurvivalMod (--mod). 52/52 engine method transplants applied.
  • Full VintageStory.slnx solution build clean; 400+ test cases across Optimum.Tests and Optimum.Launcher.Tests passing, including new regression tests for each Cecil field-injection null, the lambda-transplant self-reference, the launcher's WinExe/logging contract, and the splash screen's native asset packaging.
  • The new chisel-LOD shadow hook was verified against real vanilla IL via a live --api patch run and IL dump, not only against the decompiled source tree.
  • check-patches.sh reports 0 conflicts, 0 pending, 0 orphans.

Notes

  • This is an architectural rewrite. Delete any previous Optimum installation before installing 0.3.0.
  • Targets Vintage Story 1.22.5.
  • Source-only release. See the wiki for install instructions.
0.2.11 845 Jul 15th at 11:48 AM Optimum-0.2.11_v4.zip

Fixes

  • 0.2.10 installs failed at the packaging phase. The 0.2.10 release shipped the FSR patches without the matching injection entries in Optimum.Patcher, so the Cecil self-consistency gate found six dangling references to ClientSettings.OptimumRenderScale and aborted every fresh install with "output not written". The patcher now injects the FSR members (OptimumRenderScaleonOptimumRenderScaleChangedFsrEasuFsrRcasRegisterOptimumShaderProgram, texture LOD bias helpers) and transplants the six FSR method bodies.

  • The Windows GUI installer ignored -VsPath. The flag reached the headless -Silent path but not the graphical one, so running the normal installer window with multiple Vintage Story installs present picked whatever install auto-detection found first, regardless of what was passed on the command line. The hidden path field behind the GUI now seeds from -VsPath at launch, matching the flag's documented behavior.

  • install-linux.sh could hang forever during the prerequisite check on some systems. Reading ilspycmd's version by piping its live output into head -n1 could deadlock: head exits after the first line and closes its end of the pipe, and the .NET tool writing further output into a closed pipe can block instead of erroring out. The script now reads the tool's full output before parsing it, with a 5s timeout backstop, so the prerequisite check can no longer hang.

  • ilspycmd install/update could fail with Tool 'ilspycmd' is already installed. even after a hang-free run. dotnet tool update --version refuses to move to a version NuGet considers a downgrade, and the fallback to tool install could never succeed either since install always refuses when the tool ID already exists. The update call now passes --allow-downgrade, and the fallback uninstalls first.

Verification

  • Full install pipeline (bootstrap, decompile, 57 patches, build, Cecil patch) passes with both accepted ilspycmd versions, 10.1.0.8386 and 10.1.1.8388: 50/50 methods patched, 93 members injected, zero self-reference errors, patched DLL written.
0.2.10 102 Jul 15th at 12:59 AM Optimum-0.2.10_v2.zip

Performance

  • FSR 1.0 upscaling. EASU upscales a downsampled scene to native resolution; RCAS applies adaptive sharpening. RenderScale (25-100%) and FsrSharpness (0.0-1.0) appear in the Extra settings tab. At 75% render scale, fill-rate cost drops with no perceptible resolution loss.

Fixes

  • install-linux.sh rewrite. Interactive prerequisite installer. Detects apt, dnf, zypper, and pacman (SteamOS). Detects .NET SDK 10 even when the system dotnet reports 9.x. Walks through each missing tool before building.
  • ilspycmd version range. .config/ilspycmd-compat.json now accepts 10.1.0.x and 10.1.1.x. bootstrap.sh and bootstrap.ps1 read from it; no hardcoded version.
0.2.9 87 Jul 14th at 9:23 PM Optimum-0.2.9.zip

Fixes

  • ilspycmd version nag. The pinned decompiler (10.1.0.8386) started refusing to run when a newer version exists on NuGet, printing "You are not using the latest version" and aborting. Bootstrap now accepts any 10.1.0.x or 10.1.1.x without forcing a reinstall. Pin bumped to 10.1.1.8388 (identical decompile output, verified by diff).

Notes

If you downloaded v0.2.8 and hit the "not using the latest version" error during install: this release fixes it. Re-download and re-run the installer.

0.2.8 103 Jul 14th at 3:02 PM Optimum-0.2.8.zip

Performance

  • Entity light batching. Chunk light queries for all visible entities resolve in one pass per chunk segment. 42-67% CPU reduction at 32-512 entities, zero per-frame allocation.
  • Shader state cache. viewMatrix, waterWaveCounter, and the Animation UBO upload once per render pass. Each renderer reads the cached result instead of re-uploading per entity. 83% reduction at 32+ entities.
  • Greedy mesh UI. The Extra settings tab shows MaxMergeWidth/Height sliders when the feature is enabled.

Fixes

  • Background FPS focus debounce. 300ms hysteresis prevents false limiter triggers during world load and rapid alt-tab sequences.
  • Frame pacing timer resolution. timeBeginPeriod(1) on Windows for 1ms sleep granularity. Core-count gate (ProcessorCount > 5) falls back to Yield-only pacing on low-core machines.
  • VS Roofing 1.6.3 LOD. Roof blocks no longer trigger chisel LOD substitution. The gate checks the canChisel attribute before replacing meshes.
  • Thunderlord animation. GearRenderer entities skip the animated block LOD gate via a SkipAnimLod flag.
  • Linux font rendering. Optimum ships vanilla's pristine cairo-sharp.dll instead of a recompiled copy. Glyph shape differences (the "pointy g" report) are gone.
0.2.7 375 Jul 8th at 2:25 PM Optimum-0.2.7.zip

Fixes

  • Windows installer: all patches fail when core.autocrlf=true (the Windows git default). The bootstrap now normalizes line endings in fork checkouts before applying patches. Users who hit 50/50 failures no longer need to change their git config.
  • Installer build dir tagged by version (Optimum-0.2.7-{id}). Stale build caches from older versions get cleaned automatically on the next install. Re-runs of the same version reuse the existing dir.
  • Chisel LOD diagnostics moved client-side. .optimum chisel lodstats and .optimum chisel lodreset work on vanilla servers without server-side registration. Output also writes to client-main.log.

Performance

  • Recipe slideshow ElementBounds cache. The 3x3 grid scissor bounds (18 objects per frame) are pre-allocated and reused instead of allocated fresh every render tick.

Notes

Source-only release. Clone the repo and run the installer for your platform. See the wiki for instructions.

0.2.6 76 Jul 8th at 10:57 AM Optimum-0.2.6.zip

Targets Vintage Story 1.22.3.

Fixes

  • The v0.2.5 Windows installer failed at the patch step with ClientLinux.cs: No such file or directory. The datapath.cfg feature patched the client entry file, which carries a different class name on each OS: ClientLinux, ClientWindows, ClientMac. The logic now lives in ClientProgram.Main inside VintagestoryLib, which every platform shares. Windows and macOS installs now get the custom data folder feature that v0.2.5 only delivered on Linux. If you renamed the patch to .disabled as a workaround, delete your Optimum source folder and install v0.2.6 fresh.

Removed

  • Five VintagestoryLib patches that never reached the shipped build (ClientWorldMap, ParticleManager, SystemClientTickingBlocks, EventHelper, SvgLoader). The patch checker now fails when a VintagestoryLib patch has no Cecil transplant target, which prevents this class of silent gap.
  • Stale coverage tests for the blur shaders that v0.2.5 removed. The suite runs green at 204 tests.

Install

Clone the repo or download the source zip. Run install-windows.cmd (Windows), ./scripts/install-linux.sh (Linux), or make build (any platform). The build downloads the official VS 1.22.3 client on first run.

0.2.5 100 Jul 8th at 1:25 AM Optimum-0.2.5.zip

Targets Vintage Story 1.22.3.

Fixes

  • Windows installer detects prerequisites across all drives (Scoop, Chocolatey, winget, Steam, GOG Galaxy, GitHub Desktop, registry PATH). A Browse button on each prerequisite lets users point at the binary when auto-detection fails.
  • Short build root avoids Windows MAX_PATH (260 chars) failures. Usernames with spaces no longer cause the ILSpy regex-generated source files to overflow the path limit.
  • PowerShell 5.1: Test-Path on non-existent drives no longer crashes the installer. String.Split uses the .NET Framework overload.
  • VintagestoryLib.vanilla.dll copy after junction setup fixes the packaging pristine-DLL check that blocked the Windows GUI installer.
  • Custom data folder: the launcher reads datapath.cfg from the install folder on startup, so double-clicking Optimum.exe uses the configured data path without needing the shortcut argument. The Windows and Linux installers write this file when you select a separate data folder.

Removed

  • bilateralblur.fsh/.vsh and blur.fsh/.vsh shipped in v0.2.4 caused darker ambient occlusion and weaker bloom. Removed. The four remaining shaders (godrays cap, shadow alpha threshold, cloud march reduction, rain hash) have no visual quality impact.

Install

Clone the repo or download the source zip. Run install-windows.cmd (Windows), ./scripts/install-linux.sh (Linux), or make build (any platform). The build downloads the official VS 1.22.3 client on first run.

0.2.4 110 Jul 7th at 1:27 PM Optimum-0.2.4.zip

Targets Vintage Story 1.22.3.

Fixes

  • Settings crash: the IL-injected Optimum tab button fired twice in one composition pass, adding a duplicate dictionary key. The Cecil hook now guards against double insertion, and the source recalculates bounds on each call.
  • Shader validation gate: make deploy and all five packaging scripts refuse to ship truncated or incomplete shaders. A new validate-shader-assets.sh catches empty files and missing void main before anything reaches the user.
  • .NET 10 detection on Linux: the installer probes five known locations (~/.dotnet/usr/share/dotnet/usr/lib/dotnet/snap/dotnet-sdk/current, and PATH) instead of only checking PATH.
  • Makefile lang merge encoding: make deploy handles UTF-8 BOM and works under any locale (including C/POSIX on Arch Linux).

New

  • Chiseled block LOD routing ships via Cecil transplant. Distant chiseled blocks render as solid cubes (83x vertex reduction, configurable distance in the Extra settings tab).
  • Tests read committed patch files instead of the decompiled working tree, so dotnet test passes on any machine without a full bootstrap cycle.

Install

Clone the repo or download the source zip. Run install-windows.cmd (Windows), ./scripts/install-linux.sh (Linux), or make build (any platform). The build downloads the official VS 1.22.3 client on first run.

0.2.3 146 Jul 6th at 3:11 PM Optimum-0.2.3_v4.zip

Hotfix release addressing install failures and runtime crashes.

Fixes

  • Installer picks the correct VS version: users with multiple Vintage Story installs no longer get the wrong one detected.
  • Browse selection sticks: the GUI no longer overwrites a user-browsed VS path on prereq refresh.
  • GameVersion.cs.patch corrected: the 0.2.2 patch targeted a wrong baseline, causing OptimumConfig build errors.
  • UTF-8 lang file merge: non-ASCII characters no longer corrupt under Windows PowerShell 5.1.
  • License dialog crash (Windows): switched from RichTextBox to plain TextBox (fixes both the RTF format error and the VScroll method-not-found error).
  • BOM in vanilla lang files (Linux/macOS): json merge uses utf-8-sig for reads.
  • Handbook crash from mod exceptions: a mod NullRef in GetHeldItemInfo no longer kills the handbook loading thread.
  • Shader content validation: truncated shaders (non-empty but missing void main) now detected and cache discarded.

Upgrade path

Download the source zip from this release page and run your platform's install script. If you previously hit the blur.vsh crash, delete the .vanilla folder before re-running.

0.2.2 59 Jul 6th at 12:57 PM Optimum-0.2.2.zip

Bugfix release. Everyone on 0.2.1 should update: the fix lives in the built DLL, so reinstall (rerun the installer or build script) after downloading this release's source.

Fixed

  • The 0.2.1 "Client Thread Crash" on world load. The chunkculling thread died with Field not found: 'ClientWorldMap.chunksLock' on every world load. The release DLL is the vanilla assembly with selected optimized methods transplanted in, and the transplanted occlusion-culling method referenced that field with a signature the vanilla assembly cannot resolve. The field keeps its vanilla type now, and the patcher verifies every transplanted reference by full signature - the same way the runtime resolves them - before it will write a DLL.
  • Startup shader crash from corrupted installs (blur.vsh ... syntax error, unexpected $end). A partially extracted game download could poison the build cache and get reused by every reinstall. The installer now detects zero-byte and truncated files, discards bad extractions, and packaging refuses to ship a build whose staged assets or shaders fail validation.
  • A mod exception no longer kills the whole client while the creative search index builds. Mods that throw from held-item info there (a SmithingPlus shutdown race is a known trigger) previously crashed the game; the affected item now falls back to a name-only search entry and the offending mod is named in the log.
  • Cancellable event handlers (BeforeActiveSlotChanged and friends) were cast to the wrong Func delegate type in full-compiled builds, failing every registered handler with InvalidCastException and spamming the log. Fixed, and a new cast-divergence check in check-vanilla-compat.sh gates this whole class of decompiler artifact.

Also in this release

  • All 33 locale files for the Optimum settings strings, previously missing from the public tree.
  • New regression tests: CecilTransplantBoundaryTestsEventHelperDelegateCastTests.
0.2.1 97 Jul 5th at 11:54 PM Optimum-0.2.1.zip

- Version bump to 0.2.1 in OptimumInfo, OptimumConfig, Vintagestory.csproj, packaging scripts, and release docs.
- NuGet.config at the repo root, so NuGet ignores the Visual Studio offline source and stops the NU1101 failures.
- Windows installer handling for innounp, so it keeps going when extraction already produced Vintagestory.exe.
- Cleaner Windows installer launchers, with the extra console window hidden.
- Packaging now ships the Cecil-patched VintagestoryLib DLL, not the raw rebuilt one.
- The waypoint and options-menu SVG crash fix in SvgLoader, which reloads stale assets before drawing.
- The Eco Machina compatibility fix for ChunkTesselator.CalculateVisibleFaces, wired into the Cecil release path.
- A new EcoMachinaIlCompatTests test file.
- A pinned ilspycmd manifest in .config/dotnet-tools.json.

0.2.0 203 Jul 4th at 1:18 PM Optimum-0.2.0_v2.zip

Fixed since v0.1.2

  • Settings crash when opening from the in-game escape menu
  • Installer hang on "Unpacking Vintage Story" (innounp zombie processes)
  • .NET SDK not detected on non-standard install paths
  • Install directory with spaces or parentheses (Program Files (x86))
  • Build failure on HP laptops (Platform=HPD environment variable)
  • Error 128 on Arch Linux (source downloaded as ZIP instead of git clone)
  • PowerShell no longer required on Linux or macOS
  • Optimum icon now shows in the exe, Start Menu, and desktop shortcut

New

  • Interactive Linux installer with prerequisite checklist and guided setup
  • AppImage format (single portable executable, no install)
  • Translation system: 33 languages (all VS-supported locales)
  • Update checker: green notice in main menu when a newer version exists
  • Installers refuse to write into the Vintage Story directory
  • Chisel block LOD with configurable distance slider
  • Launch button after successful Windows install

50 patches. 215 tests. 0 build errors.

0.1.2 140 Jul 3rd at 12:56 AM Optimum-0.1.2_v2_source.zip

Source release for Vintage Story 1.22.3. Download the zip, extract, build on your machine.

Windows (GUI installer): double-click install-windows.cmd
Windows (manual): powershell -ExecutionPolicy Bypass -File build-windows.ps1
Linux: ./build-linux.sh
macOS: ./build-macos.sh

Requires .NET 10 SDK. The build downloads the official VS 1.22.3 client (~570MB), decompiles it on your machine, applies patches, and packages a ready-to-run folder. Nothing copyrighted leaves your machine.

New since v0.1.1

  • Shadow far vegetation skip (togglable)
  • Chiseled block LOD: 83x vertex reduction for distant microblocks (togglable)
  • Entity render distance pre-cull (skip render call before matrix work)
  • Particle distance gate: emitters beyond 48 blocks stop spawning (togglable)
  • Weather wind throttle: cache for 4 frames (togglable)
  • Server GC + DATAS: 73% fewer GC collections, zero Gen1 promotions
  • Lock contention reduction: 11 client locks converted to System.Threading.Lock
  • Name-tag frustum reuse: IsRendered flag replaces per-frame SphereInFrustum
  • Settings UI: Extra tab with 13 toggles and sliders, persists to ModConfig/optimum.json
  • Deterministic build pipeline: pinned SDK via global.json, no decompile variance across machines
  • Windows GUI installer with Optimum icon and branding

Fixes

  • Duplicate version text in main menu resolved
  • Main menu GitHub link restored (Cecil transplant for Compose method)
  • Patcher reads pristine vanilla DLL (idempotent deploy)

See the wiki for install instructions and the full feature list.

0.1.1 329 Jun 27th at 2:27 AM Optimum-0.1.1.zip

Windows GUI installer, crash handler branding, embedded PDBs, PowerShell 5.1 fixes. Download the Source code (zip) below, extract it, and double-click install-windows.cmd to launch the installer.

0.1.1 0 Jun 27th at 1:39 AM Release Retracted

Retraction Reason:

doesn'tr install at all.

Changelog:

Windows GUI installer, crash handler branding, PowerShell 5.1 fixes. The .exe wraps install-windows.ps1 via ps2exe. Antivirus may flag it as a false positive because ps2exe embeds PowerShell in a .NET host.

The .ps1 source is included as an alternative: "powershell -ExecutionPolicy Bypass -File install-windows.ps1" at https://github.com/Zaldaryon/Optimum/releases/tag/v0.1.1

0.1.0 75 Jun 26th at 6:48 PM where_to_download_v0.1.0.zip

First release. Fifteen optimizations and three bugfixes for Vintage Story 1.22.3. See the wiki for the full feature list.

0.1.0 3 Jun 26th at 6:35 PM Release Retracted

Retraction Reason:

better not to distribute binaries

Changelog:

First release. Fifteen optimizations and three bugfixes for Vintage Story 1.22.3. See the wiki for the full feature list.


388 Comments (oldest first | newest first) (threaded | flat)

MikeSyrup, 18 hours ago

It seems like my cursor keeps disappearing in game when using optimum, but not on the default client

GrimoireODS, 1 day ago

Is this better than optitime?

MicolashNoPants, 2 days ago (modified 2 days ago)

My machine would get constant 120 fps easily with like 10 worldgen mods and 1024 render distance

I just finished downloading way more mods than I've ever had installed. FPS was tanked; Had to lower render distance to 512, even still FPS at a very inconsistent "60", looking around tanks to like.. either 3 or 15 in visual appearance, and frequent lag spikes/freezes, very slow chunk loading, cannot load new chunks without major spikes and extended constant freezes. 

Now running with Optimum. Stable 75 fps, can raise render distance back to 1024, even stays stable when sprinting into undiscovered terrain except for an occasional 1 second spike every 30 seconds or so. My game is pleasant and playable again. I am impressed

Pnaepkin, 2 days ago

I tried out Optimum and it seemed to help a little.

One compatibility question: TerraTags (the ability to draw on the map basically) did not render for more than one frame.

Do you know what map rendering config settings I can change around to see if I can get it to be compatible with TerraTags?

3liza, 2 days ago

Installing this has made my Vintage Story run so much worse than it did before I installed, but I'm not sure what I did wrong. Lag spikes and crashes happen every few minutes. I don't have Optitime installed. Apoloies in advance for not being able to figure this out myself.

I'm running 1.22.5.

Here's my modlist:

Spoiler!
Spoiler text.
Spoiler
afewgoodtaters_123.zip
AncientLib_V1.0.0.zip
ancienttoolsfork_1.6.5.zip
AncientToolsMortar_V1.0.0.zip
AncientToolsResinHarvest_V1.0.0.zip
animalcages_v5.0.0.zip
antlershorns1.5.1.zip
BetterFirepit-v1.22-Fix-v1.3.0.zip
betterinsulation_0.1.0.zip
BetterRuinsv0.6.3.zip
CarryOn-1.22.0_v1.14.2.zip
charcoalkiln_1.0.7.zip
extrashelves_1.1.2.zip
HudClock_4.4.1_VS1.22.3.zip
itempickupnotifier_1.7.3.zip
itempickupnotifier_2.2.0.zip
jsonpatcheslib_1.5.6.zip
moredirslabs_1.0.2.zip
overhaullib_2.0.10.zip
PeculiarPortions_v1.0.4.zip
playercorpseforkedazu_1.14.1.zip
playermodellib_1.23.8.zip
primitivesurvival_5.0.8.zip
PrimitiveTools_2.0.2.zip
realisticrapids_0.1.1.zip
realisticwater_0.3.1.zip
SkeletonHornsPatch 1.0.2.zip
skeletons_0.6.2.zip
statushudcont_3.3.0.zip
statushudcont_4.4.0.zip
vsecomachina_0.6.1.zip
vsroofing_1.7.0.zip
zoombuttonreborn_2.0.0.zip
Spoiler
afewgoodtaters_123.zip
AncientLib_V1.0.0.zip
ancienttoolsfork_1.6.5.zip
AncientToolsMortar_V1.0.0.zip
AncientToolsResinHarvest_V1.0.0.zip
animalcages_v5.0.0.zip
antlershorns1.5.1.zip
BetterFirepit-v1.22-Fix-v1.3.0.zip
betterinsulation_0.1.0.zip
BetterRuinsv0.6.3.zip
CarryOn-1.22.0_v1.14.2.zip
charcoalkiln_1.0.7.zip
extrashelves_1.1.2.zip
HudClock_4.4.1_VS1.22.3.zip
itempickupnotifier_1.7.3.zip
itempickupnotifier_2.2.0.zip
jsonpatcheslib_1.5.6.zip
moredirslabs_1.0.2.zip
overhaullib_2.0.10.zip
PeculiarPortions_v1.0.4.zip
playercorpseforkedazu_1.14.1.zip
playermodellib_1.23.8.zip
primitivesurvival_5.0.8.zip
PrimitiveTools_2.0.2.zip
realisticrapids_0.1.1.zip
realisticwater_0.3.1.zip
SkeletonHornsPatch 1.0.2.zip
skeletons_0.6.2.zip
statushudcont_3.3.0.zip
statushudcont_4.4.0.zip
vsecomachina_0.6.1.zip
vsroofing_1.7.0.zip
zoombuttonreborn_2.0.0.zip
taucetifive, 6 days ago (modified 5 days ago)

okay turned off optitime which is a given, sorry about that lmao

new reason for the crash but same thing, changing graphics settings EDIT: it's whenever the shaders are reloaded. also happened when hitting alt+F1 to reload shaders. this time tested vanilla

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 8143 MB RAM
Game Version: v1.22.5 (Stable) + Optimum v0.3.5
09/08/26 9:46:21 PM: Critical error occurred
Loaded Mods: game@1.22.5, creative@1.22.5, survival@1.22.5
System.InvalidOperationException: Can't use a disposed shader!
   at Vintagestory.Client.NoObf.ShaderProgramBase.Use() in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientPlatform\ShaderProgramBase.cs:line 304
   at Vintagestory.GameContent.OptimumMapPageRenderer.EndFrame(Single viewportWidth, Single viewportHeight)
   at Vintagestory.GameContent.GuiElementMap.RenderInteractiveElements(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VSEssentials\Systems\WorldMap\GuiElementMap.cs:line 64
   at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\UI\GuiComposer.cs:line 737
   at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 396
   at Vintagestory.GameContent.GuiDialogWorldMap.OnRenderGUI(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 346
   at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\Systems\Gui\GuiManager.cs:line 309
   at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 1048
   at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
   at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 783
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 686
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 28/07/26 11:57:05 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.5.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.19041.7548, time stamp: 0x1f2efbc7
Exception code: 0xc0000374
Fault offset: 0x00000000000ff509
Faulting process ID: 0x359c
Faulting application start time: 0x01dd1f0e3676567e
Faulting application path: C:\Users\soldi\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report ID: 42656daa-a8c3-42d3-9bba-02b0a78cde5e
Faulting package full name: 
Faulting package-relative application ID:  }

himei, 6 days ago (modified 6 days ago)

hello, transparent things and particles show up annoyingly dark and unlike the other bro, changing texture atlas from 4096 to 8192 didn't work. similarly to their other findings, the colours load properly on the original client and only does it show up quite dark when using optimum. i had seen that the texture had a saved render of a previous frame (a watershed path) and only those blocks show up properly but i haven't seen that happen again when reloading. also using linux

edit: some more specifics

himei, 3 days ago
@Zaldaryon: hello, I need your client logs and mods installed to be sure.

alright, the colour appears fine at maximum resolution, but it happens when i decrease it and stays frozen even after putting it back on maximum resolution (you do see it zoom back out). using optimum has been phenomenal, your efforts have certainly been incredible

client-main.log
13.8.2026 08:51:59 [Notification] Loaded mods (84):
MineIndicator-texturepack   1.0.0
yangcoifix                  1.0.0
watersheds                  7.0.1
knapster                    4.0.0
arboderchair                1.0.0
translocatorlocatorredux    1.3.0
bloodtrail                  1.2.5
bearsshiftyearth            1.2.1
prospectorsdispatch         1.2.1
seedsfromgrains             1.0.3
immersiverainbow            1.0.1
temperatureheighttweak      0.4.0
darkvision                  1.3.5
paniniprojection            1.1.1
hydrateordiedrate           2.5.5
geologymap                  1.1.0
carryon                     1.14.2
stirlingmotor               2.1.2 
blocklayeroverhaul          1.0.2 
vsroofing                   1.7.1 
morefat2x                   1.5.4 
metalbuckets                1.0.1 
wayfinder                   1.3.0 
sleepingbagmod              1.0.1 
bowpatch                    1.2.0 
securecookingpots           1.0.2 
gimap                       1.7.0 
astronomersdelight          1.0.2 
zoombuttonreborn            2.0.2 
statushudcont               4.3.2 
resonatoroverhaul           1.2.5 
temporalgearsmithing        1.0.3 
sticksfromfirewoodmallow    2.0.1 
farmlanddropswithnutrients  1.2.2 
minimapwaypointlist         1.1.3 
invfarming                  1.0.2 
expandedfoods               2.0.0-dev.12  
efchefstricks               1.0.0-dev.3   
efmealsmodule               1.0.0-dev.5   
aculinaryartillery          2.0.0-dev.21  
spawnhighlightreborn        1.3.0         
tlnetworks                  0.1.1         
flintchisel                 1.0.5         
smallerjugshandling         1.0.0         
boatautopilot               1.1.4         
jsonpatcheslib              1.5.5         
overhaullib                 2.0.10        
vsimgui                     1.2.7         
playermodellib              1.23.7        
configlib                   1.12.0        
extraoverlaysm4             1.8.1         
travelingbells              1.3.5         
forgivingquench             1.0.1         
projectiletracker           1.0.7         
explosive                   0.2.1         
ndlrapids                   1.0.1         
betterruins                 0.6.3         
qualityores                 1.0.0         
grindingwheelrework         1.1.5         
cbr                         2.0.1         
manualfirestarter           0.1.3         
terratag                    0.6.0         
feedfromseed                1.1.2         
dead                        2.4.0         
visibleoresandminerals      1.4.1         
rivers                      5.0.3         
rustgirls                   0.4.6         
playablerustgirls           0.1.4         
primitivesurvival           5.1.1         
vsmodfarlands               0.2.0         
spawngiantwaterlilies       1.0.1         
wallkickswillwork           1.1.0         
betterdeathmessages         1.0.3         
reachindicator              1.0.2         
tetopear                    1.0.4         
staminamod                  1.1.2         
game                        1.22.5        
creative                    1.22.5        
survival                    1.22.5        
nooffhandpickupsforked      1.0.0         
rustboundmagic              3.2.4         
milkabledrifters            1.0.2         
metalpots                   1.8.0         
justanarrowheadmold         1.1.0

it was too fat to put in the whole thing.

client-debug.log

client-main.log

pngwn, 6 days ago

I got this installation error on a fresh install of 0.3.5:

Decompiling exact VSSurvivalMod runtime donor...
error: patch failed: .build/runtime-donors/VSEssentials/Vintagestory/Essentials/AStar.cs:33
error: .build/runtime-donors/VSEssentials/Vintagestory/Essentials/AStar.cs: patch does not apply
ERROR: Could not apply runtime patch C:\opt-bld\Optimum-0.3.5-3c65a18a\patches\runtime\VSEssentials\Vintagestory\Essentials\AStar.cs.patch (exit code 1).

Ashdod, 6 days ago

Never have I, as a software developer myself, been this impressed by the effort and professionalism shown by this software.

It greaty improved my performance ingame, more than I expected. even the descripition of this page is super detailed and written well.

You have my respect Zaldaryon. The seamlessness of this software is unmatched.

taucetifive, Aug 8th at 11:44 PM (modified Aug 9th at 12:15 AM)

edit: yeah this was just texture atlas size. i needed to increase from 4096 to 8192. weird how this affects optimum and not vanilla

 

unrelated to my crash; everything rendered with transparency is blackened for some reason after reloading textures (texture atlas bug or something). clouds, water, ice blocks, glass, particles, etc. any clue as to why?

optimum 0.3.5 + VS 1.22.5 plus the mod list in that crash report below.

idk if it could be related to texture atlas size since on this isntall i've always had to reload textures joining specific servers that have enough mods. reloading textures does nothing though.

taucetifive, Aug 8th at 4:10 PM (modified Aug 9th at 12:07 AM)

crash when changing graphics settings ingame

happens when toggling FXAA, bloom, shadows, dynamic lights, and any of the Extra settings included with this mod (including FSR)

does not happen when increasing view distance, game resolution, or LOD view distance

despite crashes, changed settings will persist to next launch

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 8143 MB RAM
Game Version: v1.22.5 (Stable) + Optimum v0.3.5
08/08/26 12:08:55 PM: Critical error occurred
Loaded Mods: bettercrates@1.10.0, woodlogstack64@1.5.0, chiseltools@1.17.3, conquest@1.0.7, elstoneforge@1.0.5, elghal@1.0.5, elivory@1.0.4, elreikland@1.1.3, elsynthetic@1.0.2, eldraken@1.1.2, elshadowsp@1.0.3, forestsymphony@1.0.6, fadynasties@1.2.9, fagothic@1.3.4, fagreenwich@1.4.5, fahussar@1.1.6, fajousting@1.0.5, falandsknecht@1.2.5, fatemplar@1.4.6, favarangian@1.1.0, faviking@1.1.6, jsonpatcheslib@1.5.3, louderbears@1.0.2, millwright@1.3.3, molds@0.3.6, moreflooringpatterns@1.1.0, overhaullib@2.0.10, plainsandvalleys@1.0.13, prospecttogether@2.2.1, racialequality@0.1.28, sconce@1.0.5, repairablelocust@2.0.2, shelfobsessed@2.1.5, simplewatertweaks@0.14.0, sortablestorage@3.0.0, stonequarryrepckfipil@3.6.3, tankardsandgoblets@1.4.4, terratag@0.5.0, viewdistancetoggler@1.0.3, game@1.22.5, vsimgui@1.2.7, xvshaders@1.0.2, altmapiconrenderercontinued@1.6.0, arrowbarrels@1.5.0, attributerenderinglibrary@3.1.5, egocaribautomapmarkers@5.0.3, betterentityinteraction@1.0.5, betterruins@0.6.3, biodiversity@1.1.4, carryon@1.14.2, cartwrightscaravan@1.9.1, coinage@2.2.0, commonlib@2.8.0, configlib@1.12.0, danatweaks@4.1.0, deathcorpses@2.8.1, foodshelves@3.0.4, fromgoldencombs@2.0.8, immersivewoodchopping@0.8.4, itempickupnotifier@2.2.0, kevinsfurniture@1.9.0, landclaimingandgroupinggui@1.1.0, maketeaforked@0.9.42, marximusmedievalmap@1.5.3, mnflowers@2.0.0, materialneeds@2.0.0, meteoricsteel@1.0.15, morehudbars@1.2.0, morepiles@3.0.1, nohands@0.1.1, noticeboard@2.0.2, optitime@1.5.16, playermodellib@1.23.2, purposefulstorage@2.0.1, rivers@5.0.2, rpvoicechat@2.5.7, scaffolding@1.3.1, shipwright@1.4.1, slowtox@5.0.0, statushudcont@4.4.0, th3dungeon@0.5.0, valrossensmapfilters@1.2, vanillaarmory@2.1.0, vinconomy@5.3.0, creative@1.22.5, survival@1.22.5, watersheds@6.4.3, mapwaypointcolors@1.1.3, xlib@1.0.33, bdcrop@1.1.0, bdorchard@1.0.5, heraldry@2.0.0, medievalarchitecture@1.1.1, xskills@1.0.90, heraldrybanners@2.0.0, capes@2.0.0, xskillsgilded@1.3.47
Involved Harmony IDs: com.zaldaryon.optitime
System.InvalidOperationException: Can't set uniform on not active shader gui!
   at Vintagestory.Client.NoObf.RenderAPIGame.Render2DTexture(Int32 textureid, Single x1, Single y1, Single width, Single height, Single z, Vec4f color) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\API\RenderAPIGame.cs:line 331
   at Vintagestory.API.Client.GuiComposer.Render(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\UI\GuiComposer.cs:line 719
   at Vintagestory.API.Client.GuiDialog.OnRenderGUI(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 396
   at Vintagestory.API.Client.HudElement.OnRenderGUI(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\UI\HudElement.cs:line 32
   at Vintagestory.Client.NoObf.GuiManager.OnRenderFrameGUI_Patch1(GuiManager this, Single deltaTime)
   at Vintagestory.Client.NoObf.ClientMain.RenderToDefaultFramebuffer(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 1048
   at Vintagestory.Client.GuiScreenRunningGame.RenderToDefaultFramebuffer(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 251
   at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 783
   at Vintagestory.Client.ScreenManager.OnNewFrame_Patch1(ScreenManager this, Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame_Patch1(ClientPlatformWindows this, FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 1
==================================
{ TimeGenerated = 28/07/26 11:57:05 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.5.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.19041.7548, time stamp: 0x1f2efbc7
Exception code: 0xc0000374
Fault offset: 0x00000000000ff509
Faulting process ID: 0x359c
Faulting application start time: 0x01dd1f0e3676567e
Faulting application path: C:\Users\soldi\AppData\Roaming\Vintagestory\Vintagestory.exe
Faulting module path: C:\Windows\SYSTEM32\ntdll.dll
Report ID: 42656daa-a8c3-42d3-9bba-02b0a78cde5e
Faulting package full name: 
Faulting package-relative application ID:  }

Shey, Aug 7th at 4:32 PM

Intended second comment.

If possible you should also look into how shadows get calculated. Literally more than 30ms can be lost on weaker hardware like a 3050 where the base geometry pass on 1080p 60FPS with no shadows would have 24ms with shadows on very high it rises to 54ms in the vanilla game.
This would be one of the biggest performance wins when minimized. A deferred lighting pass scrapes of around 14ms though it's still high just for 1080p 60FPS at around 40ms depending on the scene 36ms in rendering latency.
The measurements are taken directly from in the game and render doc an utility to debug rendering pipelines. Measurements of the deferred lighting pass are taken from my own mod that has already one implemented.

Also geometry gets redrawn every frame even though the chunk might not have changed in any way. A smart cashing system could also scrape of around 3ms.

Shey, Aug 7th at 4:24 PM

Does the installer not support multiple drives on Windows?
I only get C: as an option. 

Nixaromatichon, Aug 7th at 9:55 AM

Hey! m trying to get Optimum to work on a 1.22.3 install i have cause i tihnk it would hel me wiht the lagg spikes i have on TFK , (age old stuff of having like 90fps but huge 15 sec lagg spikes) but i cant figure out wich version i need i tyed the newest and wrote 1.22.3  in the version filed but it came out wiht 5 erros for Vintagestorylib and could not install... could you direct me how could i install it for 1.22.3 (sorry if it's a noob question brain smooth bit confused)

EpicWizard, Aug 6th at 1:53 AM (modified Aug 6th at 1:54 AM)

Hi, im getting this error on 1.22.5 + 0.3.5:

Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Modding & Games\Random Games\Vintagestory
Using ilspycmd 10.1.1.8388 from ilspycmd
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.3.5-0bf76862
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.3.5-0bf76862\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at 324ccf9e852ffbe3764e3271508f28081123d111
Cloning Cairo at b5a93a4b3f68217f3185f8abaf131115773ea9e7
Cloning VSEssentials at 0cd7da3e4f6e7faba7bcd7f56be4a9a144a1c088
Cloning VSSurvivalMod at dfaeb44db824a7f37d5b7bf82ba0657633aa0f43
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Cairo/Cairo.csproj.patch
Applying patches/Cairo/util/SurfaceTransformBlur.cs.patch
Applying patches/VintagestoryApi/Client/API/IAmbientManager.cs.patch
Applying patches/VintagestoryApi/Client/API/IInputAPI.cs.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/Collectible/Block/Block.cs.patch
Applying patches/VintagestoryApi/Common/Crafting/RecipeBase.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPlayer.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityProperties.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityStats.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/EntityHeadController.cs.patch
Applying patches/VintagestoryApi/Common/Registry/RegistryObject.cs.patch
Applying patches/VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs.patch
Applying patches/VintagestoryApi/Datastructures/IMergeable.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/Ascii85.cs.patch
Applying patches/VintagestoryApi/Math/CollisionTester.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryApi/Server/API/IServerWorldAccessor.cs.patch
Applying patches/VintagestoryApi/Util/WildcardUtil.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/Compression.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/EventManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerPackets.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs.patch
Applying patches/VSCreativeMod/WorldEdit.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/Loading/BlockType.cs.patch
Applying patches/VSEssentials/Loading/EntityType.cs.patch
Applying patches/VSEssentials/Loading/ItemType.cs.patch
Applying patches/VSEssentials/Loading/RegistryObjectType.cs.patch
Applying patches/VSEssentials/Loading/RegistryObjectTypeLoader.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherCommands.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationSound.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemConfig.cs.patch
Applying patches/VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs.patch
Applying patches/VSSurvivalMod/Item/ItemShears.cs.patch
Applying patches/VSSurvivalMod/Systems/Cooking/CookingRecipe.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Applying patches/VSSurvivalMod/Systems/Trading/EntityTrader.cs.patch
Patches: 95 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
    0 Errores
==PHASE== Assembling the final package...
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Runtime donor build failed: VSEssentials, VSSurvivalMod

Zaldaryon , Aug 6th at 10:38 AM
@EpicWizard: Hi, im getting this error on 1.22.5 + 0.3.5: Spoiler ==PHASE== Verifying tools...Using Vintage Story from: C:\Modding & Games\Random Games\VintagestoryUsing ilspycmd 10.1.1.8388 from ilspycmd==PHASE== Setting up build workspace...Build dir: C:\opt-bld\Opt

I found a bug in the installer's logging: when the runtime donor build fails, it was swallowing the actual error and only showing the generic "Runtime donor build failed" message, so I can't tell what really broke from this log alone. Fixed that and pushed it to the v0.3.5v2 release.

Could you re-download the installer and try again? If it fails, the log this time should show the real compiler error, and that'll let me pin down the actual cause. Thanks for your patience!

EpicWizard, Aug 6th at 3:23 PM (modified Aug 6th at 3:23 PM)
@Zaldaryon: I found a bug in the installer's logging: when the runtime donor build fails, it was swallowing the actual error and only showing the generic "Runtime donor build failed" message, so I can't tell what really broke from this log alone. Fixed that and pushe

I downloaded the new version (v3) and the installation still fails, but now i'm getting this log:

Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Modding & Games\Random Games\Vintagestory
Using ilspycmd 10.1.1.8388 from ilspycmd
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.3.5-2c37c60c
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.3.5-2c37c60c\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at 324ccf9e852ffbe3764e3271508f28081123d111
Cloning Cairo at b5a93a4b3f68217f3185f8abaf131115773ea9e7
Cloning VSEssentials at 0cd7da3e4f6e7faba7bcd7f56be4a9a144a1c088
Cloning VSSurvivalMod at dfaeb44db824a7f37d5b7bf82ba0657633aa0f43
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Cairo/Cairo.csproj.patch
Applying patches/Cairo/util/SurfaceTransformBlur.cs.patch
Applying patches/VintagestoryApi/Client/API/IAmbientManager.cs.patch
Applying patches/VintagestoryApi/Client/API/IInputAPI.cs.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/Collectible/Block/Block.cs.patch
Applying patches/VintagestoryApi/Common/Crafting/RecipeBase.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPlayer.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityProperties.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityStats.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/EntityHeadController.cs.patch
Applying patches/VintagestoryApi/Common/Registry/RegistryObject.cs.patch
Applying patches/VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs.patch
Applying patches/VintagestoryApi/Datastructures/IMergeable.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/Ascii85.cs.patch
Applying patches/VintagestoryApi/Math/CollisionTester.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryApi/Server/API/IServerWorldAccessor.cs.patch
Applying patches/VintagestoryApi/Util/WildcardUtil.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/Compression.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/EventManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerPackets.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs.patch
Applying patches/VSCreativeMod/WorldEdit.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/Loading/BlockType.cs.patch
Applying patches/VSEssentials/Loading/EntityType.cs.patch
Applying patches/VSEssentials/Loading/ItemType.cs.patch
Applying patches/VSEssentials/Loading/RegistryObjectType.cs.patch
Applying patches/VSEssentials/Loading/RegistryObjectTypeLoader.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherCommands.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationSound.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemConfig.cs.patch
Applying patches/VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs.patch
Applying patches/VSSurvivalMod/Item/ItemShears.cs.patch
Applying patches/VSSurvivalMod/Systems/Cooking/CookingRecipe.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Applying patches/VSSurvivalMod/Systems/Trading/EntityTrader.cs.patch
Patches: 95 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
    0 Errores
==PHASE== Assembling the final package...

Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  win-x64    Full      native build + local vanilla client

Preparing runtime donors...
Decompiling exact VSEssentials runtime donor...
Decompiling exact VSSurvivalMod runtime donor...
Building exact runtime donors...
  Building VSEssentials...
C:\opt-bld\Optimum-0.3.5-2c37c60c\.build\runtime-donors\VSEssentials\VSEssentials.csproj(27,64): error MSB4025: No se pudo cargar el archivo del proyecto. An error occurred while parsing EntityName. Line 27, position 64.

ERROR al compilar.

C:\opt-bld\Optimum-0.3.5-2c37c60c\.build\runtime-donors\VSEssentials\VSEssentials.csproj(27,64): error MSB4025: No se pudo cargar el archivo del proyecto. An error occurred while parsing EntityName. Line 27, position 64.
    0 Advertencia(s)
    1 Errores

Tiempo transcurrido 00:00:00.04
  Building VSSurvivalMod...
C:\opt-bld\Optimum-0.3.5-2c37c60c\.build\runtime-donors\VSSurvivalMod\VSSurvivalMod.csproj(23,64): error MSB4025: No se pudo cargar el archivo del proyecto. An error occurred while parsing EntityName. Line 23, position 64.

ERROR al compilar.

C:\opt-bld\Optimum-0.3.5-2c37c60c\.build\runtime-donors\VSSurvivalMod\VSSurvivalMod.csproj(23,64): error MSB4025: No se pudo cargar el archivo del proyecto. An error occurred while parsing EntityName. Line 23, position 64.
    0 Advertencia(s)
    1 Errores

Tiempo transcurrido 00:00:00.04
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Runtime donor build failed: VSEssentials, VSSurvivalMod

EpicWizard, Aug 7th at 1:54 AM
@Zaldaryon: Ok, download v4 and try again, please!

Hi, sorry for respond too late, i wasnt in home all day, but i tested the newest release (v5) and now it installed without issues, and also i booted the game and played a few minutes and seems to work fine, you're great tysm.

Zettin, Aug 5th at 10:34 PM

How do you update Optimum? I downloaded the newer version and it looks like it won't let me install it in the same spot cause something is already there and there's no option on the installer to update an existing optimum installation?

JGdaCaesar, Aug 5th at 4:37 AM

Is it remotely possible to implement DLSS? DLAA would be a game changer imo

JGdaCaesar, Aug 5th at 12:26 PM (modified Aug 6th at 6:13 AM)
@Zaldaryon: possible to study for the future.

Awesome, thank you

JimbroJammigans, Aug 4th at 5:55 PM

Having trouble installing this on 1.22.5, did a fresh reinstall of the game to make sure I hadn't borked something up (and I'm still not sure tbh). heres the log 

Spoiler

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:01.90
  Building VSSurvivalMod...
  Determining projects to restore...
  Restored C:\opt-bld\Optimum-0.3.4-c853c10d\.build\runtime-donors\VSSurvivalMod\VSSurvivalMod.csproj (in 58 ms).
  VSSurvivalMod -> C:\opt-bld\Optimum-0.3.4-c853c10d\.build\runtime-donors\VSSurvivalMod\bin\Release\net10.0\VSSurvivalMod.dll

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:03.09
Runtime donors ready under .build/runtime-donors.
Copying vanilla install to C:\opt-bld\Optimum-0.3.4-c853c10d\stage\Optimum-v0.3.4-win-x64...
Installing launcher, patcher, and runtime donors...
Folder ready: C:\opt-bld\Optimum-0.3.4-c853c10d\stage\Optimum-v0.3.4-win-x64
==PHASE== Validating runtime patches...
[Optimum] Validation mode: rebuilding the patched runtime.
[Optimum] Optimum v0.3.4
[Optimum] Applying optimizations...

[Optimum] VintagestoryLib.dll: Patching VintagestoryLib.dll...
[Optimum] VintagestoryLib.dll: Done.
[Optimum] ? VintagestoryLib.dll (117 patches)
[Optimum] VintagestoryAPI.dll: Patching VintagestoryAPI.dll...
[Optimum] VintagestoryAPI.dll: Done.
[Optimum] ? VintagestoryAPI.dll (1 patches)
[Optimum] .optimum/vanilla/Mods/VSEssentials.dll: Patching VSEssentials.dll...
[Optimum] .optimum/vanilla/Mods/VSEssentials.dll: Done.
[Optimum] ? Mods/VSEssentials.dll (58 patches)
[Optimum] .optimum/vanilla/Mods/VSSurvivalMod.dll: Patching VSSurvivalMod.dll...
[Optimum] .optimum/vanilla/Mods/VSSurvivalMod.dll: Done.
[Optimum] ? Mods/VSSurvivalMod.dll (24 patches)

[Optimum] Done in 7195ms. Cached for next launch.

[Optimum] JIT-validated 15192 patched methods in VintagestoryLib.dll.
[Optimum] JIT-validated 8535 patched methods in VintagestoryAPI.dll.
[Optimum] JIT-validated 4146 patched methods in Mods/VSEssentials.dll.
[Optimum] JIT-validated 13720 patched methods in Mods/VSSurvivalMod.dll.
[Optimum] Loaded and reflected 4 patched assemblies.
[Optimum] Runtime patch validation succeeded.
Runtime patch validation passed.
==PHASE== Copying files to D:\Optimum...
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: The path is not of a legal form.

JimbroJammigans, Aug 4th at 6:45 PM
@Zaldaryon: hm, it says you tried to install in the D:\ drive. do you have permission there? space?

Yes to both, its where my vintagestory install is and where ive installed all the previous versions with no issues.

JimbroJammigans, Aug 4th at 7:39 PM
@Zaldaryon: hm, it says you tried to install in the D:\ drive. do you have permission there? space?

Got it to work, just added a "games" subfolder to the install path and it worked fine, so instead of D:\Optimum I changed it to D:\Games\Optimum.

JustGooser, Aug 4th at 1:35 PM

Are there any plans for upscaling aka going above 1.0x resolution? Could fix a lot of z fighting this game has.

Zaldaryon , Aug 4th at 1:56 PM
@JustGooser: Are there any plans for upscaling aka going above 1.0x resolution? Could fix a lot of z fighting this game has.

At least, not yet. I am still planning what else I can use the FSR to make it better.

Javidac, Aug 4th at 1:18 PM

will there be a 1.22.6 hotfix?

Zaldaryon , Aug 4th at 1:55 PM
@Javidac: will there be a 1.22.6 hotfix?

Hello. Only when the official Vintage Story source code is published. Rn it's still on 1.22.5.

Zaldaryon , Aug 3rd at 12:16 PM

already investigating the crash

CrystalTheCute, Aug 3rd at 5:26 PM (modified Aug 3rd at 5:26 PM)
@Zaldaryon: already investigating the crash

On my end I seem to have fixed it:

 

I opened SystemRenderOITLayers.cs.patch in the Optimum install directory with Kate (my text editor, I'm on linux), and copied the "b/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs" text from the line starting with "diff" at the top,

added a new line with "+++ " after the line starting with "--- " and pasted the copied text. TL;DR, I opened "extracted Optimum installer folder"/patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs.patch with my text editor and added "+++ b/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs" between the lines "--- a/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs" and "@@ -20,41 +20,89 @@ public class SystemRenderOITLayers : ClientSystem".

khrysa, Aug 3rd at 11:53 AM

Getting this install crash with latest 0.3.3

Crash Report

"FAILED: error: git diff header lacks filename information at C:/opt-bld/Optimum-0.3.3-64966b10/patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderOITLayers.cs.patch:4
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch"

 

"Patches: 94 applied, 0 skipped, 1 failed (filter: all)
ERROR: Decompile/patch step failed (bootstrap exit code 1). Check the lines above for the failing patch or file."

Bertazz0, Aug 3rd at 11:41 AM

Just a question, how does this goes with the main game's updates? If the game updates does this breaks anything? And can i launch the vanilla game even after installing this?

Sangeki, Aug 3rd at 11:44 AM (modified Aug 3rd at 11:45 AM)
@Bertazz0: Just a question, how does this goes with the main game's updates? If the game updates does this breaks anything? And can i launch the vanilla game even after installing this?

They're kept seperate and you can continue to launch vanilla.

If Vanilla updates you can either wait until Optimum gets updated and stay on the older version or switch to vanilla.

Zaldaryon , Aug 3rd at 11:15 AM

** all bugs from below should now be fixed in 0.3.3 **

CrystalTheCute, Aug 3rd at 1:33 AM (modified Aug 3rd at 1:33 AM)

Having the same issue as DinoYeOldy, I'm on Linux as well. Current VS non-Optimum version is 1.22.6, but also tried installing Optimum 0.3.2 with VS 1.22.5, with the same result as DinoTheOldy. I've tried almost everything I can think of to fix it with no luck. I would greatly appreciate it if you could please look into this, Zaldaryon. :)

 

Edit 1: Is this the "Gear Renderer" bug you mentioned?

Komako, Aug 1st at 7:37 PM

Someone banged a bomb nearby, crashed with this:

Spoiler!
Game Version: v1.22.3 (Stable) + Optimum v0.2.11
01.08.2026 22:31:57: Critical error occurred
Loaded Mods: walkingsticklite@1.0.0, blackguardadditions@1.1.9, buffberries@1.1.0, catchledge@0.7.1, charlottesclothes@1.4.1, cbr@2.0.1, chiseltools@1.17.3, chonkykitchenware@1.0.0, chonkyvessels@1.5.8, craftablecompanion@1.5.4, crawlanddive@0.2.5, elkaccessories@1.2.3, elivory@1.0.4, elshadowsp@1.0.3, faviking@1.1.6, forlornadditions@1.0.4, horperfopt@1.0.5, hydrateordiedrate@2.5.1, jsonpatcheslib@1.5.5, metalbuckets@1.0.1, molds@0.3.3, overhaulliblegacycompat@1.2.4, overhaullib@2.0.10, p1nksshelvingtweaks@1.0.4, primitivesurvival@5.0.6, racialequalityexpanded@0.1.5, racialequality@0.1.28, servantattire@1.0.0, spinningwheel@1.2.12, stonequarryrepckfipil@3.6.3, terratag@0.4.5, game@1.22.3, vsimgui@1.2.7, arthursjournal@2.0.3, woofantasy@0.4.17, yangbed@1.0.0, accessibilitytweaks@5.0.0, aculinaryartillery@2.0.0-dev.21, alchemy@2.1.14, animalcages@5.0.0, animationslib@0.0.2, apelanterns@1.4.1, attributerenderinglibrary@3.1.4, bettererprospecting@3.2.3, betterruins@0.6.3, billposting@2.0.2, butchering@1.13.5, carryonlib@1.0.0-pre.8, censership@1.0.6, chiselleaf@1.2.0, chunklod@1.0.9, clothierheirloomsmod@1.1.0, coinage@2.2.1, configlib@1.12.0, bell@1.0.62, danatweaks@4.1.0, deathcorpses@2.8.1, decoclockrevival@1.22.2, dumbwaiter@0.2.0, earlychiseling@1.0.1, elkvariants@3.7.2, emojime@1.2.0, emotes@2.6.1, envelopes@3.8.3, fasttravelnpc@1.1.6, firearmsfork@1.10.1, firepitsshowfuel@2.0.0-dev.1, foodpreferences@1.6.0, foodshelves@3.0.4, genelib@3.1.1, grassroots@0.5.8, hanfu@1.1.1, herbarium@1.4.3, hideplayerinfo@1.3.1, hideplayername@2.3.0, improvedhandbookrecipesfork@1222.0.2, itemizer@1.2.0, jaunt@3.0.0-rc.3, kevinsfurniture@1.9.0, knapster@4.0.0, leadstatistic@1.0.5, metalpots@1.7.6, mosswigs@1.5.1, newfiesparticletrails@1.0.5, nofoodhealing@3.1.0, noticeboard@1.3.0, petai@5.0.1, playerlistrevived@2.3.8, playermodellib@1.23.7, claywheel@2.0.1, purposefulstorage@2.0.0, regalia@1.8.1, remodel@1.0.0, removeplayerjoinleavemessages@2.0.0, rpvoicechat@2.5.7, shadehouse@1.2.3, shipwright@1.4.1, statushudcont@4.3.1, steepandbrew@0.5.3, stonebakeoven@1.3.5, substrate@2.0.0, thecritterpackcontinued@1.4.3, toolsmith@1.2.17, vanityslotsfork@0.0.8, vinconomy@5.3.0, vsairshipmod@1.1.4, creative@1.22.3, vsinstrumentstweaked@2.0.15, vsserverpanel@0.5.0, survival@1.22.3, windchimes@1.5.2, xlib@1.0.25, feralpack@0.4.0, autoconfiglib@2.0.10, bixo@0.4.1, carryon@2.0.0-pre.8, cats@5.0.1, crossbowsfork@1.10.0, elkjauntfork@1.3.2, equus@1.4.0, expandedfoods@2.0.0-dev.12, em@3.7.0, featherborn@0.12.4, floatinglandmasses@1.0.7, fluffydreg@0.7.3, frogemod@1.0.9, kcsdragons@0.9.12, koboldrdx@1.4.11, lizardfolkpm@1.1.3, lupines@0.2.10, mechaseraph@1.1.0, medievalarchitecture@1.1.1, nprpeditor@0.6.0, orrukin@1.2.1, insectoid@0.0.48, shearlib@1.3.0, vintageskavenrat@1.6.91, skeletons@0.6.2, tabletopgames@4.0.0-pre.2, tailorsdelight@2.2.2, thebasics@5.7.1, wildcrafttree@1.3.4, wolftaming@5.0.1, xinvtweaksfork@1.9.1, xskills@1.0.82, bricklayers@3.2.2, dressmakers@1.8.0, efchefstricks@1.0.0-dev.3, efmealsmodule@1.0.0-dev.5, xskillstailoring@0.2.2, woocrops@0.1.13, wool@1.9.2, wooo@0.2.11
System.InvalidOperationException: Can't use a disposed shader!
   at Vintagestory.Client.NoObf.ShaderProgramBase.Use()
   at Vintagestory.Client.NoObf.SystemRenderOITLayers.BeforeOIT.OnRenderFrame(Single deltaTime, EnumRenderStage stage)
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt)
   at Vintagestory.Client.ScreenManager.Render(Single dt)
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Zaldaryon , Aug 1st at 12:45 PM

**I'm already investigating the GearRenderer bug**

ChestyLaRue, Aug 1st at 6:23 AM (modified Aug 1st at 6:24 AM)

I tired installing with versions 0.30 and 0.31 but both didn't work.
running windows 11 and used git pull

Crash Report
==PHASE== Verifying tools...
Using Vintage Story from: C:\Games\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.3.1-2b7d3e2f
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.3.1-2b7d3e2f\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at 324ccf9e852ffbe3764e3271508f28081123d111
Cloning Cairo at b5a93a4b3f68217f3185f8abaf131115773ea9e7
Cloning VSEssentials at 0cd7da3e4f6e7faba7bcd7f56be4a9a144a1c088
Cloning VSSurvivalMod at dfaeb44db824a7f37d5b7bf82ba0657633aa0f43
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Cairo/Cairo.csproj.patch
  FAILED: error: patch failed: Cairo/Cairo.csproj:8
error: Cairo/Cairo.csproj: patch does not apply
Applying patches/Cairo/util/SurfaceTransformBlur.cs.patch
  FAILED: error: patch failed: Cairo/util/SurfaceTransformBlur.cs:5
error: Cairo/util/SurfaceTransformBlur.cs: patch does not apply
Applying patches/VintagestoryApi/Client/API/IAmbientManager.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/API/IAmbientManager.cs:20
error: VintagestoryApi/Client/API/IAmbientManager.cs: patch does not apply
Applying patches/VintagestoryApi/Client/API/IInputAPI.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/API/IInputAPI.cs:144
error: VintagestoryApi/Client/API/IInputAPI.cs: patch does not apply
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/MeshPool/MeshDataPool.cs:280
error: VintagestoryApi/Client/MeshPool/MeshDataPool.cs: patch does not apply
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/Render/FrustumCulling.cs:11
error: VintagestoryApi/Client/Render/FrustumCulling.cs: patch does not apply
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs:1
error: VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs: patch does not apply
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs:1
error: VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs: patch does not apply
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs:1
error: VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs: patch does not apply
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/UI/Dialog/GuiDialog.cs:571
error: VintagestoryApi/Client/UI/Dialog/GuiDialog.cs: patch does not apply
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs:67
error: VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs: patch does not apply
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs:21
error: VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs: patch does not apply
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs:34
error: VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Collectible/Block/Block.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Collectible/Block/Block.cs:1263
error: VintagestoryApi/Common/Collectible/Block/Block.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Crafting/RecipeBase.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Crafting/RecipeBase.cs:774
error: VintagestoryApi/Common/Crafting/RecipeBase.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Entity/EntityPos.cs:639
error: VintagestoryApi/Common/Entity/EntityPos.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Entity/EntityProperties.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Entity/EntityProperties.cs:27
error: VintagestoryApi/Common/Entity/EntityProperties.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Entity/EntityStats.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Entity/EntityStats.cs:188
error: VintagestoryApi/Common/Entity/EntityStats.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Model/Animation/AnimationManager.cs:450
error: VintagestoryApi/Common/Model/Animation/AnimationManager.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Model/Animation/AnimationUtil.cs:1
error: VintagestoryApi/Common/Model/Animation/AnimationUtil.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Model/Animation/AnimatorBase.cs:72
error: VintagestoryApi/Common/Model/Animation/AnimatorBase.cs: patch does not apply
Applying patches/VintagestoryApi/Common/Registry/RegistryObject.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Common/Registry/RegistryObject.cs:211
error: VintagestoryApi/Common/Registry/RegistryObject.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs:1035
error: VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/IMergeable.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Datastructures/IMergeable.cs:1
error: VintagestoryApi/Datastructures/IMergeable.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Datastructures/SortableQueue.cs:1
error: VintagestoryApi/Datastructures/SortableQueue.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Datastructures/UniqueQueue.cs:10
error: VintagestoryApi/Datastructures/UniqueQueue.cs: patch does not apply
Applying patches/VintagestoryApi/Math/Ascii85.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Math/Ascii85.cs:20
error: VintagestoryApi/Math/Ascii85.cs: patch does not apply
Applying patches/VintagestoryApi/Math/CollisionTester.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Math/CollisionTester.cs:46
error: VintagestoryApi/Math/CollisionTester.cs: patch does not apply
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Math/ColorUtil.cs:733
error: VintagestoryApi/Math/ColorUtil.cs: patch does not apply
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Math/Matrix/Mat4f.cs:22
error: VintagestoryApi/Math/Matrix/Mat4f.cs: patch does not apply
Applying patches/VintagestoryApi/Server/API/IServerWorldAccessor.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Server/API/IServerWorldAccessor.cs:41
error: VintagestoryApi/Server/API/IServerWorldAccessor.cs: patch does not apply
Applying patches/VintagestoryApi/Util/WildcardUtil.cs.patch
  FAILED: error: patch failed: VintagestoryApi/Util/WildcardUtil.cs:60
error: VintagestoryApi/Util/WildcardUtil.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs:3
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs:215
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs:314
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs:45
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs:2192
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs:46
error: build/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs:17
error: build/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs:40
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs:180
error: build/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs:56
error: build/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs:1
error: build/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client/ClientProgram.cs:48
error: build/VintagestoryLib/Vintagestory.Client/ClientProgram.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs:71
error: build/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs:290
error: build/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Common/Compression.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Common/Compression.cs:1
error: build/VintagestoryLib/Vintagestory.Common/Compression.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Common/CreativeTab.cs:1
error: build/VintagestoryLib/Vintagestory.Common/CreativeTab.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Common/EventManager.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Common/EventManager.cs:27
error: build/VintagestoryLib/Vintagestory.Common/EventManager.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs:32
error: build/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs:317
error: build/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs:1
error: build/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs:1
error: build/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerMain.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerMain.cs:413
error: build/VintagestoryLib/Vintagestory.Server/ServerMain.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerPackets.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerPackets.cs:1
error: build/VintagestoryLib/Vintagestory.Server/ServerPackets.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs:37
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs:20
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs:1
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs:26
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs:8
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs:8
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs:82
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs:1
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs: patch does not apply
Applying patches/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs.patch
  FAILED: error: patch failed: build/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs:38
error: build/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs: patch does not apply
Applying patches/VSCreativeMod/WorldEdit.cs.patch
  FAILED: error: patch failed: VSCreativeMod/WorldEdit.cs:425
error: VSCreativeMod/WorldEdit.cs: patch does not apply
Applying patches/VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs.patch
  FAILED: error: patch failed: VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs:14
error: VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs: patch does not apply
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
  FAILED: error: patch failed: VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs:1
error: VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs: patch does not apply
Applying patches/VSEssentials/Loading/BlockType.cs.patch
  FAILED: error: patch failed: VSEssentials/Loading/BlockType.cs:68
error: VSEssentials/Loading/BlockType.cs: patch does not apply
Applying patches/VSEssentials/Loading/EntityType.cs.patch
  FAILED: error: patch failed: VSEssentials/Loading/EntityType.cs:288
error: VSEssentials/Loading/EntityType.cs: patch does not apply
Applying patches/VSEssentials/Loading/ItemType.cs.patch
  FAILED: error: patch failed: VSEssentials/Loading/ItemType.cs:60
error: VSEssentials/Loading/ItemType.cs: patch does not apply
Applying patches/VSEssentials/Loading/RegistryObjectType.cs.patch
  FAILED: error: patch failed: VSEssentials/Loading/RegistryObjectType.cs:71
error: VSEssentials/Loading/RegistryObjectType.cs: patch does not apply
Applying patches/VSEssentials/Loading/RegistryObjectTypeLoader.cs.patch
  FAILED: error: patch failed: VSEssentials/Loading/RegistryObjectTypeLoader.cs:24
error: VSEssentials/Loading/RegistryObjectTypeLoader.cs: patch does not apply
Applying patches/VSEssentials/Systems/Weather/WeatherCommands.cs.patch
  FAILED: error: patch failed: VSEssentials/Systems/Weather/WeatherCommands.cs:1
error: VSEssentials/Systems/Weather/WeatherCommands.cs: patch does not apply
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationSound.cs.patch
  FAILED: error: patch failed: VSEssentials/Systems/Weather/WeatherSimulationSound.cs:34
error: VSEssentials/Systems/Weather/WeatherSimulationSound.cs: patch does not apply
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
  FAILED: error: patch failed: VSEssentials/Systems/Weather/WeatherSystemClient.cs:125
error: VSEssentials/Systems/Weather/WeatherSystemClient.cs: patch does not apply
Applying patches/VSEssentials/Systems/Weather/WeatherSystemConfig.cs.patch
  FAILED: error: patch failed: VSEssentials/Systems/Weather/WeatherSystemConfig.cs:19
error: VSEssentials/Systems/Weather/WeatherSystemConfig.cs: patch does not apply
Applying patches/VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs.patch
  FAILED: error: patch failed: VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs:1289
error: VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs: patch does not apply
Applying patches/VSSurvivalMod/Item/ItemShears.cs.patch
  FAILED: error: patch failed: VSSurvivalMod/Item/ItemShears.cs:34
error: VSSurvivalMod/Item/ItemShears.cs: patch does not apply
Applying patches/VSSurvivalMod/Systems/Cooking/CookingRecipe.cs.patch
  FAILED: error: patch failed: VSSurvivalMod/Systems/Cooking/CookingRecipe.cs:26
error: VSSurvivalMod/Systems/Cooking/CookingRecipe.cs: patch does not apply
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
  FAILED: error: patch failed: VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs:117
error: VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs: patch does not apply
Applying patches/VSSurvivalMod/Systems/Trading/EntityTrader.cs.patch
  FAILED: error: patch failed: VSSurvivalMod/Systems/Trading/EntityTrader.cs:19
error: VSSurvivalMod/Systems/Trading/EntityTrader.cs: patch does not apply
Patches: 0 applied, 0 skipped, 91 failed (filter: all)
  patches/Cairo/Cairo.csproj.patch
  patches/Cairo/util/SurfaceTransformBlur.cs.patch
  patches/VintagestoryApi/Client/API/IAmbientManager.cs.patch
  patches/VintagestoryApi/Client/API/IInputAPI.cs.patch
  patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
  patches/VintagestoryApi/Client/Render/PerceptionEffects/DrunkPerceptionEffect.cs.patch
  patches/VintagestoryApi/Client/Render/PerceptionEffects/PerceptionEffect.cs.patch
  patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
  patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
  patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
  patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Inventory/GuiElementItemSlotGridBase.cs.patch
  patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
  patches/VintagestoryApi/Common/Collectible/Block/Block.cs.patch
  patches/VintagestoryApi/Common/Crafting/RecipeBase.cs.patch
  patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
  patches/VintagestoryApi/Common/Entity/EntityProperties.cs.patch
  patches/VintagestoryApi/Common/Entity/EntityStats.cs.patch
  patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
  patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
  patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
  patches/VintagestoryApi/Common/Registry/RegistryObject.cs.patch
  patches/VintagestoryApi/Datastructures/AttributeTree/TreeAttribute.cs.patch
  patches/VintagestoryApi/Datastructures/IMergeable.cs.patch
  patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
  patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
  patches/VintagestoryApi/Math/Ascii85.cs.patch
  patches/VintagestoryApi/Math/CollisionTester.cs.patch
  patches/VintagestoryApi/Math/ColorUtil.cs.patch
  patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
  patches/VintagestoryApi/Server/API/IServerWorldAccessor.cs.patch
  patches/VintagestoryApi/Util/WildcardUtil.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
  patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
  patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
  patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
  patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
  patches/VintagestoryLib/Vintagestory.Common/Compression.cs.patch
  patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
  patches/VintagestoryLib/Vintagestory.Common/EventManager.cs.patch
  patches/VintagestoryLib/Vintagestory.Common/LoadBalancer.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/BlockAccessorWorldGen.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ChunkServerThread.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/PhysicsManager.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerMain.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerPackets.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemBlockSimulation.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemInventory.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemNotifyPing.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemRelight.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemSupplyChunks.cs.patch
  patches/VintagestoryLib/Vintagestory.Server/ServerSystemUnloadChunks.cs.patch
  patches/VSCreativeMod/WorldEdit.cs.patch
  patches/VSEssentials/Entity/Behavior/BehaviorCollectEntities.cs.patch
  patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
  patches/VSEssentials/Loading/BlockType.cs.patch
  patches/VSEssentials/Loading/EntityType.cs.patch
  patches/VSEssentials/Loading/ItemType.cs.patch
  patches/VSEssentials/Loading/RegistryObjectType.cs.patch
  patches/VSEssentials/Loading/RegistryObjectTypeLoader.cs.patch
  patches/VSEssentials/Systems/Weather/WeatherCommands.cs.patch
  patches/VSEssentials/Systems/Weather/WeatherSimulationSound.cs.patch
  patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
  patches/VSEssentials/Systems/Weather/WeatherSystemConfig.cs.patch
  patches/VSEssentials/Systems/WorldGen/Standard/WgenCommands.cs.patch
  patches/VSSurvivalMod/Item/ItemShears.cs.patch
  patches/VSSurvivalMod/Systems/Cooking/CookingRecipe.cs.patch
  patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
  patches/VSSurvivalMod/Systems/Trading/EntityTrader.cs.patch
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Decompile/patch step failed (bootstrap exit code 1). Check the lines above for the failing patch or file.

Anyone got any idea why?

ImpureSoul3, Aug 1st at 5:41 AM
Crash Report

Running on 64 bit Windows 10.0.26200.0 with 32579 MB RAM
Game Version: v1.22.5 (Stable) + Optimum v0.3.2
8/1/2026 1:40:03 AM: Critical error occurred
Loaded Mods: walkingstick@3.0.9, awearablelight@1.2.2, birdseye@0.1.4, cavesoundphysics@1.0.0, cbr@2.0.1, chiseltools@1.17.4, clearview@0.1.1, dodgemaster@1.2.4, floralzonescaperegion@1.0.31, fadynasties@1.3.2, fahussar@1.1.6, fatemplar@1.4.6, favarangian@1.1.0, immersivefoliage@0.1.1, longtermfood@0.7.1, overhaulliblegacycompat@1.2.4, primitivesurvival@5.0.6, purpleblackbronze@1.0.0, redirectfix@1.0.0, sortablestorage@3.0.0, sticksfromfirewoodmallow@2.0.1, stoneharvesting@1.2.2, stratumui@1.0.10, tankardsandgoblets@1.4.4, temporal_gears_stack@1.0.0, togglecrosshair@0.1.1, vintageengineering@0.5.8, game@1.22.5, vsimgui@1.2.7, arthursjournal@2.0.5, waypoint@0.2.1, wetcrops@1.2.2, zoombuttonreborn@2.0.3, accessibilitytweaks@5.0.0, aculinaryartillery@2.0.0-dev.21, admirableattire@1.1.0, alchemy@2.1.14, alloycalculatorstuzzichino@1.2.18, animalcages@5.0.0, apeflowerpots@1.4.1, apegrapes@1.4.0, arrowglow@1.0.0, attributerenderinglibrary@3.1.5, barrelhud@1.1.0, bettererprospecting@3.4.3, betterruins@0.6.3, butchering@1.13.5, buzzwords@1.8.2, cartwrightscaravan@1.9.1, commonlibforked@2.8.1, enhancedhandbook@1.8.1, exlib@0.7.0, expandedstomach@1.4.1, extrainfo@2.2.1, fastmap@122.5.1, feverstonewilds@2.1.2, foodshelves@3.0.4, fromgoldencombs@2.0.8, geologymap@1.1.0, herbarium@1.4.3, immersiveimprovedsounds@1.0.1, immersivemodularbackpacks@1.3.2, immersivewoodworking@1.2.0, ithaniacannedgoods@2.0.7, japanesearchitecture@0.9.7, jopainting@1.5.1, keepcraftinggrid@1.0.0, knapster@4.0.0, moreanimals@1.7.0, morehudbars@1.2.0, morethundersounds@0.2.0, panningmachine@1.0.11, pipeleaf@2.6.1, placeonslabs@1.2.0, postsandbeams@1.5.1, prospectingscan@0.1.7, prospectorsinstinct@0.7.0, purposefulstorage@2.0.1, quickcraft@1.0.22, rtp@0.1.1, realisticwater@0.3.1, rivers@5.0.2, ropebridgescontinued@1.2.1, scaffolding@1.3.1, shipwright@1.4.1, statushudcont@4.4.0, stonebakeoven@1.3.5, stonerailings@1.4.0, truethirdperson@1.0.0-dev.1, viescraftmachines@2.5.0, vsairshipmod@1.1.4, creative@1.22.5, vsroofing@1.6.5, survival@1.22.5, watersheds@6.4.3, xlibfork@1.0.21, densegroundstorage@0.2.6, expandedfoods@2.0.0-dev.12, em@3.7.0, hacore@2.0.2, heraldry@2.0.0, medievalarchitecture@1.1.1, nf3tsponge@2.0.0, ppex@0.6.4, stonequarryforked@3.5.3, tabletopgames@4.0.0, wildcraftfruit@1.4.72, wildcraftgrain@1.1.0, wildcrafttree@1.3.4, xskills@1.0.77, bricklayers@3.2.2, efmealsmodule@1.0.0-dev.5, heraldrybanners@2.0.0, capes@2.0.0, moreroads@2.0.0, smex@0.9.4, xskillsgilded@1.3.39
Involved Harmony IDs: OverhaulLib:Animation
System.NullReferenceException: Object reference not set to an instance of an object.
   at Vintagestory.API.Common.EntityHeadController.GetPose(String name) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Common\Model\Animation\EntityHeadController.cs:line 252
   at Vintagestory.API.Common.EntityHeadController..ctor(IAnimationManager animationManager, EntityAgent entity, Shape entityShape) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Common\Model\Animation\EntityHeadController.cs:line 226
   at Vintagestory.API.Common.PlayerHeadController..ctor(IAnimationManager animator, EntityPlayer entity, Shape entityShape) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Common\Model\Animation\EntityHeadController.cs:line 41
   at Vintagestory.API.Common.EntityPlayer.OnTesselation(Shape& entityShape, String shapePathForLogging) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Common\Entity\EntityPlayer.cs:line 426
   at Vintagestory.GameContent.EntityShapeRenderer.TesselateShape(Action`1 onMeshDataReady, String[] overrideSelectiveElements) in C:\Users\office-desktop2\Documents\game\VSEssentials\EntityRenderer\EntityShapeRenderer.cs:line 220
   at Vintagestory.GameContent.EntityPlayerShapeRenderer.Tesselate() in C:\Users\office-desktop2\Documents\game\VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 95
   at Vintagestory.GameContent.EntityPlayerShapeRenderer.TesselateShape() in C:\Users\office-desktop2\Documents\game\VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 62
   at Vintagestory.GameContent.EntityShapeRenderer.BeforeRender_Patch1(EntityShapeRenderer this, Single dt)
   at Vintagestory.GameContent.EntityPlayerShapeRenderer.BeforeRender(Single dt) in C:\Users\office-desktop2\Documents\game\VSEssentials\EntityRenderer\EntityPlayerShapeRenderer.cs:line 168
   at Vintagestory.Client.NoObf.SystemRenderEntities.OnBeforeRender(Single dt)
   at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in C:\Users\office-desktop2\Documents\game\VintagestoryApi\Client\API\IClientEventAPI.cs:line 88
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
   at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 858
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 910
   at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 782
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
   at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 742
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 686
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 7/29/2026 7:44:56 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.5.0, time stamp: 0x693c0000
Faulting module name: ntdll.dll, version: 10.0.26100.8875, time stamp: 0xba65e4a2
Exception code: 0xc0000374
Fault offset: 0x0000000000112165
Faulting process id: 0x697c
Faulting application start time: 0x1dd1fb30aa75acf
Faulting application path: C:\Games\Optimum\Vintagestory.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report Id: 585d82db-16f2-4778-9711-1c08d1835fb0
Faulting package full name: 
Faulting package-relative application ID:  }
--------------
{ TimeGenerated = 7/27/2026 11:22:39 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.5.0, time stamp: 0x693c0000
Faulting module name: coreclr.dll, version: 10.0.1026.32716, time stamp: 0x6a3ed1af
Exception code: 0xc0000005
Fault offset: 0x000000000035967f
Faulting process id: 0x5430
Faulting application start time: 0x1dd1e3e741e8fce
Faulting application path: C:\Games\Optimum\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.10\coreclr.dll
Report Id: 9fdff2b5-9c77-43b1-818a-14d01ac48fee
Faulting package full name: 
Faulting package-relative application ID:  }
--------------
{ TimeGenerated = 7/27/2026 8:14:00 PM, Site = , Source = Application Error, Message = Faulting application name: VintageStory.exe, version: 1.22.5.0, time stamp: 0x693c0000
Faulting module name: coreclr.dll, version: 10.0.1026.32716, time stamp: 0x6a3ed1af
Exception code: 0xc0000005
Fault offset: 0x000000000035967f
Faulting process id: 0x5268
Faulting application start time: 0x1dd1e18063fa152
Faulting application path: C:\Games\Optimum\VintageStory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.10\coreclr.dll
Report Id: b19553e5-bb03-4f3f-84b1-aff035f25705
Faulting package full name: 
Faulting package-relative application ID:  }

Vigilance, Aug 1st at 5:14 AM

On updating to the newest Optimum from 0.3.0 I was having crashes loading in to my server relating to "TemporalStability\GearRenderer" (also wow the crashlog copy paste handling on the db is suboptimal haha)

Crash Report
Game Version: v1.22.5 (Stable) + Optimum v0.3.2
7/31/2026 10:03:05 PM: Critical error occurred
Loaded Mods: walkingstick@3.0.10, aldiclassesnakedpatch@2.1.0, alerebalance@1.0.0, allcavesareconnected@1.0.3, americanfrontiersman@1.8.6, antiqueensemble@1.1.6, antlertools@1.0.0, hardcorewaterforked@1.4.6, atwatersedge@2.0.0, betternutrition@1.3.0, birdseye@0.1.4, birthsignsfresh@1.6.93, blackbronzebeehivekiln@1.0.1, bola@1.4.1, boricalchemy@2.3.5, brittlenests@1.0.0, bronzemeteoricmining@1.3.1, bronzewaterwheels@1.0.0, catchledge@0.7.1, cavecontentforked@1.0.2, cavesoundphysics@1.0.0, chargedjump@1.2.3, chiseltools@1.17.4, combatslowextended@1.1.0, blocklayeroverhaul@1.0.2, containersbundle@1.3.1, craftablecompanion@1.5.4, crawlanddive@0.2.5, creaturefootsteps@1.3.0, darcesdriftersredone@1.3.0, dodgemaster@1.2.4, elstoneforge@1.0.5, elghal@1.0.5, elivory@1.0.4, elreikland@1.1.3, elsynthetic@1.0.2, eldraken@1.1.2, elshadowsp@1.0.3, eltrench@1.0.3, fasterroots@1.0.1, fastplace@1.3.2, firearmsresound@1.0.1-pre.1, flintsaw@1.0.1, flintchisel@1.0.5, fadynasties@1.3.3, fagothic@1.3.4, fagreenwich@1.4.5, fahussar@1.1.6, fajousting@1.0.5, falandsknecht@1.2.5, fatemplar@1.4.6, favarangian@1.1.0, faviking@1.1.6, frontiersmap@1.0.4, fruitrefreshed@1.1.0, geoaddons@1.4.8, geothermalnatural@1.4.0, grindingwheelrework@1.1.5, hydrateordiedrate@2.5.3, immersiveorecrush@2.2.5, interestingoregen@2.3.8, ithaniabackpacks@0.6.1, jsonpatcheslib@1.5.5, kilnshelves@1.1.8, kyattonostickybranches@1.1.3, lichen@1.6.4, lowerfirearmscost@0.3.7, mannycaucasianclothing@0.0.2, millwright@1.3.4, molds@0.3.6, moreundergarmentsupdated@0.0.10, morecheez@1.1.0, morehoney@0.1.1, morenails@1.2.1, mycodiversity@1.0.8, nudemod@1.0.5, oresdroprocks@1.3.0, orewhisper@1.0.0, overhaulliblegacycompat@1.2.5, overhaullib@2.0.10, pickupbabyanimals@1.1.0, p1explosives@1.0.0, racialequalityexpandedfix@0.1.5, racialequalityexpanded@0.1.6, racialequality@0.1.28, realisticbiomegeneration@1.0.23, RelightTorches@1.0.0, remotetradercheckmod@0.8.0, repairablelocust@2.0.2, rotlotloot@1.3.1, scrollrackable@1.5.3, shelfobsessed@2.1.6, skeletonhornspatch@1.0.2, spinningwheel@1.2.12, spoofxlibandxskillsmodid@1.0.1, spoonslowburn@1.1.0, stoneharvesting@1.2.2, meapineapplestone@1.0.3, swifttime@1.1.3, tankardsandgoblets@1.4.4, temporalwarden@0.1.1, temporaldoctor@1.0.1, thatchexpanded@1.3.0, thetruearchimedesscrew@0.2.0, toolbelt@0.3.5, tradie@2.0.1, translocatorengineeringredux@1.6.6, tseasonedfirewood@1.2.10, valkyrjahair@3.0.0, vaultandroll@0.1.2, game@1.22.5, vsimgui@1.2.7, arthursjournal@2.0.5, waterwheelnormalwater@1.0.1, wilderlandscavessystem@2.0.6, wforests@1.0.0, wulksmithingaddons@1.7.0, xvshaders@1.0.2, lowlightspawns@1.0.8, abyssaldepths@1.0.18, accessibilitytweaks@5.0.0, accessorize@2.1.1, adastra@0.2.1, advancedgeology@0.9.8, airthermomod@0.5.0, aletraders@1.0.0, algernonsterrainsampler@1.3.0, animaltrader@1.2.1, animationslib@0.0.2, apebeams@1.3.0, apegrapes@1.4.0, arrowbarrels@1.5.0, attributerenderinglibrary@3.1.5, basenadiyahairstyles@1.1.0, beamtweaksmod@2.1.1, bedspawnv2@1.7.1, bellowsfix@1.0.3, betterentitytooltip@1.1.0, bettererprospecting@3.4.3, betterhandbook@1.0.4, betterjonasdevicesfixedagain@2.1.6, betterruins@0.6.3, bettertraders@0.2.0, bleedingindepth@0.4.2, bloodtrail@1.2.5, manifest@1.5.4, butchering@1.13.6, canjewelry@0.6.22, carryonlib@1.0.0-pre.8, cartwrightscaravan@1.9.1, caveinfix@1.0.5, chiselingqolpatches@0.2.3, chiselwiz@5.0.0-pre.2, climbmountain@0.2.4, clothierheirloomsmod@1.1.0, commonlibforked@2.8.1, configlib@1.12.0, configurableroomsize@1.3.2, cropforecaster@2.1.0, custommapregions@1.1.3, daubweave@1.0.0, decoclockrevival@1.22.2, divineascension@5.3.0, dressedtokillredux@1.0.1, dresstoimpress@1.0.0, djdrifteranimations@1.0.2, dryingspeedoverhaul@1.1.4, dumbwaiter@0.3.1, electricalprogressivecore@3.3.0, elkphysics@3.0.3, emotes@2.6.1, tackandequipment@1.3.0, exlib@0.7.0, extrainfo@2.2.1, extrashelves@1.1.2, fastknapping@1.0.0, fieldsofcranberries@0.0.5, firearmsfork@1.10.1, fishingconfig@1.6.0, fishtrader@1.1.0, foodshelves@3.0.5, footprints@1.2.5, geargeous@2.5.101, genelib@3.2.0, gloommod@1.2.0, grassroots@0.6.1, handbookdeclutterer@2.0.1, hanfu@1.2.0, humanoidsvoices@1.2.0, immersivecorpsedrop@1.0.4, immersiveheat@1.0.0, immersivewoodworking@1.2.0, insanitylib@2.0.3, interestingme@1.0.16, iwantsmoothtemperature@1.1.6, jaunt@3.1.0, keepcraftinggrid@1.0.0, keylock@1.0.1, knapster@4.0.0, drocustclasses@1.1.0, mnflowers@2.0.0, mngeology@2.0.10, materialneeds@2.0.0, mealrevariation@3.2.1, sailboathotkeys@1.1.0, mineralsoup@1.0.1, moresaltpeter@1.0.0, morethundersounds@0.2.0, multiclassreborn@0.2.4, naac@1.0.5, ndlgrassgrowth@2.0.0, noholdfruitpress@0.1.3, nosaturationlossdelay@1.1.3, performancecraftinggrid@0.1.1, petai@5.1.1, pickupartistreforged@1.0.2, pipeleaf@2.6.1, placeonslabs@1.2.0, playermodellib@1.23.7, postsandbeams@1.5.1, purposefulstorage@2.1.0, pyrogenesiscontinued@1.3.1, renude@1.0.0, rarertraders@1.0.2, realsmoke@1.3.1, regalia@1.8.1, restfulsit@1.2.0, ricepaddies@1.0.4, rifteye@0.6.0, riftworks@1.1.20, saltandsands@1.3.0, seamarks@0.0.3, shadehouse@1.2.3, shipwright@1.4.1, signals@0.3.1, smartbarrelshiftclick@1.1.0, smithingplus@1.9.0-rc.1, snowcaps@0.0.1, spyglass@0.6.1, stackscoolslower@1.1.1, staminamod@1.1.2, statushudcont@4.3.1, steadygreenhouses@1.1.3, stickymousebuttons@1.1.1, stonebakeoven@1.3.8, stoneprospect@1.0.1, substrate@2.0.0, tablet@0.2.0, tassbetterfish@0.4.2, temporalstormsfight@1.7.2, thievery@1.3.0, tinkertailorbackpacks@1.4.4, toolsmith@1.2.17, toomanytabs@1.0.0, treetapredux@1.2.7, tunics@1.4.1, universalhusbandry@1.2.1, vanity@2.5.1-rc.1, verticaltransport@1.0.2, vintagekinematics@1.3.22, vintsbottlesncups@1.3.7, vsabeamsqol@1.0.9, creative@1.22.5, vsinstrumentsredux@1.2.6, vsroofing@1.7.0, survival@1.22.5, warmweathereffects@1.4.1, waterfall@1.2.4, watersheds@6.4.3, weaponslowco@0.2.2, wildwestclimate@1.0.4, windchimes@1.5.2, wurmstorypatches@2.0.0, xlib@1.0.33, xskillmmleaves@1.0.0, antlershorns@1.5.1, bettersmelting@0.3.0, blushandbins@1.3.4, bounties@1.0.7, canjewelryxskill@0.1.6, carryon@2.0.0-pre.8, combatoverhaulfork@0.18.3, rlldtco0001@2.3.1, crossbowsfork@1.10.0, densegroundstorage@0.2.11, draconis@1.5.0, electricalprogressivebasics@3.3.1, equusferus@1.0.1, em@3.7.0, mannyextrafirearms@1.1.3, extremefirestartersreforged@1.1.3, featherborn@0.12.4, fulldropunofficial@1.0.8, galeret@0.0.8, gliderrevampdrathon@1.0.2, goblinears@2.3.4, heraldry@2.0.0, humans@0.5.1, interestingmeconfig@1.0.11, interestingmuck@1.0.0, livingarmors@0.3.0, locustdrider@1.7.0, lupines@0.2.10, mannycaplockfirearms@0.0.8, mannyfergusonrifle@0.0.4, mannyoddballfirearms@0.1.1, mapper@0.5.2, mechaseraph@1.1.0, orrukin@1.2.2, playercorpseforked@1.14.1, insectoid@0.0.48, ppex@0.6.4, quiversfork@0.9.29, realsmokeqppatch@1.0.1, revolverarquebusfork@0.1.2, shearlib@1.3.0, signalslink@0.2.6, vintageskavenrat@1.6.91, skeletons@0.6.2, smithingplustweaks@1.2.0, smithingplusbugfix@2.0.1, storagetweaks@1.4.0-rc.1, strongersediments@1.0.0, tailorsdelight@2.2.2, tasshroomhardcorewinter@0.3.13, terrainslabs@1.0.17, toolsmithgeologypatch@1.2.0, watergatemod@1.0.0, wwaymarkers@1.0.4, wildwestsurface@1.0.0, windowstoragelib@1.2.7, wolftaming@5.0.1, xskills@1.0.91-rc.2, yacb@1.0.2, zombpspatch@2.5.0, aldiclasses@2.2.7, armoryfork@1.11.0, draconisrhinocroma@1.0.0, dressmakers@1.8.0, electricalprogressiveindustry@0.7.0, electricalprogressiveqol@3.3.1, emgravelandsand@1.0.0, femalelupines@1.0.1, galerettrait@0.0.1, heraldrybanners@2.0.0, nudehumans@0.0.2, mannyaxepistols@1.0.1, mannydoubleblunderbuss@1.0.1, mannyflintlockarquebus@1.0.1, mannyhallrifle@1.0.1, mannyhandgonne@1.0.1, mannyjezail@1.0.1, mannymaltiezpartialpack@1.0.1, mannymaltiezwheellock@1.0.1, mannyquadbarrelpistol@1.0.1, mannyrevolvermusket@1.0.1, mannyrevolverpistol@1.0.1, mannysquirrelmusket@1.0.0, mannytanegashimaarquebus@1.0.0, mannytanegashimamusket@1.0.1, mannytanegashimapistol@1.0.1, mannytriplebarrelpistol@1.0.2, mannytwinbarrelpistol@1.0.2, mannyvolleygun@1.0.1, mannyvolleypistol@1.0.1, mannywheellockpack@1.0.1, morearrowsfork@1.2.3, signalslinkep@0.2.2, smex@0.9.4, xskillstailoring@0.2.2, windowstorage@1.8.5, wingworks@1.1.0, wool@1.9.3, wurmstorycrafting@2.1.0, wurmstoryxskills@1.0.0, xskillsgilded@1.3.47, zzcoarmorpenaltypatch@1.0.12, aldiclassesallpatch@2.1.0, aldiclassesracepatch@2.1.1, blackguardadditionscofork@1.0.9, exoskeletonsfork@0.4.6, forlornadditionscofork@1.0.10
System.NullReferenceException: Object reference not set to an instance of an object.
   at Vintagestory.GameContent.GearRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in C:\Users\office-desktop2\Documents\game\VSSurvivalMod\Systems\TemporalStability\GearRenderer.cs:line 156
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\Util\ClientEventManager.cs:line 249
   at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 858
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 953
   at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientMain.cs:line 782
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
   at Vintagestory.Client.ScreenManager.Render(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 742
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ScreenManager.cs:line 686
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientProgram.cs:line 131
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in C:\Users\office-desktop2\Documents\game\VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95
DinoYeOldy, Jul 31st at 11:02 PM (modified Jul 31st at 11:04 PM)

Also was interested in how your map optimisations and pregeneration compare to fast map mod.

Zaldaryon , Aug 1st at 1:04 AM
@DinoYeOldy: Also was interested in how your map optimisations and pregeneration compare to fast map mod.

we follow the same ideas - map cache - but implementation is a whole new difference. mine is more a experimental way while fastmap is more stablished.

DinoYeOldy, Jul 31st at 11:01 PM

Could not  launch my world.

Optimum 0.3.2 on linux

Logs peice

1.8.2026 01:35:37 [Error] Couldn't add entity type game:raccoon-common-adult-male at 511909.1, 112, 511976.44 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:locust-corrupt-sawblade at 511947.5, 51, 512079.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.GameContent.EntityGlowingAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityGlowingAgent.cs:line 26
   at Vintagestory.GameContent.EntityLocust.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityLocust.cs:line 17
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:drifter-tainted at 511947.5, 45, 512087.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.GameContent.EntityDrifter.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityDrifter.cs:line 167
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:pig-eurasian-adult-female at 511995.5, 114, 511930.49 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:raccoon-common-adult-male at 511993.31, 118, 511922.02 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:hare-european-baby-male at 511979.76, 113, 511962.94 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:hare-european-baby-female at 512025.17, 115, 511921.01 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:bowtorn-surface at 512003.5, 118, 511919.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:pig-eurasian-adult-male at 512003.66, 113, 512059.41 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:pig-eurasian-adult-male at 512018.17, 114, 512090.33 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:pig-eurasian-baby-female at 512009.25, 114, 512070.59 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:hare-european-adult-male at 512047.44, 116, 511907.14 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:drifter-tainted at 512035.12, 44, 512011.03 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.GameContent.EntityDrifter.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityDrifter.cs:line 167
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:locust-corrupt-sawblade at 512077.67, 18.73, 511964.67 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.GameContent.EntityGlowingAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityGlowingAgent.cs:line 26
   at Vintagestory.GameContent.EntityLocust.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d) in /home/dino/Downloads/Optimum-0.3.2/VSSurvivalMod/Entities/EntityLocust.cs:line 17
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:shiver-corrupt at 512072.4, 12, 511962.6 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:shiver-deep at 512079.6, 82, 511990.35 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:raccoon-common-adult-female at 512106.86, 113, 512037.29 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:chicken-hen at 512108.5, 124.01, 512123.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:chicken-rooster at 512108.5, 128.01, 512126.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:37 [Error] Couldn't add entity type game:chicken-hen at 512106.5, 130.01, 512127.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:37 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:38 [Error] Couldn't add entity type game:chicken-hen at 512110.5, 128.01, 512126.5 due to exception in code. Will remove from chunk, sorry!
1.8.2026 01:35:38 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.Server.ServerMain.LoadEntity(Entity entity, Int64 fromChunkIndex3d)
1.8.2026 01:35:38 [Event] Begin game ticking...
1.8.2026 01:35:38 [Event] ... it calls to you
1.8.2026 01:35:38 [Notification] Entering runphase RunGame
1.8.2026 01:35:38 [Notification] Successfully loaded 0 waypoints
1.8.2026 01:35:38 [Notification] [Tungsten] [PatchConflict] GuiDialogHandbook.FilterItems: 2 prefixes from [attributerenderinglibrary, garward.betterhandbook.handbookcache]
1.8.2026 01:35:38 [Warning] [Tungsten] [PatchConflict] CollectibleBehaviorHandbookTextAndExtraInfo.addCreatedByInfo: 2 transpilers from [attributerenderinglibrary, garward.betterhandbook.handbookcache]
1.8.2026 01:35:38 [Notification] [Tungsten] [PatchConflict] InventoryCraftingGrid.ActivateSlot: 3 prefixes from [garward.fastcraftinggrid, garward.itemsyncfixes.server, garward.betterhandbook.handbookcache]
1.8.2026 01:35:38 [Notification] [Tungsten] [PatchConflict] InventoryCraftingGrid.FindMatchingRecipe: 2 prefixes from [garward.fastcraftinggrid, garward.itemsyncfixes.server]
1.8.2026 01:35:38 [Notification] [Tungsten] [PatchConflict] Entity.ReceiveDamage: 3 prefixes from [VaultAndRoll.RollMitigation, com.furio.caveinarmor, expandedbeekeeping.harmony]
1.8.2026 01:35:38 [Warning] [Tungsten] [PatchConflict] 5 potential conflict(s) found. Use /tungsten health for details.
1.8.2026 01:35:38 [Notification] Starting server threads
1.8.2026 01:35:38 [Event] Singleplayer Server now running!
1.8.2026 01:35:38 [Event] Return again.
1.8.2026 01:35:38 [Notification] Please be aware that as of 1.20, servers default configurations have changed - servers no longer register themselves to the public servers list and are invite-only (whitelisted) out of the box. If you desire so, you can enable server advertising with '/serverconfig advertise on' and disable the whitelist mode with '/serverconfig whitelistmode off'
1.8.2026 01:35:38 [Warning] An entity raccoon-common-adult-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity locust-corrupt-sawblade failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity drifter-tainted failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity pig-eurasian-adult-female failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity raccoon-common-adult-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity hare-european-baby-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity hare-european-baby-female failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity bowtorn-surface failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity pig-eurasian-adult-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity pig-eurasian-adult-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity pig-eurasian-baby-female failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity hare-european-adult-male failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity drifter-tainted failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity locust-corrupt-sawblade failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity shiver-corrupt failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity shiver-deep failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity raccoon-common-adult-female failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity chicken-hen failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity chicken-rooster failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity chicken-hen failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Warning] An entity chicken-hen failed to complete initialisation, will not be physics ticked.
1.8.2026 01:35:38 [Notification] [rollingsaves] interval-tick: slot 1 written (24.2 MB in 0.1s) [OK] -> /home/dino/.config/VintagestoryData/Saves/RollingBackups/test survival world.rolling1.vcdbs
1.8.2026 01:35:46 [Warning] Server overloaded. A tick took 2313ms to complete.
1.8.2026 01:35:58 [Warning] Server overloaded. A tick took 1896ms to complete.
1.8.2026 01:36:00 [Notification] A Client attempts connecting via Dummy connection on 127.0.0.1:0, assigning client id 1
1.8.2026 01:36:02 [Notification] Client 1 uid oD520Ix4bhGPs1V0RuzfJ/3g attempting identification. Name: DinoYeOldy
1.8.2026 01:36:02 [Notification] Upped server view distance to: 256, because player is in singleplayer
1.8.2026 01:36:02 [Notification] Delayed join, need to load one spawn chunk first.
1.8.2026 01:36:02 [Error] Exception: Method not found: 'Void System.Collections.Generic.Dictionary`2..ctor(Int32, System.Collections.Generic.IEqualityComparer`1<System.String>)'.
   at Vintagestory.API.Common.AnimatorBase..ctor(WalkSpeedSupplierDelegate WalkSpeedSupplier, Animation[] Animations, Action`1 onAnimationStoppedListener)
   at Vintagestory.API.Common.ClientAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, Action`1 onAnimationStoppedListener, Action`2 onShouldPlaySoundListener)
   at Vintagestory.API.Common.ServerAnimator..ctor(WalkSpeedSupplierDelegate walkSpeedSupplier, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Action`1 onAnimationStoppedListener, Boolean loadFully)
   at Vintagestory.API.Common.ServerAnimator.CreateForEntity(Entity entity, Animation[] animations, ShapeElement[] rootElements, Dictionary`2 jointsById, Boolean requirePosesOnServer)
   at Vintagestory.API.Common.AnimationManager.LoadAnimator(ICoreAPI api, Entity entity, Shape entityShape, RunningAnimation[] copyOverAnims, Boolean requirePosesOnServer, String[] disableElements, String[] requireJointsForElements)
   at Vintagestory.API.Common.Entities.Entity.Initialize_Patch1(Entity this, EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityAgent.Initialize(EntityProperties properties, ICoreAPI api, Int64 InChunkIndex3d)
   at Vintagestory.API.Common.EntityPlayer.Initialize(EntityProperties properties, ICoreAPI api, Int64 chunkindex3d)
   at Vintagestory.Server.ServerMain.SpawnEntity_internal(EntityProperties type, Entity entity)
   at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity, EntityProperties type)
   at Vintagestory.Server.ServerMain.SpawnEntity(Entity entity)
   at Vintagestory.Server.ServerMain.<>c__DisplayClass335_0.<FinalizePlayerIdentification>b__1()
   at Vintagestory.Server.ServerMain.ProcessMainThreadTasks()
   at Vintagestory.Server.ServerMain.ProcessMain()
   at Vintagestory.Server.ServerMain.Process()
1.8.2026 01:38:45 [Notification] Client 1 disconnected: Server shutting down - Exit request by client

Looks like "animation lookup fix" broke something.

Server started semi ok but due to error could not spawn me so i was stuck on connect screen.

KandelKitty, Jul 31st at 9:18 PM

I am trying to uninstall this since it keeps crashing and trying to reinstall it but when I go to uninstall it a window of powershell pops up for half a second and dissapears without uninstalling. How do I fix this? Thank you.

YoSomebody, Jul 31st at 4:54 AM

new problem. after i installed optimum and copy my saves from the vanilla client to the optimum folder, the node search for the prospecting do not work. as in it won't say "no ore nearby" or "trace amounts, large amounts, etc." nothing came up. density works fine.

YoSomebody, Jul 31st at 3:50 AM

ok i installed it but it says "unable to load mod. check log files." i checked the logs and this pops up

"31.7.2026 11:41:37 [Warning] Could not get blocked mods from api: The request was canceled due to the configured HttpClient.Timeout of 10 seconds elapsing.
31.7.2026 11:42:19 [Notification] Will search the following paths for mods:
31.7.2026 11:42:19 [Notification]     %appdata%\Vintagestory\Mods
31.7.2026 11:42:19 [Notification]     %appdata%\VintagestoryData\Mods
31.7.2026 11:42:19 [Error] [Optimum-0.3.1.zip] An exception was thrown trying to to load the ModInfo:
31.7.2026 11:42:19 [Error] [Optimum-0.3.1.zip] Exception: Object reference not set to an instance of an object.
   at Vintagestory.Common.ModContainer.LoadModInfo(ModCompilationContext compilationContext, ModAssemblyLoader loader) in VintagestoryLib\Common\API\ModContainer.cs:line 344"

is there any way to fix this on my end?

felgudink, Jul 31st at 3:41 AM

image

idk what causes this

Ruleless, Jul 31st at 3:16 AM

installed 0.3.1 and it did install no issues but it does say when the client is open that im still on optimum 0.3.0. Possibly a me issues or idk

PaPaSamBuBu, Jul 31st at 1:27 AM

Works great, stopped the issues I was having with lag spiking for 3 seconds every 1-5 minutes but there was a noticable slight stutter constantly that I didn't have before.

ASaltRifgle, Jul 31st at 12:35 AM

new build is not working for me - i uninstalled the old builds, reinstalled vintage story clean and this is the error I get trying to install new Optimum build.
ERROR: VSEssentials runtime donor build failed (exit code 1).

Id_LogicaL, Jul 30th at 7:49 PM

Hey, I don't have any questions. I just wanted to thank you for taking your time to make this mod :D

AaronRH, Jul 30th at 4:20 PM

i cant uninstalll this, any help?

Zaldaryon , Jul 30th at 7:21 PM
@AaronRH: i cant uninstalll this, any help?

if on windows, there's an option to uninstall it unser system settings -> programs.

DefiledFaun, Jul 30th at 2:05 PM

Quietly hoping for a 1.22.5 update bc my game is struggling to run without it

ImpureSoul3, Jul 29th at 3:08 PM (modified Jul 29th at 3:09 PM)

give you guys a hint but idk if it breaks anything

if you go to the main menu in game after you install opti you can update it to 1.22.5 at the top right even if it doesnt show it is there i promise

worked for me so far

ZappyDoggo, Jul 28th at 4:27 AM

Really liking the performance improvements so far, just wish I knew a mod manager I could pair it with, but Linux leaves my options looking sparse.

EmmaAtOnce, Jul 25th at 4:29 AM

It seems that something about Optimum is causing the game not to detect mouse buttons 4 and 5.

KOBOLDengi, Jul 23rd at 1:42 AM

i may be just dumb but im gonna ask, where do i get the version for 1.22.5 every time i use the linked one it says wrong version and to reinstall 1.22.3 of vs am i just being blind or dumb?

ushkinaz, Jul 20th at 10:11 AM

Build error under macos. Incorrect path. Aslo please not that installer correclty downloads macos binary, but places in under win-x64 folder for some reason

Spoiler

./build-macos.sh
Checking prerequisites...
Running bootstrap (downloads ~600MB on first run)...
bash scripts/bootstrap.sh
Downloading https://cdn.vintagestory.at/gamefiles/stable/vs_client_osx-arm64_1.22.3.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  607M  100  607M    0     0  7654k      0  0:01:21  0:01:21 --:--:-- 8071k
Extracting /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/archives/vs_client_osx-arm64_1.22.3.tar.gz
cp: /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64/vintagestory/VintagestoryLib.dll: No such file or directory
make: *** [bootstrap] Error 1

~/Downloads/Optimum-0.2.11 took 1m27s
└─2 ⨯  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/
archives/       win-x64/

~/Downloads/Optimum-0.2.11
└─➢  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64
Vintage Story.app/

~/Downloads/Optimum-0.2.11
└─➢  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64/Vintage\ Story.app
assets/                                 ModMaker.runtimeconfig.json             VintagestoryAPI.xml
credits.txt                             Mods/                                   VintagestoryLib.dll
Icon.icns                               Vintagestory*                           VintagestoryLib.pdb
Info.plist                              Vintagestory.deps.json                  VintagestoryServer*
Lib/                                    Vintagestory.dll                        VintagestoryServer.deps.json
ModMaker*                               Vintagestory.pdb                        VintagestoryServer.dll
ModMaker.deps.json                      Vintagestory.runtimeconfig.json         VintagestoryServer.pdb
ModMaker.dll                            VintagestoryAPI.dll                     VintagestoryServer.runtimeconfig.json
ModMaker.pdb                            VintagestoryAPI.pdb                     VSCrashReporter.app/

Spoiler

./build-macos.sh
Checking prerequisites...
Running bootstrap (downloads ~600MB on first run)...
bash scripts/bootstrap.sh
Downloading https://cdn.vintagestory.at/gamefiles/stable/vs_client_osx-arm64_1.22.3.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  607M  100  607M    0     0  7654k      0  0:01:21  0:01:21 --:--:-- 8071k
Extracting /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/archives/vs_client_osx-arm64_1.22.3.tar.gz
cp: /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64/vintagestory/VintagestoryLib.dll: No such file or directory
make: *** [bootstrap] Error 1

~/Downloads/Optimum-0.2.11 took 1m27s
└─2 ⨯  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/
archives/       win-x64/

~/Downloads/Optimum-0.2.11
└─➢  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64
Vintage Story.app/

~/Downloads/Optimum-0.2.11
└─➢  ls /Users/joebiden/Downloads/Optimum-0.2.11/.vanilla/win-x64/Vintage\ Story.app
assets/                                 ModMaker.runtimeconfig.json             VintagestoryAPI.xml
credits.txt                             Mods/                                   VintagestoryLib.dll
Icon.icns                               Vintagestory*                           VintagestoryLib.pdb
Info.plist                              Vintagestory.deps.json                  VintagestoryServer*
Lib/                                    Vintagestory.dll                        VintagestoryServer.deps.json
ModMaker*                               Vintagestory.pdb                        VintagestoryServer.dll
ModMaker.deps.json                      Vintagestory.runtimeconfig.json         VintagestoryServer.pdb
ModMaker.dll                            VintagestoryAPI.dll                     VintagestoryServer.runtimeconfig.json
ModMaker.pdb                            VintagestoryAPI.pdb                     VSCrashReporter.app/

yurajoh, Jul 18th at 10:21 PM (modified Jul 18th at 10:22 PM)

Seems like explosions cause an instant crash. Only happens if I'm running Optimum.

Crash Report
System.IO.FileNotFoundException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
File name: 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
   at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Widget..ctor()
   at Eto.Forms.Application..ctor(InitHelper init)
   at Eto.Forms.Application..ctor(Platform platform)
   at VSPlatform.XPlatImpl.ShowMessageBox(String title, String text) in C:\Users\Tyron\Documents\vintagestory\game\XPlatformInterface\PlatformFormsImpl.cs:line 40
   at Vintagestory.Client.NoObf.ClientThread.Process()
   at System.Threading.Thread.StartCallback()
Magi163, Jul 18th at 7:45 PM (modified Jul 18th at 8:34 PM)

Attempted to install today, following directions for the windows installer, dependencies installed, etc, but it looks like it's failing on the first patch. 

Applying patches/Vintagestory/Vintagestory.csproj.patch
  FAILED: error: patch failed: build/Vintagestory/Vintagestory.csproj:1
error: build/Vintagestory/Vintagestory.csproj: patch does not apply

PapitoPapz, Jul 18th at 3:10 PM (modified Jul 18th at 3:11 PM)

I got extra 100 fps with this client/mod and had like 119 mods (Reminds me of sodium for minecraft lol) was having crashes afters like 15 mins playing frequently so will be waiting for more updates before returning again cause I understood some mods are causing crashes 

BUT YES.. THIS CLIENT IS THAT GOOD AS IT SAYS SO IF YOU WANT THE BEST PERFORMANCE (?) IN VINTAGE STORY THIS IS FUCKING IT

Macropyre, Jul 18th at 3:54 AM

My current optimum install reads mods from the vintage story appdata folder instead of the optimum data folder.. Conversely, it also reads mod configs... in the optimum data folder.

Bug, or odd oversight? Do I reinstall?

Dratgon, Jul 17th at 11:14 PM

Crusible turns pitch black at 900C+ vanilla stable VS + optimum on win 10, nvidia 2070 super

KanjiOkami, Jul 17th at 9:29 AM

I got this set up and its working amazingly but one thing I ran into is that I removed optitime as specified but now crafting causes extreme lag. Did I do something wrong?

MaskedRabbit, Jul 17th at 3:27 AM

Anyone else having incompatability problems with decidous trees? 

The trees unfortunately remain in vanilla form.

Zaldaryon , Jul 17th at 11:51 AM
@MaskedRabbit: Anyone else having incompatability problems with decidous trees? The trees unfortunately remain in vanilla form.

I didn't touch any fixes for decidous trees, only eco machina. sigh. in the next release, i'll try to.

MaskedRabbit, Jul 18th at 3:18 AM
@Zaldaryon: I didn't touch any fixes for decidous trees, only eco machina. sigh. in the next release, i'll try to.

nvm my goofy ahh blud ass didnt download eco machina hence why.

 

God left me unfinished

r0zemary, Jul 16th at 9:17 PM

So, this is a bug with vanilla Vintage Story and not Optimum, but if you're looking for things to add, could you take a look at why liquids seem to be rendered/anti-aliased at 1/4 of the resolution of the rest of the screen all the time? It's really noticeable while sailing or when using Vintage Engineering which adds oil spouts

TiaInki, Jul 16th at 1:41 AM

Was able to install the latest update! Thank you for working so hard on this. It's SUPER helpful and I've been screaming about it to my friends who use laptops to game. LOL It's helped a lot of us play this game with mods. :D

khrysa, Jul 15th at 7:12 PM

any way to lessen/remove the sharpening from the FSR? 

Zaldaryon , Jul 15th at 9:11 PM
@khrysa: any way to lessen/remove the sharpening from the FSR?

Only if you set it to native (1.0, which means off). For now, there's no strong antialiasing.

JohnWeak, Jul 15th at 1:01 PM

Doesn't do anything when I run the install script on linux

this is what it just outputs

Spoiler!
Optimum Installer
  High-performance client for Vintage Story
  ────────────────────────────────────────────
JohnWeak, Jul 15th at 2:16 PM (modified Jul 15th at 2:21 PM)
@Zaldaryon: looks fine for me:

I don't get that at all
image

tried both cloning and downloading source code from release

Zaldaryon , Jul 15th at 2:38 PM
@JohnWeak: I don't get that at all tried both cloning and downloading source code from release

don't use the ./scripts, use the root script one.

Zaldaryon , Jul 15th at 2:53 PM
@JohnWeak: same results

which linux distro are you uysing, which terminal? bash? zsh?

JohnWeak, Jul 15th at 3:18 PM
@Zaldaryon: which linux distro are you uysing, which terminal? bash? zsh?

arch linux (Linux 7.1.3-zen1-2-zen) , kitty (tried also konsole), zsh (tried running through bash too)

Zaldaryon , Jul 15th at 3:44 PM
@JohnWeak: arch linux (Linux 7.1.3-zen1-2-zen) , kitty (tried also konsole), zsh (tried running through bash too)

run the installer with tracing enabled and share the output. this will show exactly which command it stops on:

bash -x ./install-linux.sh 2>trace.log

If it hangs (no output, terminal just sits there), wait ~5 seconds then press Ctrl+C, then paste the last ~30 lines of trace.log here.

If it exits immediately back to the prompt instead, just paste the full trace.log.

JohnWeak, Jul 15th at 3:50 PM
@Zaldaryon: run the installer with tracing enabled and share the output. this will show exactly which command it stops on: bash -x ./install-linux.sh 2>trace.log If it hangs (no output, terminal just sits there), wait ~5 seconds then press Ctrl+C, then paste the last
trace.log
+ set -euo pipefail
+++ dirname ./install-linux.sh
++ cd .
++ pwd
+ script_dir=/home/john/Downloads/Optimum
+ exec /home/john/Downloads/Optimum/scripts/install-linux.sh
Zaldaryon , Jul 15th at 3:53 PM
@JohnWeak: trace.log + set -euo pipefail+++ dirname ./install-linux.sh++ cd .++ pwd+ script_dir=/home/john/Downloads/Optimum+ exec /home/john/Downloads/Optimum/scripts/install-linux.sh

hm, it's the top level wrapper only. sorry, my bad. try again with:

bash -x ./scripts/install-linux.sh 2>trace.log

If it hangs (no output, terminal just sits there), wait ~5 seconds then press Ctrl+C, then paste the last ~30 lines of trace.log here.

If it exits immediately back to the prompt instead, just paste the full trace.log.

JohnWeak, Jul 15th at 4:25 PM
@Zaldaryon: do a git pull in the cloned folder and run ./install-linux.sh, I added a fix
Spoiler!

❯ ./install-linux.sh

  Optimum Installer
  High-performance client for Vintage Story
  ────────────────────────────────────────────


  PREREQUISITES

    ✓  git (2.55.0)
    ✓  curl
    ✓  python3
    ✓  perl
    ✓  tar
    ✓  .NET 10 SDK (10.0.109) [found at /usr/share/dotnet/dotnet, not on PATH]
    ✗  ilspycmd  (unsupported, needs 10.1.1.8388)

  Missing tools detected. Install them now?

    ilspycmd  (unsupported, needs 10.1.1.8388)
    /usr/share/dotnet/dotnet tool update -g ilspycmd --version 10.1.1.8388

  Install missing tools? [Y/n] 
    Installing ilspycmd  (unsupported, needs 10.1.1.8388)...
Tool 'ilspycmd' is already installed.
ERROR: ilspycmd 10.1.1.8388 installation failed.

Zaldaryon , Jul 15th at 4:29 PM
@JohnWeak: Spoiler! ❯ ./install-linux.sh Optimum Installer High-performance client for Vintage Story ──────────────────────────────────────────── PREREQUISITES ✓ git (2.55.0) ✓ curl ✓ python3 ✓ perl ✓ tar ✓ .NET 10 SDK (10.0.109) [found at /usr/share/dotnet/dotnet,

dotnet tool uninstall -g ilspycmd
dotnet tool install -g ilspycmd --version 10.1.1.8388
Then re-run ./install-linux.sh

if ilspycmd resolves cleanly now, the prerequisite check should show all green and it should proceed past the point it's stuck at.

JohnWeak, Jul 15th at 4:38 PM
@Zaldaryon: dotnet tool uninstall -g ilspycmddotnet tool install -g ilspycmd --version 10.1.1.8388Then re-run ./install-linux.sh if ilspycmd resolves cleanly now, the prerequisite check should show all green and it should proceed past the point it's stuck at.
Spoiler!

❯ dotnet tool uninstall -g ilspycmd
Tool 'ilspycmd' (version '10.1.1.8388') was successfully uninstalled.
❯ dotnet tool install -g ilspycmd --version 10.1.1.8388
You can invoke the tool using the following command: ilspycmd
Tool 'ilspycmd' (version '10.1.1.8388') was successfully installed.
❯ ./install-linux.sh

  Optimum Installer
  High-performance client for Vintage Story
  ────────────────────────────────────────────


  PREREQUISITES

    ✓  git (2.55.0)
    ✓  curl
    ✓  python3
    ✓  perl
    ✓  tar
    ✓  .NET 10 SDK (10.0.109) [found at /usr/share/dotnet/dotnet, not on PATH]
    ✗  ilspycmd  (unsupported, needs 10.1.1.8388)

  Missing tools detected. Install them now?

    ilspycmd  (unsupported, needs 10.1.1.8388)
    /usr/share/dotnet/dotnet tool update -g ilspycmd --version 10.1.1.8388

  Install missing tools? [Y/n] Y
    Installing ilspycmd  (unsupported, needs 10.1.1.8388)...
Tool 'ilspycmd' is already installed.
ERROR: ilspycmd 10.1.1.8388 installation failed.

JohnWeak, Jul 15th at 4:42 PM (modified Jul 15th at 4:43 PM)
@Zaldaryon: make a git pull of the cloned repo and try again.

still stuck on the ilspycmd part, tried reinstalling again

Zaldaryon , Jul 15th at 4:49 PM
@JohnWeak: still stuck on the ilspycmd part, tried reinstalling again

damn man, I don't know how to help you anymore, it looks like the script can't find your ilspycmd at all. my last recommendation is installing ilspy, rebooting and try again.

JohnWeak, Jul 15th at 5:06 PM (modified Jul 15th at 5:30 PM)
@Zaldaryon: damn man, I don't know how to help you anymore, it looks like the script can't find your ilspycmd at all. my last recommendation is installing ilspy, rebooting and try again.

found the issue, its not having issues finding ilspycmd it think the version installed is wrong even tho it isn't (ilspycmd_version_supported), so I just made it return 1 regardless to skip the version check and goes to the install but now it throws this

 

tho I just built it manually and threw it inside vs launcher and it works that way

Spoiler!

❯ ./install-linux.sh

  Optimum Installer
  High-performance client for Vintage Story
  ────────────────────────────────────────────

not suported version
  PREREQUISITES

    ✓  git (2.55.0)
    ✓  curl
    ✓  python3
    ✓  perl
    ✓  tar
    ✓  .NET 10 SDK (10.0.109) [found at /usr/share/dotnet/dotnet, not on PATH]
    ✓  ilspycmd ()

  INSTALL OPTIONS

    Install directory [/home/john/.local/share/optimum]: 
    Separate data folder? (leave blank for default) [~/.config/OptimumVintagestoryData]: 
    Create application menu entry? [Y/n] n
    Create desktop shortcut? [y/N] n

  SUMMARY

    Install to:    /home/john/.local/share/optimum
    Menu entry:    no
    Desktop icon:  no

    Proceed? [Y/n] Y

==> Building Optimum...
bash scripts/bootstrap.sh --refresh 
Using cached /home/john/Downloads/Optimum/.vanilla/archives/vs_client_linux-x64_1.22.3.tar.gz
Extracting /home/john/Downloads/Optimum/.vanilla/archives/vs_client_linux-x64_1.22.3.tar.gz
make: *** [Makefile:74: refresh] Error 150

pngwn, Jul 15th at 11:59 AM

I have multiple installations of VS. When I run install-windows.cmd, it says one of the prerequisites is Vintage Story, but the path listed there is not the installation I would like to play on with Optimum. It looks like it just used the first one it found. How can I manually specify a VS installation for it to use?

Zaldaryon , Jul 15th at 12:05 PM (modified Jul 15th at 12:05 PM)
@pngwn: I have multiple installations of VS. When I run install-windows.cmd, it says one of the prerequisites is Vintage Story, but the path listed there is not the installation I would like to play on with Optimum. It looks like it just used the first one it fou

Yes, the installer accepts a -VsPath argument that overrides auto-detection. Open a terminal (cmd) in the extracted folder and run:

install-windows.cmd -VsPath "C:\path\to\your\Vintage Story"

or, with PowerShell directly:

powershell -ExecutionPolicy Bypass -File install-windows.ps1 -VsPath "C:\path\to\your\Vintage Story"

The usual installer window opens, but it builds against the install you pointed it at instead of the first one detected. Point it at the folder that contains Vintagestory.exe.

Two notes:
- The install you pick must be on game version 1.22.3 (what Optimum 0.2.11 targets); the installer refuses a version mismatch and tells you which version it found.
- Auto-detection actually prefers an install whose Vintagestory.exe matches the required game version and only falls back to the first one found, so if it picked the "wrong" one, both of yours are probably on 1.22.3.

pngwn, Jul 15th at 12:24 PM
@Zaldaryon: Yes, the installer accepts a -VsPath argument that overrides auto-detection. Open a terminal (cmd) in the extracted folder and run: install-windows.cmd -VsPath "C:\path\to\your\Vintage Story" or, with PowerShell directly: powershell -ExecutionPolicy Bypas

Thanks for the instructions. However, I tried both commands in cmd and PS respectively, and while they both opened the installer, neither had an effect on the displayed path for the VS installation. It's still looking at "A:\Programs\Vintagestory\WrongInstallation", and not "A:\Programs\Vintagestory\RightInstallation". I verified that "RightInstallation" is 1.22.3 by going to the Properties of vintagestory.exe inside, and looking at Details > Product version.

Zaldaryon , Jul 15th at 1:12 PM
@pngwn: Thanks for the instructions. However, I tried both commands in cmd and PS respectively, and while they both opened the installer, neither had an effect on the displayed path for the VS installation. It's still looking at "A:\Programs\Vintagestory\WrongIns

Found it. Real bug in the installer, not your end. -VsPath only gets honored when you also pass -Silent. In the normal GUI window (the default), the field never gets seeded with the value from the command line, so it falls back to auto-detection instead. Just fixed it and pushed it into v0.2.11: https://github.com/Zaldaryon/Optimum/releases/tag/v0.2.11
Pull the latest source (or re-download the release) and it should pick up RightInstallation correctly now, no -Silent workaround needed. If you already have a checkout, git pull on it.

pngwn, Jul 15th at 2:43 PM
@Zaldaryon: Found it. Real bug in the installer, not your end. -VsPath only gets honored when you also pass -Silent. In the normal GUI window (the default), the field never gets seeded with the value from the command line, so it falls back to auto-detection instead.

Thanks, that did work now. But I get this crash report when I click "Launch":

Crash Report
Running on 64 bit Windows 10.0.19045.0 with 32690 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.2.11
7/15/2026 10:42:36 AM: Critical error occurred
Loaded Mods: 
System.IO.FileNotFoundException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
File name: 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Widget..ctor()
   at Eto.Forms.Application..ctor(InitHelper init)
   at Eto.Forms.Application..ctor(Platform platform)
   at VSPlatform.XPlatImpl.ShowMessageBox(String title, String text) in C:\Users\Tyron\Documents\vintagestory\game\XPlatformInterface\PlatformFormsImpl.cs:line 40
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Crash Report
Running on 64 bit Windows 10.0.19045.0 with 32690 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.2.11
7/15/2026 10:42:36 AM: Critical error occurred
Loaded Mods: 
System.IO.FileNotFoundException: Could not load file or assembly 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. The system cannot find the file specified.
File name: 'PresentationFramework, Version=6.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Wpf.Platform.<>c.<AddTo>b__10_90()
   at Eto.Widget..ctor()
   at Eto.Forms.Application..ctor(InitHelper init)
   at Eto.Forms.Application..ctor(Platform platform)
   at VSPlatform.XPlatImpl.ShowMessageBox(String title, String text) in C:\Users\Tyron\Documents\vintagestory\game\XPlatformInterface\PlatformFormsImpl.cs:line 40
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Zaldaryon , Jul 15th at 3:00 PM
@pngwn: Thanks, that did work now. But I get this crash report when I click "Launch": Crash Report Running on 64 bit Windows 10.0.19045.0 with 32690 MB RAMGame Version: v1.22.3 (Stable) + Optimum v0.2.117/15/2026 10:42:36 AM: Critical error occurredLoaded Mods: S

Two separate problems stack on top of each other here, worth splitting apart.

The exception you're seeing, PresentationFramework, Version=6.0.2.0, is not an Optimum problem. Vintage Story renders its native popups (the "critical error" box) through Eto.Wpf, and Eto.Wpf needs the .NET 6.0 Desktop Runtime on Windows, a separate download from the plain .NET Runtime and from the .NET 10 SDK the Optimum installer pulls in for building. Without that Desktop Runtime installed, any code path that pops up a dialog throws this. Install the x64 .NET 6.0 Desktop Runtime from Microsoft and the crash goes away.

That popup had a message to show you, and it wasn't going to say "hi." The stack trace points at launchfailure-notcleaninstall, meaning the client's own clean-install check failed for RightInstallation before you got that far. I'm reading this off decompiled client code rather than the real source, so take the mechanism with a pinch of salt, but the check wants one version-*.txt marker in assets/ matching the running game version, version-1.22.3.txt, same version I flagged in my first reply. If you updated RightInstallation in place instead of extracting it fresh, and assets/ has a leftover marker file from an older version sitting next to the new one, the check trips.

Two fixes, in order: install the Desktop Runtime first, so the dialog can render at all. Then open RightInstallation\assets\ and remove any stray version-*.txt files, keep only version-1.22.3.txt. If the check flags the folder again after that, I'd trust a fresh extract of the vanilla 1.22.3 client into it over hand-fixing whatever state it's in now.

Zaldaryon , Jul 15th at 11:49 AM

** all bugs from below, specialy the error in patches one, should now be fixed in 0.2.11 **

Soddie, Jul 15th at 6:55 AM

Every version after 0.2.3 couldn't be installed and were only throwing errors, and I cannot use said version now because you can't install older versions when a new one gets released.         |
However from what I could test it worked flawlessly, I was rendering 320+ blocks without any noticeable drops in fps. By the way, I am getting the same errors as these people down here.    \/
Ty for making this, dude ^w^

ASaltRifgle, Jul 15th at 2:54 AM

error 

Spoiler
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.
Patches applied. Building optimized client...
    0 Error(s)
Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  6 self-reference error(s), output not written:
ERROR: Optimum.Patcher failed (exit code 1).
Spoiler
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.
Patches applied. Building optimized client...
    0 Error(s)
Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  6 self-reference error(s), output not written:
ERROR: Optimum.Patcher failed (exit code 1).
Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-2d341aa8
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-2d341aa8\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
Build succeeded.
    0 Error(s)
==PHASE== Assembling the final package...

Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  win-x64    Full      native build + local vanilla client

Patching VintagestoryLib.vanilla.dll...
  INJECTED TYPE: Optimum.OptimumInfo
  INJECTED TYPE: Optimum.OptimumUpdateChecker
  INJECTED TYPE: Optimum.EntityLightBatchBuffer
  INJECTED TYPE: Vintagestory.Client.NoObf.OptimumGreedyMeshEmitter
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumEntityShadowCull
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowCullDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightScale
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumBackgroundFpsLimit
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumPreciseFramePacing
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumAnimBlockLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowFarVegetation
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumWeatherWindThrottle
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumParticleDistanceGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLodDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightCache
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::GetOptimumLightRadius
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::HasLight
  INJECTED PROPERTY: Vintagestory.Client.NoObf.SystemRenderEntities::ShadowCullDistanceSq
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightBatchSize
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightMinimumSamples
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchBuffer
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightPreviousSampleCount
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderCacheDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderFailureLogged
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PublishOptimumEntityLightSample
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PrepareOptimumEntityLights
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::BeginOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::EndOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientChunk::OptimumReadLightBatch
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumSettingsInitialized
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumTimerResolutionRaised
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeBeginPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeEndPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumTimerResolution
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumOnProcessExit
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumFocusLostStopwatch
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiCompositeSettings::oButtonBounds
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::_AddOptimumTab
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumBackgroundFpsChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumFramePacingChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowCullChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumAnimBlockLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowFarVegChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumWeatherWindChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumParticleDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumOcclusionScaleChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightCacheChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityLightBatchChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityShaderCacheChanged
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchBlockTexturesLoaded
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchLevelFinalize
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchOwnPlayerData
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchFinalizeFrame
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyDownOpened
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyPress
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseDown
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseMove
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientFogColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientAmbientColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorHsvScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorRgbScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_daylightBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_colorGradingBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchViewVector
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::chunkOriginScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::centerPoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::edgePoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortYaw
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::currentOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::centerOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::edgeOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::MergeTesselatedChunkParts
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::populateTesselatedChunkPart
  INJECTED FIELD: Vintagestory.Client.NoObf.TesselatedChunkPart::optimumUseChiselLodDistance
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderOpaque3D(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderFrameShadows(1 params)
  PATCHED: Vintagestory.Client.NoObf.HudEntityNameTags::OnRenderGUI(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::RenderOpaque(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::OnMouseWheel(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::UpdateFreeMouse(0 params)
    INJECTED NESTED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects/<>O
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScanFramesSinceRefresh
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_cachedLightEntities
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lastLightScanPos
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratch
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchDistSq
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchCount
  PATCHED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::onBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientPlatformWindows::window_RenderFrame(1 params)
  PATCHED: Vintagestory.Client.GuiCompositeMainMenuLeft::Compose(0 params)
  PATCHED: Vintagestory.Client.NoObf.ParticlePoolQuads::SpawnParticles(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnBlockTexturesLoaded(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnLevelFinalize(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnOwnPlayerDataReceived(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnFinalizeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyPress(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseMove(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkCuller::CullInvisibleChunks(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateAmbient(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::setWaterColors(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateDaylight(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::updateColorGradingValues(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderSkyColor::OnRenderFrame3D(1 params)
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerY
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_listenerFramesSinceUpdate
  PATCHED: Vintagestory.Client.NoObf.SystemSoundEngine::OnRenderFrame(2 params)
  PATCHED: Vintagestory.Client.RenderAPIBase::RenderMultiTextureMesh(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselatorManager::OnBeforeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::AddTesselatedChunk(2 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddCenterToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddEdgeToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::UpdateForAtlasses(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::NowProcessChunk(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons_EdgeOnly(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildDecorPolygons(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::GetMeshPoolForPass(3 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunkPart::AddModelAndStoreLocation(8 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::CalculateVisibleFaces(4 params)
  PATCHED: Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes(2 params)
  PATCHED: Vintagestory.Client.ClientProgram::Main(1 params)
  PATCHED: Vintagestory.Common.CreativeTab::CreateSearchCache(1 params)
  HOOKED: Vintagestory.Client.NoObf.GuiCompositeSettings::ComposerHeader after EndIf ÔåÆ _AddOptimumTab (2 sites)

  Summary: 4 types, 86 members injected, 44/44 methods patched, 1 hooks.
System.Management.Automation.RemoteException
  6 self-reference error(s), output not written:
    Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::set_OptimumRenderScale(1 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRenderScaleChanged(2 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000

Done.
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Optimum.Patcher failed (exit code 1).

Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-2d341aa8
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-2d341aa8\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
Build succeeded.
    0 Error(s)
==PHASE== Assembling the final package...

Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  win-x64    Full      native build + local vanilla client

Patching VintagestoryLib.vanilla.dll...
  INJECTED TYPE: Optimum.OptimumInfo
  INJECTED TYPE: Optimum.OptimumUpdateChecker
  INJECTED TYPE: Optimum.EntityLightBatchBuffer
  INJECTED TYPE: Vintagestory.Client.NoObf.OptimumGreedyMeshEmitter
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumEntityShadowCull
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowCullDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightScale
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumBackgroundFpsLimit
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumPreciseFramePacing
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumAnimBlockLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowFarVegetation
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumWeatherWindThrottle
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumParticleDistanceGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLodDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightCache
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::GetOptimumLightRadius
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::HasLight
  INJECTED PROPERTY: Vintagestory.Client.NoObf.SystemRenderEntities::ShadowCullDistanceSq
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightBatchSize
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightMinimumSamples
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchBuffer
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightPreviousSampleCount
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderCacheDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderFailureLogged
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PublishOptimumEntityLightSample
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PrepareOptimumEntityLights
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::BeginOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::EndOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientChunk::OptimumReadLightBatch
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumSettingsInitialized
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumTimerResolutionRaised
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeBeginPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeEndPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumTimerResolution
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumOnProcessExit
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumFocusLostStopwatch
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiCompositeSettings::oButtonBounds
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::_AddOptimumTab
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumBackgroundFpsChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumFramePacingChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowCullChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumAnimBlockLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowFarVegChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumWeatherWindChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumParticleDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumOcclusionScaleChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightCacheChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityLightBatchChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityShaderCacheChanged
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchBlockTexturesLoaded
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchLevelFinalize
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchOwnPlayerData
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchFinalizeFrame
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyDownOpened
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyPress
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseDown
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseMove
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientFogColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientAmbientColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorHsvScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorRgbScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_daylightBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_colorGradingBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchViewVector
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::chunkOriginScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::centerPoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::edgePoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortYaw
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::currentOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::centerOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::edgeOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::MergeTesselatedChunkParts
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::populateTesselatedChunkPart
  INJECTED FIELD: Vintagestory.Client.NoObf.TesselatedChunkPart::optimumUseChiselLodDistance
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderOpaque3D(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderFrameShadows(1 params)
  PATCHED: Vintagestory.Client.NoObf.HudEntityNameTags::OnRenderGUI(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::RenderOpaque(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::OnMouseWheel(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::UpdateFreeMouse(0 params)
    INJECTED NESTED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects/<>O
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScanFramesSinceRefresh
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_cachedLightEntities
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lastLightScanPos
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratch
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchDistSq
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchCount
  PATCHED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::onBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientPlatformWindows::window_RenderFrame(1 params)
  PATCHED: Vintagestory.Client.GuiCompositeMainMenuLeft::Compose(0 params)
  PATCHED: Vintagestory.Client.NoObf.ParticlePoolQuads::SpawnParticles(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnBlockTexturesLoaded(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnLevelFinalize(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnOwnPlayerDataReceived(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnFinalizeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyPress(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseMove(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkCuller::CullInvisibleChunks(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateAmbient(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::setWaterColors(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateDaylight(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::updateColorGradingValues(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderSkyColor::OnRenderFrame3D(1 params)
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerY
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_listenerFramesSinceUpdate
  PATCHED: Vintagestory.Client.NoObf.SystemSoundEngine::OnRenderFrame(2 params)
  PATCHED: Vintagestory.Client.RenderAPIBase::RenderMultiTextureMesh(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselatorManager::OnBeforeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::AddTesselatedChunk(2 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddCenterToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddEdgeToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::UpdateForAtlasses(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::NowProcessChunk(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons_EdgeOnly(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildDecorPolygons(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::GetMeshPoolForPass(3 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunkPart::AddModelAndStoreLocation(8 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::CalculateVisibleFaces(4 params)
  PATCHED: Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes(2 params)
  PATCHED: Vintagestory.Client.ClientProgram::Main(1 params)
  PATCHED: Vintagestory.Common.CreativeTab::CreateSearchCache(1 params)
  HOOKED: Vintagestory.Client.NoObf.GuiCompositeSettings::ComposerHeader after EndIf ÔåÆ _AddOptimumTab (2 sites)

  Summary: 4 types, 86 members injected, 44/44 methods patched, 1 hooks.
System.Management.Automation.RemoteException
  6 self-reference error(s), output not written:
    Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::set_OptimumRenderScale(1 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRenderScaleChanged(2 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000

Done.
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Optimum.Patcher failed (exit code 1).

Zaldaryon , Jul 15th at 2:03 AM

** redownload 0.2.10, now v2 **

Cabbage717, Jul 15th at 2:10 AM
@Zaldaryon: ** redownload 0.2.10, now v2 **

Nice one, cleared the error for me, thanks for the updates 

DrWhoCares, Jul 15th at 2:15 AM
@Zaldaryon: ** redownload 0.2.10, now v2 **

Still got an error on my end.
Patches applied. Building optimized client...
    0 Error(s)
Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  6 self-reference error(s), output not written:
ERROR: Optimum.Patcher failed (exit code 1).

Spoiler
Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\DrWhoCares\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-f451bc93
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-f451bc93\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
Build succeeded.
    0 Error(s)
==PHASE== Assembling the final package...

Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  win-x64    Full      native build + local vanilla client

Patching VintagestoryLib.vanilla.dll...
  INJECTED TYPE: Optimum.OptimumInfo
  INJECTED TYPE: Optimum.OptimumUpdateChecker
  INJECTED TYPE: Optimum.EntityLightBatchBuffer
  INJECTED TYPE: Vintagestory.Client.NoObf.OptimumGreedyMeshEmitter
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumEntityShadowCull
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowCullDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightScale
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumBackgroundFpsLimit
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumPreciseFramePacing
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumAnimBlockLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowFarVegetation
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumWeatherWindThrottle
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumParticleDistanceGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLodDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightCache
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::GetOptimumLightRadius
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::HasLight
  INJECTED PROPERTY: Vintagestory.Client.NoObf.SystemRenderEntities::ShadowCullDistanceSq
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightBatchSize
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightMinimumSamples
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchBuffer
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightPreviousSampleCount
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderCacheDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderFailureLogged
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PublishOptimumEntityLightSample
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PrepareOptimumEntityLights
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::BeginOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::EndOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientChunk::OptimumReadLightBatch
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumSettingsInitialized
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumTimerResolutionRaised
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeBeginPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeEndPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumTimerResolution
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumOnProcessExit
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumFocusLostStopwatch
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiCompositeSettings::oButtonBounds
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::_AddOptimumTab
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumBackgroundFpsChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumFramePacingChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowCullChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumAnimBlockLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowFarVegChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumWeatherWindChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumParticleDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumOcclusionScaleChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightCacheChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityLightBatchChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityShaderCacheChanged
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchBlockTexturesLoaded
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchLevelFinalize
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchOwnPlayerData
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchFinalizeFrame
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyDownOpened
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyPress
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseDown
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseMove
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientFogColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientAmbientColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorHsvScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorRgbScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_daylightBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_colorGradingBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchViewVector
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::chunkOriginScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::centerPoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::edgePoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortYaw
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::currentOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::centerOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::edgeOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::MergeTesselatedChunkParts
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::populateTesselatedChunkPart
  INJECTED FIELD: Vintagestory.Client.NoObf.TesselatedChunkPart::optimumUseChiselLodDistance
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderOpaque3D(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderFrameShadows(1 params)
  PATCHED: Vintagestory.Client.NoObf.HudEntityNameTags::OnRenderGUI(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::RenderOpaque(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::OnMouseWheel(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::UpdateFreeMouse(0 params)
    INJECTED NESTED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects/<>O
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScanFramesSinceRefresh
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_cachedLightEntities
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lastLightScanPos
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratch
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchDistSq
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchCount
  PATCHED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::onBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientPlatformWindows::window_RenderFrame(1 params)
  PATCHED: Vintagestory.Client.GuiCompositeMainMenuLeft::Compose(0 params)
  PATCHED: Vintagestory.Client.NoObf.ParticlePoolQuads::SpawnParticles(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnBlockTexturesLoaded(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnLevelFinalize(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnOwnPlayerDataReceived(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnFinalizeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyPress(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseMove(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkCuller::CullInvisibleChunks(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateAmbient(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::setWaterColors(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateDaylight(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::updateColorGradingValues(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderSkyColor::OnRenderFrame3D(1 params)
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerY
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_listenerFramesSinceUpdate
  PATCHED: Vintagestory.Client.NoObf.SystemSoundEngine::OnRenderFrame(2 params)
  PATCHED: Vintagestory.Client.RenderAPIBase::RenderMultiTextureMesh(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselatorManager::OnBeforeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::AddTesselatedChunk(2 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddCenterToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddEdgeToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::UpdateForAtlasses(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::NowProcessChunk(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons_EdgeOnly(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildDecorPolygons(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::GetMeshPoolForPass(3 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunkPart::AddModelAndStoreLocation(8 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::CalculateVisibleFaces(4 params)
  PATCHED: Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes(2 params)
  PATCHED: Vintagestory.Client.ClientProgram::Main(1 params)
  PATCHED: Vintagestory.Common.CreativeTab::CreateSearchCache(1 params)
  HOOKED: Vintagestory.Client.NoObf.GuiCompositeSettings::ComposerHeader after EndIf ΓåÆ _AddOptimumTab (2 sites)

  Summary: 4 types, 86 members injected, 44/44 methods patched, 1 hooks.
System.Management.Automation.RemoteException
  6 self-reference error(s), output not written:
    Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::set_OptimumRenderScale(1 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRenderScaleChanged(2 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000

Done.
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Optimum.Patcher failed (exit code 1).

Spoiler

==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\DrWhoCares\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-f451bc93
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-f451bc93\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.1.8388
Decompiling Vintagestory.dll with ilspycmd: 10.1.1.8388
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPoolManager.cs.patch
  applied with -p0
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/Text/Richtext/SlideshowGridRecipeTextComponent.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderPrograms.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ShaderRegistry.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/ClientProgram.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityShapeRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Applying patches/VSSurvivalMod/Systems/TemporalStability/GearRenderer.cs.patch
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
Build succeeded.
    0 Error(s)
==PHASE== Assembling the final package...

Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
  win-x64    Full      native build + local vanilla client

Patching VintagestoryLib.vanilla.dll...
  INJECTED TYPE: Optimum.OptimumInfo
  INJECTED TYPE: Optimum.OptimumUpdateChecker
  INJECTED TYPE: Optimum.EntityLightBatchBuffer
  INJECTED TYPE: Vintagestory.Client.NoObf.OptimumGreedyMeshEmitter
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumEntityShadowCull
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowCullDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightScale
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumBackgroundFpsLimit
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumPreciseFramePacing
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumRepulsionDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumAnimBlockLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumShadowFarVegetation
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumWeatherWindThrottle
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumParticleDistanceGate
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLod
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumChiselLodDistance
  INJECTED PROPERTY: Vintagestory.Client.NoObf.ClientSettings::OptimumDynamicLightCache
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::GetOptimumLightRadius
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::HasLight
  INJECTED PROPERTY: Vintagestory.Client.NoObf.SystemRenderEntities::ShadowCullDistanceSq
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightBatchSize
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::OptimumEntityLightMinimumSamples
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchBuffer
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightPreviousSampleCount
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityLightBatchDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderCacheDisabled
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderEntities::optimumEntityShaderFailureLogged
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PublishOptimumEntityLightSample
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::PrepareOptimumEntityLights
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::BeginOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.SystemRenderEntities::EndOptimumEntityShaderSegment
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientChunk::OptimumReadLightBatch
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumSettingsInitialized
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumTimerResolutionRaised
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeBeginPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumTimeEndPeriod
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumTimerResolution
  INJECTED METHOD: Vintagestory.Client.NoObf.ClientPlatformWindows::OptimumOnProcessExit
  INJECTED FIELD: Vintagestory.Client.NoObf.ClientPlatformWindows::_optimumFocusLostStopwatch
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiCompositeSettings::oButtonBounds
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::_AddOptimumTab
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumBackgroundFpsChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumFramePacingChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowCullChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRepulsionDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumAnimBlockLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumShadowFarVegChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumWeatherWindChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumParticleDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumChiselLodDistChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumOcclusionScaleChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumDynLightCacheChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityLightBatchChanged
  INJECTED METHOD: Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumEntityShaderCacheChanged
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchBlockTexturesLoaded
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchLevelFinalize
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchOwnPlayerData
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchFinalizeFrame
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyDownOpened
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchKeyPress
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseDown
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseUp
  INJECTED FIELD: Vintagestory.Client.NoObf.GuiManager::_scratchMouseMove
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientFogColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_updateAmbientAmbientColorScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorHsvScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_waterColorRgbScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_daylightBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.AmbientManager::_colorGradingBlockPosScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchViewVector
  INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderSkyColor::_scratchPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::chunkOriginScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::centerPoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkRenderer::edgePoolLocationsScratch
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortPlayerPos
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselatorManager::_lastSortYaw
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::currentOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::centerOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED FIELD: Vintagestory.Client.NoObf.ChunkTesselator::edgeOptimumChiselModeldataByRenderPassByLodLevel
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::MergeTesselatedChunkParts
  INJECTED METHOD: Vintagestory.Client.NoObf.ChunkTesselator::populateTesselatedChunkPart
  INJECTED FIELD: Vintagestory.Client.NoObf.TesselatedChunkPart::optimumUseChiselLodDistance
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderOpaque3D(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderEntities::OnRenderFrameShadows(1 params)
  PATCHED: Vintagestory.Client.NoObf.HudEntityNameTags::OnRenderGUI(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::RenderOpaque(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::OnMouseWheel(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientMain::UpdateFreeMouse(0 params)
    INJECTED NESTED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects/<>O
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScanFramesSinceRefresh
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_cachedLightEntities
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lastLightScanPos
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratch
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchDistSq
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::_lightScratchCount
  PATCHED: Vintagestory.Client.NoObf.SystemRenderPlayerEffects::onBeforeRender(1 params)
  PATCHED: Vintagestory.Client.NoObf.ClientPlatformWindows::window_RenderFrame(1 params)
  PATCHED: Vintagestory.Client.GuiCompositeMainMenuLeft::Compose(0 params)
  PATCHED: Vintagestory.Client.NoObf.ParticlePoolQuads::SpawnParticles(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnBlockTexturesLoaded(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnLevelFinalize(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnOwnPlayerDataReceived(0 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnFinalizeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnKeyPress(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseDown(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseUp(1 params)
  PATCHED: Vintagestory.Client.NoObf.GuiManager::OnMouseMove(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkCuller::CullInvisibleChunks(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateAmbient(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::setWaterColors(0 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::UpdateDaylight(1 params)
  PATCHED: Vintagestory.Client.NoObf.AmbientManager::updateColorGradingValues(1 params)
  PATCHED: Vintagestory.Client.NoObf.SystemRenderSkyColor::OnRenderFrame3D(1 params)
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerY
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirX
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_lastListenerDirZ
    INJECTED FIELD: Vintagestory.Client.NoObf.SystemSoundEngine::_listenerFramesSinceUpdate
  PATCHED: Vintagestory.Client.NoObf.SystemSoundEngine::OnRenderFrame(2 params)
  PATCHED: Vintagestory.Client.RenderAPIBase::RenderMultiTextureMesh(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselatorManager::OnBeforeFrame(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkRenderer::AddTesselatedChunk(2 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddCenterToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunk::AddEdgeToPools(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::UpdateForAtlasses(1 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::NowProcessChunk(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildBlockPolygons_EdgeOnly(3 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::BuildDecorPolygons(5 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::GetMeshPoolForPass(3 params)
  PATCHED: Vintagestory.Client.NoObf.TesselatedChunkPart::AddModelAndStoreLocation(8 params)
  PATCHED: Vintagestory.Client.NoObf.ChunkTesselator::CalculateVisibleFaces(4 params)
  PATCHED: Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes(2 params)
  PATCHED: Vintagestory.Client.ClientProgram::Main(1 params)
  PATCHED: Vintagestory.Common.CreativeTab::CreateSearchCache(1 params)
  HOOKED: Vintagestory.Client.NoObf.GuiCompositeSettings::ComposerHeader after EndIf ΓåÆ _AddOptimumTab (2 sites)

  Summary: 4 types, 86 members injected, 44/44 methods patched, 1 hooks.
System.Management.Automation.RemoteException
  6 self-reference error(s), output not written:
    Vintagestory.Client.NoObf.ClientPlatformWindows::EnsureOptimumDefaults references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::set_OptimumRenderScale(1 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.GuiCompositeSettings::onOptimumRenderScaleChanged(2 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.GuiCompositeSettings::OnOptimumOptions references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000
    Vintagestory.Client.NoObf.ShaderRegistry::registerDefaultShaderCodePrefixes references missing or signature-mismatched method Vintagestory.Client.NoObf.ClientSettings::get_OptimumRenderScale(0 params) at IL_0000

Done.
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Optimum.Patcher failed (exit code 1).

PhobosIsDead, Jul 15th at 1:26 AM

Installed the 0.2.8 version today, everything was alright, then saw the 0.2.10 and tried to install and now it won't even bother to do it 

Log
==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Usuario\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-285df33b
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-285df33b\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: You are not using the latest version of the tool, please update.
flexioo, Jul 15th at 1:36 AM
@PhobosIsDead: Installed the 0.2.8 version today, everything was alright, then saw the 0.2.10 and tried to install and now it won't even bother to do it Log ==PHASE== Verifying tools...Using Vintage Story from: C:\Users\Usuario\AppData\Roaming\Vintagestory==PHASE== Sett

Seconding the issue. Trying to upgrade from 0.2.8 to 0.2.10, fails shortly after starting.

optimum-install-2026-07-15T0428.log
==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Vlad\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.10-4492753f
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.10-4492753f\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: You are not using the latest version of the tool, please update.
Zaldaryon , Jul 15th at 1:00 AM

** all bugs from below should now be fixed in 0.2.10 **

DrWhoCares, Jul 15th at 1:10 AM
@Zaldaryon: ** all bugs from below should now be fixed in 0.2.10 **

I had literally just installed 0.2.9 and then 5 minutes ago you released this update.
Now attempting to install the update failed with:
Patches: 57 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.
Patches applied. Building optimized client...
    0 Error(s)
Host: Windows - packaging capability [no native ARM client for Linux/Windows; x64 via emulation]
ERROR:

Cabbage717, Jul 14th at 11:08 PM

from a happy friendly approach :) im not sure is this is a issue on steam os/linux that stopping ilspycmd to install? like the script is unable to execute the command cause it missing or typo? 

 

Optimum-0.2.9/scripts/install-linux.sh: line 278: dotnet: command not found

Cabbage717, Jul 14th at 11:33 PM
@Zaldaryon: you're not installing dotnet 10. you need it. wget https://dot.net/v1/dotnet-install.shchmod +x dotnet-install.sh./dotnet-install.sh --channel 10.0 or something like that to steamos xD

yer i did all that mate, all good was just curious to help me figure it out, but i know its a me problem now hahaha, thank you for the help though :)

r0zemary, Jul 14th at 10:10 PM

If the program says you're not using the latest version of ilspycmd (on Windows, not sure about other platforms), you need to open a terminal window and then type "dotnet tool update -g ilspycmd"

Cabbage717, Jul 14th at 9:56 PM

same, i excuted sudo pacman -S dotnet-sdk all went well with that, but did not resolve the same error

Spoiler
Install missing tools? [Y/n] y
   Installing .NET 10 SDK...
dotnet-install: .NET Core SDK with version '10.0.302' is already installed.
    .NET 10 SDK installed
   Installing ilspycmd (decompiler)...
The command could not be loaded, possibly because:
 * You intended to execute a .NET application:
     The application 'tool' does not exist.
 * You intended to execute a .NET SDK command:
     A compatible .NET SDK was not found.

Requested SDK version: 10.0.100
global.json file: /home/deck/Downloads/Optimum-0.2.9/global.json

Installed SDKs:
9.0.108 [/usr/share/dotnet/sdk]

Install the [10.0.100] .NET SDK or update [/home/deck/Downloads/Optimum-0.2.9/global.json] to match an installed SDK.

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found
    Failed to install ilspycmd (decompiler)
ERROR: Could not install ilspycmd (decompiler). Install it and retry.
StickyJoe, Jul 14th at 9:44 PM

I am also having the issue while trying to update to 0.2.9

Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
ERROR: You are not using the latest version of the tool, please update.

NishaLabyrinthh, Jul 14th at 9:28 PM

im trying to install the 0.2.9 and it throws an error. 

Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
ERROR: You are not using the latest version of the tool, please update.

Zaldaryon , Jul 14th at 9:24 PM

** all bugs from below should now be fixed in 0.2.9 **

Cabbage717, Jul 14th at 8:47 PM

im on steam os

/home/deck/.var/app/at.vintagestory.VintageStory/config/VintagestoryData/Optimum-0.2.8/scripts/install-linux.sh: line 278: dotnet: command not found
    Failed to install ilspycmd (decompiler)
ERROR: Could not install ilspycmd (decompiler). Install it and retry.

i did try Suraix fix too, but im new to linux in general coming away from W11 :) so understand it could be my fault haha 

Zaldaryon , Jul 14th at 8:44 PM

damn. lemme fix that.

Suraix, Jul 14th at 7:29 PM (modified Jul 14th at 7:33 PM)

I just did find a fix for it

Open Optimium-0.2.8 folder

Open .config folder

Open dotnet-tools.json file in text editor

Change "version" to "10.1.1.8388"

And it should fix it. It works for me.

 

Edit: Also big thanks to author of this mod, it really did help me with my fps issues

Komako, Jul 14th at 6:41 PM

Installation fails with following log:

Spoiler!
==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Komako\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.8-4e46b74f
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.8-4e46b74f\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: You are not using the latest version of the tool, please update.

If i update ilspycmd, installer just reinstalls previous version then fails

Spoiler!
==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Komako\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-0.2.8-bd33b32d
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-0.2.8-bd33b32d\.vanilla\win-x64\vintagestory
ilspycmd 10.1.1.8388 does not match pinned 10.1.0.8386, reinstalling
Installing ilspycmd 10.1.0.8386
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: You are not using the latest version of the tool, please update.
Sorcelaine, Jul 14th at 6:38 PM

Came from trying out 0.1.0 release, was a bit skeptic being a new mod but the performance increase is HUGE.

Just recently updated to 0.2.7 about a week ago and it keeps getting better. It's great!

I'm running about 170 mods on my list, and on vanilla client the occasional huge freeze of ~3-4 seconds (which feels like an eternity) became a thing of the past, now I get a micro stutter on world start and that's it. Just wanted to say thanks and keep with the great work you're doing! :3

Zaldaryon , Jul 14th at 3:03 PM

** all bugs from below should now be fixed in 0.2.8 **

himei, Jul 14th at 11:02 AM

hello! i don't know why but when i launch a world, the settings resets my resolution to max and chugs a bit until i fiddle with max fps a few units up and down. nothing else within my settings seems to be affected. what could be causing the issue? the setting happens to save just fine but the resolution resets the moment i launch a world

LaliaRose, Jul 13th at 9:26 PM

Hi, I'd like to try this to help my little potato of a laptop deal with my chisel addiction but if this isn't installed in the mods folder, how do I unistall it if things don't go well? Thanks!

CoZzaBoZza, Jul 14th at 8:42 PM
@Zaldaryon: is you have windows, jut go in settings -> programs and uninstall from there.

Hey Mate, does that restore default Dlls? or do I update the base game to reinstall those?

LaliaRose, Jul 14th at 9:19 PM
@Zaldaryon: is you have windows, jut go in settings -> programs and uninstall from there.

Thank you! I figured it was something like that, but now I won't sweat it. Much apprecated!

HunterAFO298, Jul 13th at 11:12 AM

This somehow makes the stutters even worse for me? The logs show that sleep is to blame which is strange. I have no mods enabled.

Apart from this issue, the actual performance of the game is greatly improved :)

Shame I can't use it though :(

HunterAFO298, Jul 14th at 9:13 PM
@Zaldaryon: fixed in 0.2.8

Thanks for the update, however my issue was not fixed.

I get no stutters when standing still but I get a lot of stutters when the game first loads and when generating chunks.

It is amazing work you have done, the debug fps chart is completely flat :O (when there are no stutters)

ilonam, Jul 12th at 4:53 PM

This is great! My poor little laptop runs the game with 70 mods with a stable 100 fps. Used to get lag spikes but they're gone thanks to this.

ImpureSoul3, Jul 11th at 8:52 PM (modified Jul 11th at 8:54 PM)

https://github.com/StratumServer/Stratum/issues/141 the top thread is while running opti with stratum and i get an atlas/mip map error, i have a lot of textures so i have to turn my atlas up but when i join stratum it gives me this bug i can load opti and vanilla fine

ProrokFYNTK, Jul 11th at 8:24 PM (modified Jul 11th at 8:28 PM)

Hey, I've got 2 questions:

So this is basically OptiTime but it works as a standalone game "launcher" that is more extreme when it comes to optimization, and is less mod friendly?

If I want to use 259 content mods plus an LOD mod and a shader, I better stick to OptiTime?

edits: a bit of grammar and question no.2

PrinceSora, Jul 10th at 12:29 AM

Out of curiosity, would it be possible to implement HDR, similiar to https://mods.vintagestory.at/show/mod/46558?

yurajoh, Jul 9th at 8:31 AM

Looks like the LOD for VS Roofing blocks is just a mystery block and it activates at a pretty short range by default. Is it in scope at all to have the LOD be more accurate at all or would that be something the VS Roofing dev would have to include somehow?

I understand it's not really in your wheelhouse to fix random mod incompatibilities, this was the only glaring one I saw on a heavily modded server while I was running Optimum. Fantastic work!

yurajoh, Jul 10th at 6:22 PM
@Zaldaryon: Huh. the LOD should affect only chisel blocks. I should test it with vs roffing blocks to see what affects it.

Thinking about it now, I believe it might be due to the fact that VS Roofing blocks can hold chiseled blocks as their base which is why that's happening. The base block can be chiseled if it isn't already as well.

DinoYeOldy, Jul 8th at 6:02 PM (modified Jul 8th at 6:03 PM)

font changes on linux. Not a problem really just not used to it

Vanilla

https://imgur.com/a/5SoF35V

 

Optimum

https://imgur.com/a/xlylT6S

Zaldaryon , Jul 8th at 6:03 PM
@DinoYeOldy: font changes on linux. Not a problem really just not used to it Vanilla https://imgur.com/a/5SoF35V Optimum https://imgur.com/a/xlylT6S

the font didn't change. the button blocks are smaller vertically cause of the extra line about optimum above your username. :D

DinoYeOldy, Jul 8th at 8:04 PM
@Zaldaryon: the font didn't change. the button blocks are smaller vertically cause of the extra line about optimum above your username. :D

Not the font size but the font itself got more pointy. look at g in singleplayer or settings.

Zaldaryon , Jul 8th at 8:19 PM
@DinoYeOldy: Not the font size but the font itself got more pointy. look at g in singleplayer or settings.

true. Strange. I don't know why though. decompiling and recompiling might have done it.

DinoYeOldy, Jul 8th at 8:33 PM (modified Jul 8th at 8:33 PM)
@Zaldaryon: true. Strange. I don't know why though. decompiling and recompiling might have done it.

Searching through google it seems that optimum uses the correct font as it's the one used on windows. Just another weird linux quirk i guess. Or just my install

Zaldaryon , Jul 8th at 10:56 AM

** all bugs from below should now be fixed in 0.2.6 **

SirGuppy, Jul 8th at 2:58 AM (modified Jul 8th at 11:35 AM)

Temporary fix for Windows 0.2.5 install

Find: <wherever you extracted Optimum>\patches\Vintagestory\ClientLinux.cs.patch

Rename: ClientLinux.cs.patch to ClientLinux.cs.patch.disabled

 

------------
Edit:

If you renamed the patch to .disabled as a workaround, delete your Optimum source folder and install v0.2.6 fresh.

DepletedEntity, Jul 8th at 1:52 AM

New updates windows installer fails to patch with this being the patch that fails.

Applying patches/Vintagestory/ClientLinux.cs.patch
  FAILED: error: build/Vintagestory/Vintagestory/ClientLinux.cs: No such file or directory

metasynthie, Jul 8th at 1:55 AM
@DepletedEntity: New updates windows installer fails to patch with this being the patch that fails.Applying patches/Vintagestory/ClientLinux.cs.patch FAILED: error: build/Vintagestory/Vintagestory/ClientLinux.cs: No such file or directory

Also just encountered same error. Full log below.

 

Spoiler
==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Naomi\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\opt-bld\Optimum-6fc0f30e
==PHASE== Decompiling and patching the engine...
Using existing C:\opt-bld\Optimum-6fc0f30e\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/ClientLinux.cs.patch
  FAILED: error: build/Vintagestory/Vintagestory/ClientLinux.cs: No such file or directory
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.API.Common/EventHelper.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientWorldMap.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticleManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SvgLoader.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemClientTickingBlocks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Handbook/SurvivalHandbook.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Patches: 54 applied, 0 skipped, 1 failed (filter: all)
  patches/Vintagestory/ClientLinux.cs.patch
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: Decompile/patch step failed (bootstrap exit code 1). Check the lines above for the failing patch or file.
Zaldaryon , Jul 8th at 1:26 AM

** all bugs from below should now be fixed in 0.2.5 **

danish_doughnut, Jul 7th at 11:12 PM

This client works wonderfully. I get a very noticeable improvement in performance when playing with it, I barely even stutter anymore. One problem is that I'm getting the same CTD and error messages as Javidac. I can get it to happen consistently by switching to a light source. 

Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
   at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.AddPointLight(Byte[] lighthsv, EntityPos pos)
   at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.onBeforeRender(Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt)
   at Vintagestory.Client.ScreenManager.Render(Single dt)
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
   at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.AddPointLight(Byte[] lighthsv, EntityPos pos)
   at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.onBeforeRender(Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt)
   at Vintagestory.Client.ScreenManager.Render(Single dt)
   at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
   at OpenTK.Windowing.Desktop.GameWindow.Run()
   at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
   at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
   at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
ushkinaz, Jul 7th at 9:46 PM

Latest version generates much darker picture than vanilla. Also, I think there is no bloom.

No shader mods. All Optimum features disabled in settings


https://imgur.com/a/8WRtbVo

FatherLegDay, Jul 7th at 7:48 PM (modified Jul 7th at 7:53 PM)
Spoiler!

Running on 64 bit Windows 10.0.26200.0 with 31900 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.2.4
07/07/2026 20:26:49: Critical error occurred
Loaded Mods: walkingstick@3.0.9, antiqueensemble@1.1.6, hardcorewaterforked@1.4.6, awearablelight@1.2.2, bettercrates@1.10.0, woodlogstack64@1.5.0, blackguardadditions@1.1.9, catchledge@0.7.1, charlottesclothes@1.4.1, cbr@2.0.1, chiseltools@1.17.3, chonkyvessels@1.5.6, claimnavigator@1.2.0, clayworks@0.6.1, clearview@0.1.1, crawlanddive@0.2.5, elkaccessories@1.2.6, elstoneforge@1.0.5, elghal@1.0.5, elivory@1.0.4, elreikland@1.1.3, elsynthetic@1.0.2, eldraken@1.1.2, elshadowsp@1.0.3, eltrench@1.0.3, eternalstew@1.4.2, fieldwright@0.1.5, figurines@0.3.2, floralzonescaperegion@1.0.28, floralzonescaribbeanregion@1.0.23, floralzonescentralaustralianregion@1.0.20, floralzonescosmopolitanregion@1.0.11, floralzoneseastasiaticregion@1.0.19, floralzonesmediterraneanregion@1.0.19, floralzonesneozeylandicregion@1.0.19, fadynasties@1.2.9, fagothic@1.3.4, fagreenwich@1.4.5, fahussar@1.1.6, fajousting@1.0.5, falandsknecht@1.2.5, fatemplar@1.4.6, favarangian@1.1.0, faviking@1.1.6, forlornadditions@1.0.4, bovinae@0.3.5, capreolinae@2.0.13, cervinae@0.1.13, freelook@1.0.5, geoaddons@1.4.8, hydrateordiedrate@2.4.14, immersivefoliage@0.1.1, immersivequicklime@0.1.7, ithaniabackpacks@0.5.5, jsonpatcheslib@1.5.3, lbloodriders@1.0.0, longclaybricks@1.0.0, manualdishes@0.1.2, metalleaf@1.4.1, molds@0.3.6, morebanners@1.3.3, overhaullib@2.0.10, racialequalityexpanded@0.1.6, racialequality@0.1.28, reverence@1.1.1, shelfobsessed@2.1.5, spinningwheel@1.2.12, tankardsandgoblets@1.4.4, temporalwarden@0.1.1, temporaldoctor@1.0.0, temporalstormgear@1.0.1, temporalsymphony@2.3.2, terratag@0.5.0, trashbinned@0.4.2, valkyrjahair@3.0.0, valkyrjavesssels@1.0.0, vanillavarnished@1.0.6, vintagestorypresence@1.0.0, game@1.22.3, vsimgui@1.2.7, arthursjournal@2.0.5, witchhat@1.0.1, antiqueharmony@1.17.1, abyssaldepths@1.0.18, accessibilitytweaks@5.0.0, alchemy@2.1.0-rc.81, altmapiconrenderercontinued@1.6.0, ancientweaponry@1.2.0, animalcages@5.0.0, apebeams@1.2.0, apelanterns@1.4.0-pre.1, attributerenderinglibrary@3.1.5, betterdeathmessages@1.0.3, betterruins@0.6.3, billposting@2.0.2, biodiversity@1.1.4, boattags@1.2.2, butchering@1.13.5, carryon@1.14.2, cartwrightscaravan@1.9.1, changeclass@1.1.1, chestpreview@2.0.0, claimmap@1.3.0, claimsradar@1.1.1, climbmountain@0.2.4, clothierheirloomsmod@1.1.0, clothing@1.1.2, commonlibforked@2.8.1, configlib@1.12.0, coriaendershaders@1.2.2-pre.3, upgradablestorage@1.1.9, critcherscalculator@1.2.3, danatweaks@4.0.1, darkerwalnut@1.1.6, effortlesscurves@1.3.0, elkgoatskullmask@1.12.1, elkvariants@3.6.2, emotes@2.5.1, enhancedhandbook@1.8.1, entitynametag@2.6.0, envelopes@3.8.4, extrafurniture@1.1.2, extrainfo@2.2.1, fillmybloomery@1.0.3, floatingcombattext@2.0.0, foodshelves@3.0.4, fromgoldencombs@2.0.8, geologymap@1.1.0, groupui@1.0.0, herbarium@1.4.3, holyarmor@1.1.0, improvedhandbookrecipesfork@1222.0.2, ingamedevtools@0.4.2, itempickuphighlighter@1.3.0, itempickupnotifier@2.2.0, ithaniacannedgoods@2.0.7, jebsinventorytweaks@1.2.3, kevinsfurniture@1.9.0, mnflowers@1.0.0, mngeology@2.0.10, materialneeds@1.1.16, reyGearCrosshairMedium@1.0.1, mobsradar@3.0.0, morehudbars@1.2.0, mosswigs@1.5.1, noticeboard@2.0.2, opineuponpine@1.0.10, pandaxpdrops@0.0.1, particlesplus@2.5.8, pixelwaypoints@1.0.0, plantdivisionlite@1.0.0, playerlistrevived@2.3.8, playermodellib@1.23.0, claywheel@2.0.1, purposefulstorage@2.0.1, putitinthebag@1.0.4, quickcraft@1.0.22, radialmenu@1.0.3, recipesearchsmithclay@1.0.0, regalia@1.8.0, rivers@5.0.2, rpcharacterinfo@1.2.1, rpvoicechat@2.5.7, scaffolding@1.3.1, schematicaplus122@1.0.4, shadehouse@1.2.3, shipwright@1.4.1, slowtox@5.0.0, soundofaring@1.1.1, stackedtemporalgear@1.0.0, statushudcont@4.3.2, stonebakeoven@1.3.4, substrate@2.0.0, terratagrooms@0.1.1, improvedmetallurgy@1.1.8, thirdperson_crosshair@1.0.0, tlpath@3.0.1, toomanytabs@1.0.0, translocatorpaths@1.2.2, truethirdperson@1.0.0-dev.1, unbindhotkeys@1.0.1, uraniumexpanded@2.0.1, valrossensmapfilters@1.2.0, vanity@2.4.8, verticaltransport@1.0.2, vrterratagsounds@0.1.1, creative@1.22.3, vsinstrumentsbasetemp@2.0.8, vsserverpanel@0.5.3, survival@1.22.3, warmweathereffects@1.2.1, waypointer@1.2.0, windchimes@1.5.2, woodenfortifications@2.0.11, woodenshuttersandmore@1.3.3, xlibfork@1.0.21, antlershorns@1.5.1, vintagearachnoid@5.1.3, bdcrop@1.0.5, bdorchard@1.0.5, bdtree@1.1.0-pre.1, blushandbins@1.3.3, comfybeds@0.4.2, em@3.7.0, featherborn@0.12.4, fseraph@0.4.8, frogemod@1.0.9, goblinears@2.3.4, heraldry@2.0.0, kcsdragons@0.9.12, koboldrdx@1.4.11, lupines@0.2.10, mechaseraph@1.1.0, medievalarchitecture@1.1.1, orrukin@1.2.2, playercorpseforked@1.14.1, insectoid@0.0.48, rpdrifters@0.0.2, vintageskavenrat@1.6.8, skeletons@0.6.2, stonequarryforked@3.5.3, tailorsdelight@2.2.2, thebasics@5.5.0, underwaterhorrors@0.8.2, vintagerift@1.0.13, wildcraftfruit@1.4.72, wildcrafttree@1.3.3, wwaymarkers@1.0.4, xskillsfork@1.0.72, aldiclasses@2.2.2, bricklayers@3.2.2, dressmakers@1.8.0, heraldrybanners@2.0.0, capes@2.0.0, xskillsgilded@1.3.36, aldiclassesadvancedfeatures@2.1.1, xskillgildedxadlisclassesart@1.0.0
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.AddPointLight(Byte[] lighthsv, EntityPos pos)
at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.onBeforeRender(Single dt)
at Vintagestory.API.Client.DummyRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage) in VintagestoryApi\Client\API\IClientEventAPI.cs:line 88
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt)
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime)
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt)
at Vintagestory.Client.ScreenManager.Render(Single dt)
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 01/07/2026 03:13:40, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x93dc
Faulting application start time: 0x1dd08fac949953b
Faulting application path: C:\Users\madas\AppData\Roaming\VintageStory1.22\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\madas\AppData\Roaming\VintageStory1.22\Vintagestory\Lib\openal32.dll
Report Id: b6a1e117-a0f4-4131-8d5b-540da38c1286
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 01/07/2026 03:13:24, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: KERNELBASE.dll, version: 10.0.26100.8737, time stamp: 0x82bf07fa
Exception code: 0xe0434352
Fault offset: 0x00000000000c1c0a
Faulting process id: 0x93dc
Faulting application start time: 0x1dd08fac949953b
Faulting application path: C:\Users\madas\AppData\Roaming\VintageStory1.22\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 8e074fc7-8c8e-4e9e-a86f-6b9980468957
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 30/06/2026 01:32:41, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x3910
Faulting application start time: 0x1dd082787ab31ee
Faulting application path: C:\Users\madas\AppData\Roaming\VintageStory1.22\Vintagestory\Vintagestory.exe
Faulting module path: C:\Users\madas\AppData\Roaming\VintageStory1.22\Vintagestory\Lib\openal32.dll
Report Id: 8a67e439-44eb-4de6-847e-0f9d5c059d56
Faulting package full name:
Faulting package-relative application ID: }

I don't 100% know if this crash is related to optimum but it stopped crashing after using a client installation without optimum installed so figured I would report it 🤷‍♂️

 

Happened after coming out of a TL while playing an instrument, repeated crashing until using a client without optimum, swapped back and it is now fine.

Vinni_Pukh, Jul 7th at 4:07 PM

I know this is probably obvious but I have a peanut brain so I'm just gonna ask someone smart for clarifiction :D

I'm using VS Launcher on Linux (CachyOS) to run my vintage story install, but I'm very curious to try this out. How would I go about getting these two to work together, or is it even possible?

Zaldaryon , Jul 7th at 6:36 PM
@Vinni_Pukh: I know this is probably obvious but I have a peanut brain so I'm just gonna ask someone smart for clarifiction :D I'm using VS Launcher on Linux (CachyOS) to run my vintage story install, but I'm very curious to try this out. How would I go about getting

it decompiles the source, apply the patches and install in a directory completely separated, so all the dlls and exes are not touching each other. You can configure it to use the same mods and configs as vanilla, or a completely separated data path.

the install-linux.sh guides you.

Javidac, Jul 7th at 3:10 PM

Im getting a CTD for vintage story after using the mod for a few hours,
It just suddently decided that it did *not* want to work properly after working just fine for the better part of 3 hours straight with no issue. Restarts doesnt help it either; it seems to consistently crash now.

Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.AddPointLight(Byte[] lighthsv, EntityPos pos)
at Vintagestory.Client.NoObf.SystemRenderPlayerEffects.onBeforeRender(Single dt)
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt)
at Vintagestory.Client.ScreenManager.Render(Single dt)
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
JustaKobold, Jul 7th at 3:03 PM

So is this a better version of Optitime?

Zaldaryon , Jul 7th at 6:37 PM
@JustaKobold: So is this a better version of Optitime?

yes! this is optitime embedded into the vanilla itself, plus some other optimizations that using harmony patching would not be good enough.

Zaldaryon , Jul 7th at 1:28 PM

** all bugs from below should now be fixed in 0.2.4 **

TakenMyName, Jul 7th at 12:01 PM

seems that the installer is having trouble detecting my .NET 10 install :/

AgentOfChaos, Jul 7th at 4:29 AM (modified Jul 7th at 4:33 AM)

still coming up with the open gl error. somthings going wrong when its compileing the blr.vsh shader file. is somthing wrong with my pc or somthing? 

 

Crash Report

5.7.2026 18:23:55 [Notification] Client logger started.
5.7.2026 18:23:55 [Notification] Game Version: v1.22.3 (Stable) + Optimum v0.2.1
5.7.2026 18:23:55 [Notification] Process path: C:\Games\Optimum\Optimum.exe
5.7.2026 18:23:55 [Notification] Operating System: Windows 10.0.26200.0
5.7.2026 18:23:55 [Notification] CPU Cores: 16
5.7.2026 18:23:55 [Notification] CPU: 13th Gen Intel(R) Core(TM) i7-13620H
5.7.2026 18:23:55 [Notification] Available RAM: 48771 MB
5.7.2026 18:23:57 [Notification] OpenAL Initialized. Available Mono/Stereo Sources: 255/1
5.7.2026 18:23:57 [Notification] Graphics Card Vendor: NVIDIA Corporation
5.7.2026 18:23:57 [Notification] Graphics Card Version: 4.3.0 NVIDIA 595.97
5.7.2026 18:23:57 [Notification] Graphics Card Renderer: NVIDIA GeForce RTX 4070 Laptop GPU/PCIe/SSE2
5.7.2026 18:23:57 [Notification] Graphics Card ShadingLanguageVersion: 4.30 NVIDIA via Cg compiler
5.7.2026 18:23:57 [Notification] GL.MaxVertexUniformComponents: 4096
5.7.2026 18:23:57 [Notification] GL.MaxUniformBlockSize: 65536
5.7.2026 18:23:57 [Notification] C# Framework: .net 10.0.9
5.7.2026 18:23:57 [Notification] Cairo Graphics Version: 1.17.3
5.7.2026 18:23:57 [Notification] OpenAL Version: 1.1 ALSOFT 1.23.0
5.7.2026 18:23:57 [Notification] Zstd Version: 1.5.7
5.7.2026 18:23:57 [Notification] Start discovering assets
5.7.2026 18:23:57 [Notification] Found 34 base assets in category lang
5.7.2026 18:23:57 [Notification] Found 0 base assets in category patches
5.7.2026 18:23:57 [Notification] Found 24 base assets in category config
5.7.2026 18:23:57 [Notification] Found 0 base assets in category worldproperties
5.7.2026 18:23:57 [Notification] Found 49 base assets in category sounds
5.7.2026 18:23:57 [Notification] Found 230 base assets in category shapes
5.7.2026 18:23:57 [Notification] Found 84 base assets in category shaders
5.7.2026 18:23:57 [Notification] Found 19 base assets in category shaderincludes
5.7.2026 18:23:57 [Notification] Found 182 base assets in category textures
5.7.2026 18:23:57 [Notification] Found 4 base assets in category music
5.7.2026 18:23:57 [Notification] Found 0 base assets in category dialog
5.7.2026 18:23:57 [Notification] Found 626 base assets in total
5.7.2026 18:23:57 [Notification] Loading sounds
5.7.2026 18:23:57 [Notification] (Re-)loaded frame buffers
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass .
5.7.2026 18:23:57 [Notification] Waiting for async sound loading...
5.7.2026 18:23:57 [Notification] Sounds loaded
5.7.2026 18:23:57 [Notification] Begin loading shaders
5.7.2026 18:23:57 [Notification] Load shaders now
5.7.2026 18:23:57 [Notification] Loading shaders...
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass standard.
5.7.2026 18:23:57 [Notification] Shader standard: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistanceLod0, depthOffset, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass particlescube.
5.7.2026 18:23:57 [Notification] Shader particlescube: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass particlesquad.
5.7.2026 18:23:57 [Notification] Shader particlesquad: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, fogSpheres, fogSphereQuantity, particleTex, lightPosition, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass sky.
5.7.2026 18:23:57 [Notification] Shader sky: Uniform locations for variables rgbaAmbientIn, shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, glitchStrengthFL, pointLights, pointLightColors, pointLightQuantity, playerPos, lightPosition, shadowIntensity, shadowMapFar, shadowMapWidthInv, shadowMapHeightInv, shadowMapNear, glitchStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass nightsky.
5.7.2026 18:23:57 [Notification] Shader nightsky: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, glitchStrengthFL, pointLights, pointLightColors, pointLightQuantity, fogSpheres, fogSphereQuantity, rgbaFog, horizonFog, playerToSealevelOffset, fogDensityIn, fogMinIn, lightPosition, shadowIntensity, shadowMapFar, shadowMapWidthInv, shadowMapHeightInv, shadowMapNear, windWaveCounter, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass woittest.
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass transparentcompose.
5.7.2026 18:23:57 [Notification] Shader transparentcompose: Uniform locations for variables accumulation, Array not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass debugdepthbuffer.
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass helditem.
5.7.2026 18:23:57 [Notification] Shader helditem: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, fogSpheres, fogSphereQuantity not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass chunkopaque.
5.7.2026 18:23:57 [Notification] Shader chunkopaque: Uniform locations for variables subpixelPaddingX, subpixelPaddingY, shadowRangeNear, toShadowMapSpaceMatrixNear, shadowMapNear not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass chunkliquid.
5.7.2026 18:23:57 [Notification] Shader chunkliquid: Uniform locations for variables playerViewVec, subpixelPaddingX, subpixelPaddingY, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistanceLod0, windWaveCounterHighFreq, globalWarpIntensity, glitchWaviness, sunColor, lightPosition, shadowMapNear, glitchStrength, waterMurkColor not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass decals.
5.7.2026 18:23:57 [Notification] Shader decals: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0 not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass final.
5.7.2026 18:23:57 [Notification] Shader final: Uniform locations for variables sunPosScreenIn, sunPos3dIn, playerViewVector, godrayParts not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass gui.
5.7.2026 18:23:57 [Notification] Shader gui: Uniform locations for variables flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, glitchStrengthFL, nightVisionStrength, pointLights, pointLightColors, pointLightQuantity, fogSpheres, fogSphereQuantity not found (or not used).
5.7.2026 18:23:57 [Error] Shader compile error in blur.vsh (0) : error C0000: syntax error, unexpected $end at token "<EOF>"
5.7.2026 18:23:57 [Notification] DebugSeverityHigh DebugTypeError | GL_INVALID_VALUE error generated. Program handle does not refer to an object generated by OpenGL.
5.7.2026 18:23:58 [Fatal] Game Version: v1.22.3 (Stable) + Optimum v0.2.1
7/5/2026 6:23:58 PM: Critical error occurred
Loaded Mods:
System.Exception: GL_INVALID_VALUE error generated. Program handle does not refer to an object generated by OpenGL.
at Vintagestory.Client.NoObf.ClientPlatformWindows.DebugCallback(DebugSource source, DebugType type, Int32 id, DebugSeverity severity, Int32 length, IntPtr message, IntPtr userParam)
at OpenTK.Graphics.OpenGL.GL.GetUniformLocation(Int32 program, String name)
at Vintagestory.Client.NoObf.ClientPlatformWindows.GetUniformLocation(ShaderProgram program, String name)
at Vintagestory.Client.NoObf.ShaderProgram.Compile()
at Vintagestory.Client.NoObf.ShaderRegistry.loadRegisteredShaderPrograms()
at Vintagestory.Client.NoObf.ShaderRegistry.Load()
at Vintagestory.Client.ScreenManager.DoGameInitStage2()
at Vintagestory.Client.GuiScreenLoadingGame.RenderToDefaultFramebuffer(Single dt)
at Vintagestory.Client.ScreenManager.Render(Single dt)
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
at OpenTK.Windowing.Desktop.GameWindow.OnRenderFrame(FrameEventArgs args)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Crash written to file at "C:\Users\temporary\AppData\Roaming\VintagestoryData\Logs\client-crash.log"

5.7.2026 18:23:58 [Notification] Exiting game now. Server running=False. Exit reason: Game crashed

Kaaryu, Jul 7th at 3:38 AM

Huzzah! Tried the newest update with Arch Linux and the install works flawlessly now. Thank you so much for the updates. After using Optimum for a while I can safely say this will be kept forever. It helps my fps stay steady, it helps massively with my stutters and everything is working flawlessly. Thank you for your excellent work!

Nielsbohrd, Jul 7th at 4:30 AM
@Kaaryu: Huzzah! Tried the newest update with Arch Linux and the install works flawlessly now. Thank you so much for the updates. After using Optimum for a while I can safely say this will be kept forever. It helps my fps stay steady, it helps massively with my st

Same here for Arch Linux. However, I had to tinker with the Makefile to fix the JSON encoding around lines 90-110 to get it to work. Additionally, the game crashes when I try to open the settings menu. Logs attached.

Crash Report
Game Version: v1.22.3 (Stable) + Optimum v0.2.3
07/07/2026 12:27:09: Critical error occurred
Loaded Mods: walkingsticklite@1.0.0, chiseltools@1.17.3, combatrebalance@1.5.0, landformoverhaul@1.0.4, drtagx@1.3.0, immersivequicklime@0.1.7, indappledgroves@3.0.1-rc.5, kilnshelves@1.1.8, primitivesurvival@5.0.6, simpletankards@1.0.0, spinningwheel@1.2.12, temporalsymphony@2.3.2, game@1.22.3, vsimgui@1.2.7, zoombuttonreborn@2.0.2, aculinaryartillery@2.0.0-dev.21, egocaribautomapmarkers@5.0.3, bearsshiftyearth@1.2.0, betterhandbook@1.0.8, betterruins@0.6.3, bloodtrail@1.2.4, butchering@1.13.5, buzzwords@1.8.2, carryonlib@1.0.0-pre.7, configlib@1.12.0, elkphysics@3.0.3, fairfish@2.0.0, fishingconfig@1.6.0, foodshelves@3.0.4, handbookdeclutterer@2.0.1, hudclockpatch@4.4.1, immersivecorpsedrop@1.0.4, immersivebackpackoverhaul@0.9.2, knitting@2.0.3, lowergrassoverlay@1.0.0, optitime@1.5.14, particlesplus@2.5.8, placeonslabs@1.1.3, claywheel@2.0.1, primitivebackpacks@1.1.3, purposefulstorage@2.0.1, realisticwater@0.3.0, realsmoke@1.3.1, rivers@5.0.2, slowtox@5.0.0, stackscoolslower@1.1.1, stringsense@2.4.0, toolsmith@1.2.17, creative@1.22.3, survival@1.22.3, warmweathereffects@1.2.1, waterfall@1.2.4, watersheds@6.4.3, wildbeerangeextender@1.0.1, wilderlandstheweightbelow@1.0.3, autoconfiglib@2.0.10, bagconfig@0.1.4, carryon@2.0.0-pre.7, expandedfoods@2.0.0-dev.12, terrainslabs@1.0.16, efchefstricks@1.0.0-dev.3, efmealsmodule@1.0.0-dev.5
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation.
---> System.ArgumentException: An item with the same key has already been added. Key: optimum
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Vintagestory.API.Client.GuiComposer.AddInteractiveElement(GuiElement element, String key) in VintagestoryApi/Client/UI/GuiComposer.cs:line 795
at Vintagestory.API.Client.GuiComposerHelpers.AddToggleButton(GuiComposer composer, String text, CairoFont font, Action`1 onToggle, ElementBounds bounds, String key) in VintagestoryApi/Client/UI/Elements/Impl/Interactive/Controls/GuiElementToggleButton.cs:line 290
at Vintagestory.Client.NoObf.GuiCompositeSettings._AddOptimumTab(GuiComposer c)
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab)
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on)
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu()
at Vintagestory.Client.NoObf.GuiScreenSettings..ctor(ScreenManager screenManager, GuiScreen parentScreen)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
--- End of inner exception stack trace ---
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
at System.Reflection.MethodBaseInvoker.InvokeWithFewArgs(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture)
at Vintagestory.Client.ScreenManager.LoadAndCacheScreen(Type screenType)
at Vintagestory.Client.GuiCompositeMainMenuLeft.OnSettings()
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi/Client/UI/Elements/Impl/Interactive/Controls/GuiElementTextButton.cs:line 320
at Vintagestory.API.Client.GuiElement.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi/Client/UI/Elements/Impl/GuiElement.cs:line 743
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi/Client/UI/Elements/Impl/Interactive/Controls/GuiElementTextButton.cs:line 310
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi/Client/UI/GuiComposer.cs:line 448
at Vintagestory.Client.GuiCompositeMainMenuLeft.OnMouseUp(MouseEvent e)
at GuiScreen.OnMouseUp(MouseEvent e)
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e)
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
System.ArgumentException: An item with the same key has already been added. Key: optimum
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Vintagestory.API.Client.GuiComposer.AddInteractiveElement(GuiElement element, String key) in VintagestoryApi/Client/UI/GuiComposer.cs:line 795
at Vintagestory.API.Client.GuiComposerHelpers.AddToggleButton(GuiComposer composer, String text, CairoFont font, Action`1 onToggle, ElementBounds bounds, String key) in VintagestoryApi/Client/UI/Elements/Impl/Interactive/Controls/GuiElementToggleButton.cs:line 290
at Vintagestory.Client.NoObf.GuiCompositeSettings._AddOptimumTab(GuiComposer c)
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab)
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on)
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu()
at Vintagestory.Client.NoObf.GuiScreenSettings..ctor(ScreenManager screenManager, GuiScreen parentScreen)
at System.Reflection.MethodBaseInvoker.InterpretedInvoke_Constructor(Object obj, IntPtr* args)
at System.Reflection.MethodBaseInvoker.InvokeDirectByRefWithFewArgs(Object obj, Span`1 copyOfArgs, BindingFlags invokeAttr)
Nekonserva, Jul 6th at 9:22 PM

Yay! 0.2.3 installs and works just fine!
Is there a reason to run serverside on Optimum btw?

SisterPankake, Jul 6th at 8:08 PM (modified Jul 6th at 8:09 PM)

After much tinkering with the -VsPath variable and attempting to integrate Optimum's installation folder into a mod managers version list

(StoryForge) I have given up.  Still going to use Optimum, just going to move everything into its data folders instead of the other way around.  I understand this is a strange use case, but it would be super helpful if the github wiki had a more clear explanation of the parameters you can pass into the compiling scripts.  Impressed with your code and effort, sending you nothing but encouragement to keep contributing to the community in such a big way.  Maybe I'll try digging into it in the future, anyways Thanks :D

ChaosComando, Jul 6th at 5:10 PM

Zaldaryon, I just want to give you props for trying to fix these issues as quickly as possible and eventually fixing them. Also tested the latest version, and it works. Thank you for such a wonderful mod. :)

Zaldaryon , Jul 6th at 5:00 PM

** ok, 0.2.3 v2 updated **

metasynthie, Jul 6th at 5:15 PM
@Zaldaryon: ** ok, 0.2.3 v2 updated **

I regret to tell you that the 0.2.3 v2 installer is throwing an error dialog before the build even begins:

 

Optimum Installer

Unhandled exception has occurred in a component in your application. If you click Continue, the application will ignore this error and attempt to continue.


Method invocation failed because [System.Windows.Forms.TextBox] does not contain a method named 'Add_VScroll'.

Attempting to continue does not install, installing again results in same error.

Full details below.

 

Spoiler

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.Management.Automation.RuntimeException: Method invocation failed because [System.Windows.Forms.TextBox] does not contain a method named 'Add_VScroll'.
at System.Management.Automation.ExceptionHandlingOps.CheckActionPreference(FunctionContext funcContext, Exception exception)
at System.Management.Automation.Interpreter.ActionCallInstruction`2.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.EnterTryCatchFinallyInstruction.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.Interpreter.Run(InterpretedFrame frame)
at System.Management.Automation.Interpreter.LightLambda.RunVoid1[T0](T0 arg0)
at System.Management.Automation.ScriptBlock.InvokeWithPipeImpl(ScriptBlockClauseToInvoke clauseToInvoke, Boolean createLocalScope, Dictionary`2 functionsToDefine, List`1 variablesToDefine, ErrorHandlingBehavior errorHandlingBehavior, Object dollarUnder, Object input, Object scriptThis, Pipe outputPipe, InvocationInfo invocationInfo, Object[] args)
at System.Management.Automation.ScriptBlock.<>c__DisplayClass57_0.<InvokeWithPipe>b__0()
at System.Management.Automation.Runspaces.RunspaceBase.RunActionIfNoRunningPipelinesWithThreadCheck(Action action)
at System.Management.Automation.ScriptBlock.InvokeWithPipe(Boolean useLocalScope, ErrorHandlingBehavior errorHandlingBehavior, Object dollarUnder, Object input, Object scriptThis, Pipe outputPipe, InvocationInfo invocationInfo, Boolean propagateAllExceptionsToTop, List`1 variablesToDefine, Dictionary`2 functionsToDefine, Object[] args)
at System.Management.Automation.ScriptBlock.InvokeAsDelegateHelper(Object dollarUnder, Object dollarThis, Object[] args)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


************** Loaded Assemblies **************
mscorlib
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9310.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.NET/Framework64/v4.0.30319/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.ConsoleHost
Assembly Version: 3.0.0.0
Win32 Version: 10.0.22621.6133
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.ConsoleHost/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.ConsoleHost.dll
----------------------------------------
System
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9320.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System/v4.0_4.0.0.0__b77a5c561934e089/System.dll
----------------------------------------
System.Core
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9316.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Core/v4.0_4.0.0.0__b77a5c561934e089/System.Core.dll
----------------------------------------
System.Management.Automation
Assembly Version: 3.0.0.0
Win32 Version: 10.0.22621.6133
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management.Automation/v4.0_3.0.0.0__31bf3856ad364e35/System.Management.Automation.dll
----------------------------------------
System.Management
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Management/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Management.dll
----------------------------------------
System.DirectoryServices
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9282.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.DirectoryServices/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.DirectoryServices.dll
----------------------------------------
System.Xml
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Xml/v4.0_4.0.0.0__b77a5c561934e089/System.Xml.dll
----------------------------------------
System.Configuration
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.dll
----------------------------------------
System.Data
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9214.0 built by: NET481REL1LAST_B
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Data/v4.0_4.0.0.0__b77a5c561934e089/System.Data.dll
----------------------------------------
Anonymously Hosted DynamicMethods Assembly
Assembly Version: 0.0.0.0
Win32 Version: 4.8.9310.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/mscorlib/v4.0_4.0.0.0__b77a5c561934e089/mscorlib.dll
----------------------------------------
Microsoft.PowerShell.Security
Assembly Version: 3.0.0.0
Win32 Version: 10.0.22621.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Security/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Security.dll
----------------------------------------
System.Transactions
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Transactions/v4.0_4.0.0.0__b77a5c561934e089/System.Transactions.dll
----------------------------------------
Microsoft.Management.Infrastructure
Assembly Version: 1.0.0.0
Win32 Version: 10.0.22621.1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.Management.Infrastructure/v4.0_1.0.0.0__31bf3856ad364e35/Microsoft.Management.Infrastructure.dll
----------------------------------------
System.Numerics
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Numerics/v4.0_4.0.0.0__b77a5c561934e089/System.Numerics.dll
----------------------------------------
Microsoft.PowerShell.Commands.Management
Assembly Version: 3.0.0.0
Win32 Version: 10.0.22621.2506
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Management/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Management.dll
----------------------------------------
System.Configuration.Install
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Configuration.Install/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Configuration.Install.dll
----------------------------------------
Microsoft.PowerShell.Commands.Utility
Assembly Version: 3.0.0.0
Win32 Version: 10.0.22621.2506
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Microsoft.PowerShell.Commands.Utility/v4.0_3.0.0.0__31bf3856ad364e35/Microsoft.PowerShell.Commands.Utility.dll
----------------------------------------
System.Windows.Forms
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9251.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Windows.Forms/v4.0_4.0.0.0__b77a5c561934e089/System.Windows.Forms.dll
----------------------------------------
System.Drawing
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Drawing/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Drawing.dll
----------------------------------------
Accessibility
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9032.0 built by: NET481REL1
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/Accessibility/v4.0_4.0.0.0__b03f5f7f11d50a3a/Accessibility.dll
----------------------------------------
System.Web.Extensions
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9316.0
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_MSIL/System.Web.Extensions/v4.0_4.0.0.0__31bf3856ad364e35/System.Web.Extensions.dll
----------------------------------------
System.Web
Assembly Version: 4.0.0.0
Win32 Version: 4.8.9316.0 built by: NET481REL1LAST_C
CodeBase: file:///C:/Windows/Microsoft.Net/assembly/GAC_64/System.Web/v4.0_4.0.0.0__b03f5f7f11d50a3a/System.Web.dll
----------------------------------------

************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.

For example:

<configuration>
<system.windows.forms jitDebugging="true" />
</configuration>

When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.

metasynthie, Jul 6th at 5:17 PM
@Zaldaryon: ** ok, 0.2.3 v2 updated **

Same error occurs with the just uploaded 0.2.3 v3, sorry :(

metasynthie, Jul 6th at 6:21 PM
@Zaldaryon: ok, try v4.

Success this time! Thank you for your hard work doing so many releases.

AgentOfChaos, Jul 6th at 4:54 PM

still finding that the blr.vsh file is still corrupted from decompileing it. multiple reinstalls of the game and optimum, to no success

EthelVril, Jul 6th at 4:34 PM

Trying to install, a blank window with no text saying license agreement pops up, I can't do anything to get past it, seems bugged.
Got this error right before as well
************** Exception Text **************
System.ArgumentException: File format is not valid.
at System.Windows.Forms.RichTextBox.StreamIn(Stream data, Int32 flags)
at System.Windows.Forms.RichTextBox.StreamIn(String str, Int32 flags)
at System.Windows.Forms.RichTextBox.set_Rtf(String value)
at System.Windows.Forms.RichTextBox.OnHandleCreated(EventArgs e)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.TextBoxBase.WndProc(Message& m)
at System.Windows.Forms.RichTextBox.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

BMotB, Jul 6th at 3:21 PM

Error when installing via install-linux.sh

Replacing encoding='utf-8' with encoding='utf-8-sig' in the Python section of stage 5c in package-linux.sh seems to fix the issue.

Crash Report

Staging /tmp/tmp.ik6kPoEiHZ/Optimum-v0.2.3-linux-x64
Traceback (most recent call last):
File "<string>", line 4, in <module>
File "/usr/lib/python3.12/json/__init__.py", line 293, in load
return loads(fp.read(),
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/json/__init__.py", line 335, in loads
raise JSONDecodeError("Unexpected UTF-8 BOM (decode using utf-8-sig)",
json.decoder.JSONDecodeError: Unexpected UTF-8 BOM (decode using utf-8-sig): line 1 column 1 (char 0)

Zaldaryon , Jul 6th at 3:13 PM

** all bugs from below should now be fixed in 0.2.3 **

DefiledFaun, Jul 6th at 2:59 PM

getting the same Failed to build error on 0.2.2 as the other folks

ushkinaz, Jul 6th at 1:44 PM

0.2.2 upgrade failed

Spoiler
==PHASE== Verifying tools...
Using Vintage Story from: C:\Games\VintageStory
==PHASE== Setting up build workspace...
Build dir: C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9
==PHASE== Decompiling and patching the engine...
Using existing C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
FAILED: error: patch failed: VintagestoryApi/Config/GameVersion.cs:38
error: VintagestoryApi/Config/GameVersion.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.API.Common/EventHelper.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientWorldMap.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticleManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SvgLoader.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemClientTickingBlocks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Patches: 52 applied, 0 skipped, 1 failed (filter: all)
patches/VintagestoryApi/Config/GameVersion.cs.patch
==PHASE== Building Optimum (this takes a moment)...
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(106,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(115,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(123,29): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(130,17): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Client\Render\FrustumCulling.cs(159,48): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Client\Render\FrustumCulling.cs(161,43): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
Build FAILED.
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(106,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(115,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(123,29): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(130,17): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Client\Render\FrustumCulling.cs(159,48): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\Client\Render\FrustumCulling.cs(161,43): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\Gamer\AppData\Local\Temp\Optimum-build-57e27789e8ad4fd9ab2dc4d409c730a9\VintagestoryApi\VintagestoryAPI.csproj]
6 Error(s)
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: dotnet build failed (exit code 1).
ChaosComando, Jul 6th at 1:36 PM

I am trying to run this on cachyOS and version 0.2.2 linux install is giving me a "make[1]: *** [Makefile:60: bootstrap] Error 1" causing "make[1]: Leaving directory '/home/chaoscommando/Optimum'" which causes the error "make: *** [Makefile:63: build] Error 2" making it fail to create "/home/chaoscommando/.local/share/optimum/optimum-launch.sh"

RoastCabose, Jul 6th at 1:36 PM

Just for caution's sake, what's the process for uninstalling? I assume it would be something like reinstalling Vintage Story, or else creating backups of the DLLs it replaces.

 

Something indicating this in the description would be nice. This looks looks great, I really want to try it.

Zaldaryon , Jul 6th at 1:40 PM
@RoastCabose: Just for caution's sake, what's the process for uninstalling? I assume it would be something like reinstalling Vintage Story, or else creating backups of the DLLs it replaces. Something indicating this in the description would be nice. This looks looks gr

in windows, you can use the default uninstall option from the programs settings. and it doesn't replace VS, it uses a completely different folder, so your vanilla instalation is untouched. Also there is a full wiki in https://github.com/Zaldaryon/Optimum/wiki (also a tab in this mod.)

ushkinaz, Jul 6th at 1:32 PM

image

An issue with temperature - "°C". It does not exist in vanilla.

Zaldaryon , Jul 6th at 12:58 PM (modified Jul 6th at 12:59 PM)
** all bugs from below should now be fixed in 0.2.2 **
metasynthie, Jul 6th at 2:01 PM
@Zaldaryon: ** all bugs from below should now be fixed in 0.2.2 ** ** all bugs from below should now be fixed in 0.2.2 **

0.2.2 build is failing for me after patches, with errors that say it can't find OptimumConfig and OptimumDiagnostics

Spoiler
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
FAILED: error: patch failed: VintagestoryApi/Config/GameVersion.cs:38
error: VintagestoryApi/Config/GameVersion.cs: patch does not apply
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.API.Common/EventHelper.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientWorldMap.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticleManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SvgLoader.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemClientTickingBlocks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Common/CreativeTab.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Patches: 52 applied, 0 skipped, 1 failed (filter: all)
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Client\Render\FrustumCulling.cs(159,48): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Client\Render\FrustumCulling.cs(161,43): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(106,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(115,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(123,29): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(130,17): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
Build FAILED.
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Client\Render\FrustumCulling.cs(159,48): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Client\Render\FrustumCulling.cs(161,43): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(106,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(115,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(123,29): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\Common\Model\Animation\AnimationUtil.cs(130,17): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [C:\Users\[USERACCT]\AppData\Local\Temp\Optimum-build-50afa104f7424daa9f57afb50b7c9706\VintagestoryApi\VintagestoryAPI.csproj]
6 Error(s)
ERROR: dotnet build failed (exit code 1).
silverknyaz, Jul 6th at 9:24 AM

can confirm i am also getting the thread crash on 0.2.1

Mollycoddle, Jul 6th at 7:54 AM

How would I go about getting this to patch the save/etc build that I am running through MystiVaid's launcher?

Kassey, Jul 6th at 4:24 AM

I've been also getting the Thread crash and i THINK it could be caused because of of this

Crash Report
5.7.2026 22:15:13 [Fatal] Caught unhandled exception in thread 'chunkculling'. Exiting game.
5.7.2026 22:15:14 [Error] Exception: Field not found: 'Vintagestory.Client.NoObf.ClientWorldMap.chunksLock'.
at MonoMod.Core.Interop.CoreCLR.V60.InvokeCompileMethod(IntPtr functionPtr, IntPtr thisPtr, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at MonoMod.Core.Platforms.Runtimes.Core60Runtime.JitHookDelegateHolder.CompileMethodHook(IntPtr jit, IntPtr corJitInfo, CORINFO_METHOD_INFO* methodInfo, UInt32 flags, Byte** nativeEntry, UInt32* nativeSizeOfCode)
at Vintagestory.Client.NoObf.ChunkCuller.CullInvisibleChunks()
at Vintagestory.Client.NoObf.ChunkCuller.CullInvisibleChunks()
at Vintagestory.Client.NoObf.ClientThread.Update()
at Vintagestory.Client.NoObf.ClientThread.Process()
SirGuppy, Jul 6th at 2:27 AM (modified Jul 6th at 2:49 AM)

Crash on world load after multiple reinstalls of 0.2.1
No mods, brand new reinstall. 
"Client Thread Crash" 
I can keep playing if I dont click the crash window, but chunkculling is apparently broken.
Also, using a seperate data folder is not working.

---- Rolled back to 0.2.0 with no errors on world load

makeitcool, Jul 6th at 8:10 AM
@SirGuppy: Crash on world load after multiple reinstalls of 0.2.1No mods, brand new reinstall. "Client Thread Crash" I can keep playing if I dont click the crash window, but chunkculling is apparently broken.Also, using a seperate data folder is not working.---- Rol

Yup same here.

 

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 31801 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.2.1
7/6/2026 1:07:49 AM: Critical error occurred in the following mod: smithingplus@1.9.0-rc.1
Loaded Mods: catchlivestock@0.2.4, chickenfeed@1.1.12, duncansgrass@1.0.1, goatfeed@1.0.0, millwright@1.3.3, molds@0.3.3, monsternuggetdrops@1.4.0, primitivesurvival@5.0.6, prospecttogether@2.2.1, translocatorengineeringredux@1.6.6, game@1.22.3, aculinaryartillery@2.0.0-dev.21, animalcages@5.0.0, bedspawnv2@1.7.1, bettererprospecting@3.3.3, betterfirepit@1.2.0, betterloot@2.0.2, betterruins@0.6.3, bettertraders@0.2.0, butchering@1.13.4, buzzwords@1.8.2, carryonlib@1.0.0-pre.4, cartwrightscaravan@1.9.1, commonlib@2.8.0, extrainfo@2.2.1, fromgoldencombs@2.0.7, herbarium@1.4.2-rc.1, mobsradar@3.0.0, ndlwoodentorchholder@3.0.2, pigfeed@1.0.10, rivers@5.0.1, rpvoicechat@2.5.7, smithingplus@1.9.0-rc.1, statushudcont@4.3.1, th3dungeon@1.0.0, creative@1.22.3, survival@1.22.3, webstotwine@1.20.1, carryon@2.0.0-pre.4, expandedfoods@2.0.0-dev.12, playercorpse@1.12.0, wildcraftfruit@1.4.7
Involved Harmony IDs: extrainfo
System.NullReferenceException: Object reference not set to an instance of an object.
at SmithingPlus.ToolRecovery.CollectibleBehaviorRepairableTool.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in /_/SmithingPlus/ToolRecovery/CollectibleBehaviorRepairableTool.cs:line 33
at Vintagestory.API.Common.CollectibleObject.GetHeldItemInfo_Patch2(CollectibleObject this, ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo)
at Vintagestory.API.Common.Item.GetHeldItemInfo(ItemSlot inSlot, StringBuilder dsc, IWorldAccessor world, Boolean withDebugInfo) in VintagestoryApi\Common\Collectible\Item\Item.cs:line 82
at Vintagestory.API.Common.ItemStack.GetDescription(IWorldAccessor world, ItemSlot inSlot, Boolean debug) in VintagestoryApi\Common\Collectible\ItemStack.cs:line 401
at Vintagestory.Common.CreativeTab.CreateSearchCache(IWorldAccessor world)
at Vintagestory.Common.CreativeTabs.CreateSearchCache(IWorldAccessor world)
at Vintagestory.Client.NoObf.GuiDialogInventory.<OnOwnPlayerDataReceived>b__6_0()
at Vintagestory.API.Common.TyronThreadPool.<>c__DisplayClass11_0.<QueueTask>b__0(Object _) in VintagestoryApi\Common\TyronThreadPool.cs:line 119
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart()
at System.Threading.Thread.StartCallback()

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 7/3/2026 1:39:31 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x4a08
Faulting application start time: 0x01dd0b2bddda8678
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 013f206d-699c-4c98-9d3b-a7aa0209af91
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/3/2026 1:37:37 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x5074
Faulting application start time: 0x01dd0b2b03f43c8e
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 84f997bd-7d22-4d7d-aa71-26de6296f974
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 6/16/2026 8:34:21 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: KERNELBASE.dll, version: 10.0.19041.6280, time stamp: 0x56511854
Exception code: 0xc0000005
Fault offset: 0x0000000000025369
Faulting process id: 0x29b8
Faulting application start time: 0x01dcfe0a1d16ecd5
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 3d6a7ac3-5918-46ac-bfa2-046fb90b7e25
Faulting package full name:
Faulting package-relative application ID: }

AgentOfChaos, Jul 6th at 1:49 AM (modified Jul 6th at 3:50 AM)

trying to use this, get a crash and somthing wrong with opengl. open it and crashes right away. i also have vs launcher, but that should effect anything as long as its installed in a diffrent folder, right? even tried 0.2.0 and does the same thing. on further digging it seems some shader

file blur.vsh is causing it

 

 

 

Crash Report

5.7.2026 18:23:55 [Notification] Client logger started.
5.7.2026 18:23:55 [Notification] Game Version: v1.22.3 (Stable) + Optimum v0.2.1
5.7.2026 18:23:55 [Notification] Process path: C:\Games\Optimum\Optimum.exe
5.7.2026 18:23:55 [Notification] Operating System: Windows 10.0.26200.0
5.7.2026 18:23:55 [Notification] CPU Cores: 16
5.7.2026 18:23:55 [Notification] CPU: 13th Gen Intel(R) Core(TM) i7-13620H
5.7.2026 18:23:55 [Notification] Available RAM: 48771 MB
5.7.2026 18:23:57 [Notification] OpenAL Initialized. Available Mono/Stereo Sources: 255/1
5.7.2026 18:23:57 [Notification] Graphics Card Vendor: NVIDIA Corporation
5.7.2026 18:23:57 [Notification] Graphics Card Version: 4.3.0 NVIDIA 595.97
5.7.2026 18:23:57 [Notification] Graphics Card Renderer: NVIDIA GeForce RTX 4070 Laptop GPU/PCIe/SSE2
5.7.2026 18:23:57 [Notification] Graphics Card ShadingLanguageVersion: 4.30 NVIDIA via Cg compiler
5.7.2026 18:23:57 [Notification] GL.MaxVertexUniformComponents: 4096
5.7.2026 18:23:57 [Notification] GL.MaxUniformBlockSize: 65536
5.7.2026 18:23:57 [Notification] C# Framework: .net 10.0.9
5.7.2026 18:23:57 [Notification] Cairo Graphics Version: 1.17.3
5.7.2026 18:23:57 [Notification] OpenAL Version: 1.1 ALSOFT 1.23.0
5.7.2026 18:23:57 [Notification] Zstd Version: 1.5.7
5.7.2026 18:23:57 [Notification] Start discovering assets
5.7.2026 18:23:57 [Notification] Found 34 base assets in category lang
5.7.2026 18:23:57 [Notification] Found 0 base assets in category patches
5.7.2026 18:23:57 [Notification] Found 24 base assets in category config
5.7.2026 18:23:57 [Notification] Found 0 base assets in category worldproperties
5.7.2026 18:23:57 [Notification] Found 49 base assets in category sounds
5.7.2026 18:23:57 [Notification] Found 230 base assets in category shapes
5.7.2026 18:23:57 [Notification] Found 84 base assets in category shaders
5.7.2026 18:23:57 [Notification] Found 19 base assets in category shaderincludes
5.7.2026 18:23:57 [Notification] Found 182 base assets in category textures
5.7.2026 18:23:57 [Notification] Found 4 base assets in category music
5.7.2026 18:23:57 [Notification] Found 0 base assets in category dialog
5.7.2026 18:23:57 [Notification] Found 626 base assets in total
5.7.2026 18:23:57 [Notification] Loading sounds
5.7.2026 18:23:57 [Notification] (Re-)loaded frame buffers
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass .
5.7.2026 18:23:57 [Notification] Waiting for async sound loading...
5.7.2026 18:23:57 [Notification] Sounds loaded
5.7.2026 18:23:57 [Notification] Begin loading shaders
5.7.2026 18:23:57 [Notification] Load shaders now
5.7.2026 18:23:57 [Notification] Loading shaders...
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass standard.
5.7.2026 18:23:57 [Notification] Shader standard: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistanceLod0, depthOffset, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass particlescube.
5.7.2026 18:23:57 [Notification] Shader particlescube: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass particlesquad.
5.7.2026 18:23:57 [Notification] Shader particlesquad: Uniform locations for variables shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, fogSpheres, fogSphereQuantity, particleTex, lightPosition, shadowMapNear, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass sky.
5.7.2026 18:23:57 [Notification] Shader sky: Uniform locations for variables rgbaAmbientIn, shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0, glitchStrengthFL, pointLights, pointLightColors, pointLightQuantity, playerPos, lightPosition, shadowIntensity, shadowMapFar, shadowMapWidthInv, shadowMapHeightInv, shadowMapNear, glitchStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass nightsky.
5.7.2026 18:23:57 [Notification] Shader nightsky: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, glitchStrengthFL, pointLights, pointLightColors, pointLightQuantity, fogSpheres, fogSphereQuantity, rgbaFog, horizonFog, playerToSealevelOffset, fogDensityIn, fogMinIn, lightPosition, shadowIntensity, shadowMapFar, shadowMapWidthInv, shadowMapHeightInv, shadowMapNear, windWaveCounter, glitchStrength, psychedelicStrength not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass woittest.
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass transparentcompose.
5.7.2026 18:23:57 [Notification] Shader transparentcompose: Uniform locations for variables accumulation, Array not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass debugdepthbuffer.
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass helditem.
5.7.2026 18:23:57 [Notification] Shader helditem: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, fogSpheres, fogSphereQuantity not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass chunkopaque.
5.7.2026 18:23:57 [Notification] Shader chunkopaque: Uniform locations for variables subpixelPaddingX, subpixelPaddingY, shadowRangeNear, toShadowMapSpaceMatrixNear, shadowMapNear not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass chunkliquid.
5.7.2026 18:23:57 [Notification] Shader chunkliquid: Uniform locations for variables playerViewVec, subpixelPaddingX, subpixelPaddingY, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistanceLod0, windWaveCounterHighFreq, globalWarpIntensity, glitchWaviness, sunColor, lightPosition, shadowMapNear, glitchStrength, waterMurkColor not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass decals.
5.7.2026 18:23:57 [Notification] Shader decals: Uniform locations for variables shadowRangeFar, toShadowMapSpaceMatrixFar, shadowRangeNear, toShadowMapSpaceMatrixNear, viewDistance, viewDistanceLod0 not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass final.
5.7.2026 18:23:57 [Notification] Shader final: Uniform locations for variables sunPosScreenIn, sunPos3dIn, playerViewVector, godrayParts not found (or not used).
5.7.2026 18:23:57 [Notification] Loaded Shaderprogramm for render pass gui.
5.7.2026 18:23:57 [Notification] Shader gui: Uniform locations for variables flatFogDensity, flatFogStart, viewDistance, viewDistanceLod0, glitchStrengthFL, nightVisionStrength, pointLights, pointLightColors, pointLightQuantity, fogSpheres, fogSphereQuantity not found (or not used).
5.7.2026 18:23:57 [Error] Shader compile error in blur.vsh (0) : error C0000: syntax error, unexpected $end at token "<EOF>"
5.7.2026 18:23:57 [Notification] DebugSeverityHigh DebugTypeError | GL_INVALID_VALUE error generated. Program handle does not refer to an object generated by OpenGL.
5.7.2026 18:23:58 [Fatal] Game Version: v1.22.3 (Stable) + Optimum v0.2.1
7/5/2026 6:23:58 PM: Critical error occurred
Loaded Mods:
System.Exception: GL_INVALID_VALUE error generated. Program handle does not refer to an object generated by OpenGL.
at Vintagestory.Client.NoObf.ClientPlatformWindows.DebugCallback(DebugSource source, DebugType type, Int32 id, DebugSeverity severity, Int32 length, IntPtr message, IntPtr userParam)
at OpenTK.Graphics.OpenGL.GL.GetUniformLocation(Int32 program, String name)
at Vintagestory.Client.NoObf.ClientPlatformWindows.GetUniformLocation(ShaderProgram program, String name)
at Vintagestory.Client.NoObf.ShaderProgram.Compile()
at Vintagestory.Client.NoObf.ShaderRegistry.loadRegisteredShaderPrograms()
at Vintagestory.Client.NoObf.ShaderRegistry.Load()
at Vintagestory.Client.ScreenManager.DoGameInitStage2()
at Vintagestory.Client.GuiScreenLoadingGame.RenderToDefaultFramebuffer(Single dt)
at Vintagestory.Client.ScreenManager.Render(Single dt)
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt)
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e)
at OpenTK.Windowing.Desktop.GameWindow.OnRenderFrame(FrameEventArgs args)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs)
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1()
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start)
Crash written to file at "C:\Users\temporary\AppData\Roaming\VintagestoryData\Logs\client-crash.log"

5.7.2026 18:23:58 [Notification] Exiting game now. Server running=False. Exit reason: Game crashed

Zaldaryon , Jul 5th at 11:55 PM

** all bugs from below should now be fixed in 0.2.1 **

Permarin1, Jul 6th at 12:01 AM
@Zaldaryon: ** all bugs from below should now be fixed in 0.2.1 **

what game version does this work for? its not stated on the files or on the modpage. thanks.

Zaldaryon , Jul 6th at 1:00 PM
@Permarin1: what game version does this work for? its not stated on the files or on the modpage. thanks.

this was done for 1.22.3, and for now it's only that.

Kamudo, Jul 5th at 1:06 PM

Soooo if I installed the 0.1.2 version, do I have to reinstall the entire thing as 0.2.0 or can I just install in the same directory and overwrite the files for updates? I don't mess with powershell too often. 

propaneko, Jul 5th at 9:08 AM

the `./scripts/install-linux.sh` builded what he needed but never moved or unpacked the files to the `.local/share` directory Im using CachyOS

Solidude, Jul 5th at 6:59 AM

Yeah you done gud. Real gud.
Hope you have a way to stay sane with all these hyperspecific bug reports.
Thanks a lot.

silverknyaz, Jul 5th at 2:12 AM (modified Jul 5th at 2:12 AM)

using this client, full blocks directly under Eco Machina's trees are invisible: https://imgur.com/a/E4aeCaR

CaveSalamander, Jul 5th at 7:07 PM
@silverknyaz: using this client, full blocks directly under Eco Machina's trees are invisible: https://imgur.com/a/E4aeCaR

Seeing the same behaviour on my client too (0.2.0), I'm thinking maybe it assumes tree logs are always a full block and "optimizes" out the block surface we wouldn't see without eco machina.

Phaax, Jul 4th at 10:16 PM

Hi,

 

Attempting to install on MacOS. I appear to get a Bootstrap error 1 after post-decompile fixups and the Optimum app does appear to generate.  

 

I'm not sure if this is something I've missed or a reportable error. I'm not particularly cluey with Mac but I'm definately interested in giving any mod/coding that could potentially optimise MacOS performance a go.

 

Thanks

 

Spoiler!

Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386

Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386

Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4

Cloning Cairo at b5a93a4

Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2

Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c

Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59

Applying post-decompile fixups...

sed: 1: "/Users/XXXXXX/Do ...": command a expects \ followed by text

make: *** [bootstrap] Error 1

XXXXX@MacBookPro Optimum-0.2.0 %

Afaeyer, Jul 4th at 10:14 PM

Tried to use the windows installer but it fails everytime with the same results

optimum-install-2026-07-04T1508.log

==PHASE== Verifying tools...
Using Vintage Story from: G:\Vintage Story
==PHASE== Setting up build workspace...
Build dir: C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c
==PHASE== Decompiling and patching the engine...
Using existing C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/Render/DefaultShaderUniforms.cs.patch
Applying patches/VintagestoryApi/Client/Render/FrustumCulling.cs.patch
Applying patches/VintagestoryApi/Client/Render/PerceptionEffects/PsychedelicPerceptionEffect.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Entity/EntityPos.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Datastructures/UniqueQueue.cs.patch
Applying patches/VintagestoryApi/Math/ColorUtil.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/AmbientManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkCuller.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientWorldMap.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticleManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemClientTickingBlocks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderSkyColor.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunk.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/TesselatedChunkPart.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/RenderAPIBase.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs.patch
Applying patches/VSSurvivalMod/Entities/EntityPlayerBot.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Patches: 50 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package AnimatedGif. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\Cairo\Cairo.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package AnimatedGif. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
Build FAILED.
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package AnimatedGif. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSCreativeMod\VSCreativeMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintagestoryApi\VintagestoryAPI.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\Cairo\Cairo.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package Newtonsoft.Json. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSEssentials\VSEssentialsMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.GraphicsLibraryFramework. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package protobuf-net. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\VintagestoryLib\VintagestoryLib.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\build\Vintagestory\Vintagestory.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package SkiaSharp. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK.Windowing.Desktop. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package Microsoft.Data.Sqlite.Core. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package VSImGui. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package AnimatedGif. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VSSurvivalMod\VSSurvivalMod.csproj : error NU1101: Unable to find package OpenTK. No packages exist with this id in source(s): Microsoft Visual Studio Offline Packages [C:\Users\Local_User\AppData\Local\Temp\Optimum-build-a06ed8c4abbc400a9d3b634808afd63c\VintageStory.slnx]
47 Error(s)
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: dotnet build failed (exit code 1).

 

Really not sure what I'm doing wrong; all the prerequisites are green and I'm not writing to a protected folder.

jogus, Jul 4th at 10:00 PM (modified Jul 4th at 10:16 PM)

i get a crash whenver i try to make a waypoint? to be fair i'm playing on a world with a bunch of mods. it also crashes still when opening the options menu in game. otherwise the preformance enchancements are amazing

Crash Report
nvolved Harmony IDs: mwi.gui.patch
System.ArgumentNullException: Asset Data is null. Is the asset loaded? (Parameter 'svgAsset')
at Vintagestory.Client.NoObf.SvgLoader.rasterizeSvg(IAsset svgAsset, Int32 textureWidth, Int32 textureHeight, Int32 width, Int32 height, Nullable`1 color) in build\VintagestoryLib\Vintagestory.Client.NoObf\SvgLoader.cs:line 118
at Vintagestory.Client.NoObf.SvgLoader.DrawSvg(IAsset svgAsset, ImageSurface intoSurface, Matrix matrix, Int32 posx, Int32 posy, Int32 width, Int32 height, Nullable`1 color) in build\VintagestoryLib\Vintagestory.Client.NoObf\SvgLoader.cs:line 57
at Vintagestory.Client.NoObf.GuiAPI.DrawSvg(IAsset svgAsset, ImageSurface intoSurface, Matrix matrix, Int32 posx, Int32 posy, Int32 width, Int32 height, Nullable`1 color) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiAPI.cs:line 65
at Vintagestory.GameContent.WaypointMapLayer.<>c__DisplayClass18_1.<.ctor>b__2(Context ctx, Int32 x, Int32 y, Single w, Single h, Double[] rgba) in VSEssentials\Systems\WorldMap\WaypointLayer\WaypointMapLayer.cs:line 120
at Vintagestory.API.Client.IconUtil.DrawIconInt(Context cr, String type, Int32 x, Int32 y, Single width, Single height, Double[] rgba) in VintagestoryApi\Client\UI\IconUtil.cs:line 124
at Vintagestory.API.Client.GuiElementIconListPicker.DrawElement(String icon, Context ctx, ImageSurface surface) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementIconListPicker.cs:line 24
at Vintagestory.API.Client.GuiElementElementListPickerBase`1.ComposeElements(Context ctx, ImageSurface surface) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementElementListPickerBase.cs:line 67
at Vintagestory.API.Client.GuiComposer.Compose(Boolean focusFirstElement) in VintagestoryApi\Client\UI\GuiComposer.cs:line 362
at Vintagestory.GameContent.GuiDialogAddWayPoint.ComposeDialog_Patch2(GuiDialogAddWayPoint this)
at Vintagestory.GameContent.GuiDialogAddWayPoint.TryOpen() in VSEssentials\Systems\WorldMap\WaypointLayer\GuiDialogAddWayPoint.cs:line 67
at Vintagestory.GameContent.GuiDialogWorldMap.OnMouseUp(MouseEvent args) in VSEssentials\Systems\WorldMap\GuiDialogWorldMap.cs:line 401
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiManager.cs:line 369
at Vintagestory.Client.NoObf.ClientMain.UpdateMouseButtonState(EnumMouseButton button, Boolean down) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientMain.cs:line 2039
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientPlatformWindows.cs:line 3675
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 330
at Vintagestory.Client.ClientProgram.<>c__DisplayClass11_0.<.ctor>b__1() in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 125
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in build\VintagestoryLib\Vintagestory.ClientNative\CrashReporter.cs:line 67
Mendall, Jul 4th at 8:32 PM (modified Jul 4th at 8:34 PM)

wanted to give this a try but when installing I get this error "ERROR: Vintage Story version mismatch: found 1.21.7, Optimum 0.2.0 requires 1.22.3. Update or reinstall VS 1.22.3." problem is I am running 1.22.3.

I'm sure it is just finding an old install or something and I would be happy to point it in the right direction. But it gives me no option to try.This is my version imageclipped right from game screen

Kaaryu, Jul 4th at 6:41 PM (modified Jul 4th at 7:02 PM)

Tried the new Linux Install unfortuntely it still not working for me, i get this. **edit: the appimage method in the readme does work though.

Spoiler
Optimum Installer
 High-performance client for Vintage Story
 ────────────────────────────────────────────


 PREREQUISITES

     .NET 10 SDK (10.0.109)
     git (2.55.0)
     curl
     python3
     perl
     tar
     ilspycmd (ilspycmd: 10.1.0.8386
ICSharpCode.Decompiler: 10.1.0.8386)

 INSTALL OPTIONS

   Install directory [/home/XXXXXX/.local/share/optimum]:  
   Separate data folder? (leave blank for default) [~/.config/OptimumVintagestoryData]:  
   Create application menu entry? [Y/n] y
   Create desktop shortcut? [y/N] n

 SUMMARY

   Install to:    /home/XXXXXX/.local/share/optimum
   Menu entry:    yes
   Desktop icon:  no

   Proceed? [Y/n] y

Downloading https://cdn.vintagestory.at/gamefiles/stable/vs_client_linux-x64_1.22.3.tar.gz
 % Total    % Received % Xferd  Average Speed  Time    Time    Time   Current
                                Dload  Upload  Total   Spent   Left   Speed
100 590.1M 100 590.1M   0      0 89.50M      0   00:06   00:06         92.87M
make[1]: *** [Makefile:60: bootstrap] Error 128
make: *** [Makefile:63: build] Error 2
Error: build output not found. Run: dotnet build VintageStory.slnx -c Release
ERROR: Linux package folder not found under /tmp/tmp.HGIff0i9se
Kaaryu, Jul 4th at 6:53 PM
@Kaaryu: Tried the new Linux Install unfortuntely it still not working for me, i get this. **edit: the appimage method in the readme does work though. Spoiler Optimum Installer High-performance client for Vintage Story ────────────────────────────────────────────

whoops forgot to set the directory folder name still fails but with a much longer log

Spoiler

Optimum Installer
High-performance client for Vintage Story
────────────────────────────────────────────


PREREQUISITES

✓ .NET 10 SDK (10.0.109)
✓ git (2.55.0)
✓ curl
✓ python3
✓ perl
✓ tar
✓ ilspycmd (ilspycmd: 10.1.0.8386
ICSharpCode.Decompiler: 10.1.0.8386)

INSTALL OPTIONS

Install directory [/home/XXXXXX/.local/share/optimum]: dir
Separate data folder? (leave blank for default) [~/.config/OptimumVintagestoryData]:
Create application menu entry? [Y/n] y
Create desktop shortcut? [y/N] y

SUMMARY

Install to: /home/XXXXXX/Downloads/Optimum-0.2.0/scripts/dir
Menu entry: yes
Desktop icon: yes

Proceed? [Y/n] y

make: *** [Makefile:64: build] Error 1
ERROR: Package dir not found: ==> Building Optimum...
unset Platform; dotnet build VintageStory.slnx -c Release
Determining projects to restore...
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/Cairo.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/build/Vintagestory/Vintagestory.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/VSCreativeMod/VSCreativeMod.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/VSEssentials/VSEssentialsMod.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj (in 164 ms).
Restored /home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj (in 164 ms).
/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/util/SurfaceDrawImage.cs(58,48): warning CS0618: 'SKFilterQuality' is obsolete: 'Use SKSamplingOptions instead.' [/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/Cairo.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/util/SurfaceDrawImage.cs(58,22): warning CS0618: 'SKBitmap.Resize(SKImageInfo, SKFilterQuality)' is obsolete: 'Use Resize(SKImageInfo info, SKSamplingOptions sampling) instead.' [/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/Cairo.csproj]
Cairo -> /home/XXXXXX/Downloads/Optimum-0.2.0/bin/Release/net10.0/cairo-sharp.dll
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/API/ChatCommand/CommandArgumentParsers.cs(768,42): warning CS0618: 'Entity.HasTags(params string[])' is obsolete: 'Avoid using in favor of matching directly against Tags.' [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/Crafting/RecipeBase.cs(17,22): warning CS1711: XML comment has a typeparam tag for 'TRecipe', but there is no type parameter by that name [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1877,7): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1794,7): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1807,9): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/SoundAttributes.cs(123,40): warning CA2013: Do not pass an argument with value type 'Vintagestory.API.Common.SoundAttributes?' to 'ReferenceEquals'. Due to value boxing, this call to 'ReferenceEquals' can return an unexpected result. Consider using 'Equals' instead, or pass reference type arguments if you intend to use 'ReferenceEquals'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2013) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/SoundAttributes.cs(125,47): warning CA2013: Do not pass an argument with value type 'Vintagestory.API.Common.SoundAttributes?' to 'ReferenceEquals'. Due to value boxing, this call to 'ReferenceEquals' can return an unexpected result. Consider using 'Equals' instead, or pass reference type arguments if you intend to use 'ReferenceEquals'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2013) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
VintagestoryAPI -> /home/XXXXXX/Downloads/Optimum-0.2.0/bin/Release/net10.0/VintagestoryAPI.dll
VSCreativeMod -> /home/XXXXXX/Downloads/Optimum-0.2.0/bin/Release/net10.0/VSCreativeMod.dll
/home/XXXXXX/Downloads/Optimum-0.2.0/VSEssentials/Entity/Behavior/BehaviorContainer.cs(68,36): warning CS8602: Dereference of a possibly null reference. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSEssentials/VSEssentialsMod.csproj]
VSEssentialsMod -> /home/XXXXXX/Downloads/Optimum-0.2.0/bin/Release/net10.0/VSEssentials.dll
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(31,13): warning CS0108: 'OggPage.bos()' hides inherited member 'Page.bos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(36,13): warning CS0108: 'OggPage.eos()' hides inherited member 'Page.eos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(41,14): warning CS0108: 'OggPage.granulepos()' hides inherited member 'Page.granulepos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(46,13): warning CS0108: 'OggPage.serialno()' hides inherited member 'Page.serialno()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.Server.Systems/ServerSystemBlockLogger.cs(15,29): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(238,3): warning CS0612: 'SaveGame.LastBlockItemMappingVersion' is obsolete [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(351,16): warning CS0618: 'SaveGame.WorldPlayStyle' is obsolete: 'Replaced with string playstyle' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(352,18): warning CS0618: 'SaveGame.WorldPlayStyle' is obsolete: 'Replaced with string playstyle' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(354,7): warning CS0612: 'SaveGame.LastBlockItemMappingVersion' is obsolete [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory/Logger.cs(141,10): warning CS0219: The variable 'text' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client/ScreenManager.cs(275,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/TextureAtlasManager.cs(527,47): warning CS0420: 'AssetLocationAndSource.loadedAlready': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client/GuiScreenDownloadMods.cs(355,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/WorldAPI.cs(275,7): warning CS0618: 'WorldAPI.IsValidPos(int, int, int)' is obsolete: 'Please use BlockPos version instead for dimension awareness' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(97,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(112,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(127,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(142,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(814,79): warning CS0420: 'ChunkDataLayer.paletteCount': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(834,65): warning CS0420: 'ChunkDataLayer.paletteCount': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(869,5): warning CS0618: 'Thread.Resume()' is obsolete: 'Thread.Resume has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(876,3): warning CS0618: 'Thread.Suspend()' is obsolete: 'Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(884,5): warning CS0618: 'Thread.Resume()' is obsolete: 'Thread.Resume has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/JsonTesselator.cs(173,10): warning CS0219: The variable 'num3' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggDecoder.cs(176,14): warning CS0219: The variable 'flag' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemUpnp.cs(99,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerConfig.cs(494,21): warning CS0618: 'ServerConfig.OnlyWhitelisted' is obsolete: 'No longer used. Use WhitelistMode instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerConfig.cs(498,54): warning CS0618: 'ServerConfig.DefaultSpawn' is obsolete: 'No longer used. Retrieve value from the savegame instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemUpnp.cs(233,5): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemEntitySpawner.cs(56,35): warning CS0618: 'BlockPos.BlockPos()' is obsolete: 'Not dimension-aware. Use new BlockPos(dimensionId) where possible' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs(122,16): warning CS0219: The variable 'serverChunk' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/ShapeTesselatorManager.cs(482,47): warning CS0420: 'AssetLocationAndSource.loadedAlready': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1247,17): warning CS0618: 'EnumServerRunPhase.LoadAssets' is obsolete: 'Use AssetsReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1264,17): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1338,9): warning CS0618: 'EnumServerRunPhase.LoadAssets' is obsolete: 'Use AssetsReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1344,9): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemModHandler.cs(78,37): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(274,5): warning CS0618: 'ServerConfig.DefaultSpawn' is obsolete: 'No longer used. Retrieve value from the savegame instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(285,8): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(288,66): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(293,5): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/CompressionGzip.cs(136,6): warning CA2022: Avoid inexact read with 'System.IO.Compression.GZipStream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/CompressionDeflate.cs(178,6): warning CA2022: Avoid inexact read with 'System.IO.Compression.DeflateStream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ModLoader.cs(532,4): warning CA2200: Re-throwing caught exception changes stack information (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2200) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(312,4): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(335,4): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(311,21): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
VintagestoryLib -> /home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/bin/Release/net10.0/VintagestoryLib.dll
Vintagestory -> /home/XXXXXX/Downloads/Optimum-0.2.0/build/Vintagestory/bin/Release/net10.0/Vintagestory.dll
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(21,19): error CS1501: No overload for method 'RgbToHsvInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(19,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(38,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(31,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(33,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(11,27): error CS0246: The type or namespace name 'OptimumDiagnostics' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(16,14): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'hits'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(16,20): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'skips'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(51,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(54,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(12,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(13,37): error CS0246: The type or namespace name 'OptimumConfigData' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(16,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(17,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(18,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(24,27): error CS0246: The type or namespace name 'OptimumDiagnostics' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(30,14): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'hits'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(30,20): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'skips'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(55,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(22,25): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(25,13): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(26,25): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(26,86): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(31,13): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(62,26): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(63,30): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(40,41): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(72,9): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(73,9): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(75,26): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(56,59): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Riding/AiTaskFollowLeadHolder.cs(13,13): warning CS0108: 'AiTaskFollowLeadHolder.minGeneration' hides inherited member 'AiTaskBase.minGeneration'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Riding/AiTaskFollowLeadHolderR.cs(23,31): warning CS0108: 'AiTaskFollowLeadHolderConfig.MinGeneration' hides inherited member 'AiTaskBaseConfig.MinGeneration'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(19,26): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(20,32): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(21,28): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Core.cs(969,58): warning CS0618: 'ItemWearable' is obsolete: 'Use CollectibleBehaviorWearable instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Core.cs(970,68): warning CS0618: 'ItemWearableAttachment' is obsolete: 'Use CollectibleBehaviorWearableAttachment instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(46,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(112,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(185,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(185,68): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entities/EntityPlayerBot.cs(89,30): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
VSSurvivalMod -> /home/XXXXXX/Downloads/Optimum-0.2.0/bin/Release/net10.0/VSSurvivalMod.dll

Build FAILED.

/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/util/SurfaceDrawImage.cs(58,48): warning CS0618: 'SKFilterQuality' is obsolete: 'Use SKSamplingOptions instead.' [/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/Cairo.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/util/SurfaceDrawImage.cs(58,22): warning CS0618: 'SKBitmap.Resize(SKImageInfo, SKFilterQuality)' is obsolete: 'Use Resize(SKImageInfo info, SKSamplingOptions sampling) instead.' [/home/XXXXXX/Downloads/Optimum-0.2.0/Cairo/Cairo.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/API/ChatCommand/CommandArgumentParsers.cs(768,42): warning CS0618: 'Entity.HasTags(params string[])' is obsolete: 'Avoid using in favor of matching directly against Tags.' [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/Crafting/RecipeBase.cs(17,22): warning CS1711: XML comment has a typeparam tag for 'TRecipe', but there is no type parameter by that name [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1877,7): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1794,7): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Util/ExifData.cs(1807,9): warning CA2022: Avoid inexact read with 'System.IO.Stream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/SoundAttributes.cs(123,40): warning CA2013: Do not pass an argument with value type 'Vintagestory.API.Common.SoundAttributes?' to 'ReferenceEquals'. Due to value boxing, this call to 'ReferenceEquals' can return an unexpected result. Consider using 'Equals' instead, or pass reference type arguments if you intend to use 'ReferenceEquals'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2013) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/Common/SoundAttributes.cs(125,47): warning CA2013: Do not pass an argument with value type 'Vintagestory.API.Common.SoundAttributes?' to 'ReferenceEquals'. Due to value boxing, this call to 'ReferenceEquals' can return an unexpected result. Consider using 'Equals' instead, or pass reference type arguments if you intend to use 'ReferenceEquals'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2013) [/home/XXXXXX/Downloads/Optimum-0.2.0/VintagestoryApi/VintagestoryAPI.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSEssentials/Entity/Behavior/BehaviorContainer.cs(68,36): warning CS8602: Dereference of a possibly null reference. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSEssentials/VSEssentialsMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(31,13): warning CS0108: 'OggPage.bos()' hides inherited member 'Page.bos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(36,13): warning CS0108: 'OggPage.eos()' hides inherited member 'Page.eos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(41,14): warning CS0108: 'OggPage.granulepos()' hides inherited member 'Page.granulepos()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggPage.cs(46,13): warning CS0108: 'OggPage.serialno()' hides inherited member 'Page.serialno()'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.Server.Systems/ServerSystemBlockLogger.cs(15,29): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(238,3): warning CS0612: 'SaveGame.LastBlockItemMappingVersion' is obsolete [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(351,16): warning CS0618: 'SaveGame.WorldPlayStyle' is obsolete: 'Replaced with string playstyle' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(352,18): warning CS0618: 'SaveGame.WorldPlayStyle' is obsolete: 'Replaced with string playstyle' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/SaveGame.cs(354,7): warning CS0612: 'SaveGame.LastBlockItemMappingVersion' is obsolete [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory/Logger.cs(141,10): warning CS0219: The variable 'text' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client/ScreenManager.cs(275,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/TextureAtlasManager.cs(527,47): warning CS0420: 'AssetLocationAndSource.loadedAlready': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client/GuiScreenDownloadMods.cs(355,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/WorldAPI.cs(275,7): warning CS0618: 'WorldAPI.IsValidPos(int, int, int)' is obsolete: 'Please use BlockPos version instead for dimension awareness' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(97,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(112,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(127,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(142,7): warning CS0219: The variable 'num2' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(814,79): warning CS0420: 'ChunkDataLayer.paletteCount': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ChunkDataLayer.cs(834,65): warning CS0420: 'ChunkDataLayer.paletteCount': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(869,5): warning CS0618: 'Thread.Resume()' is obsolete: 'Thread.Resume has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(876,3): warning CS0618: 'Thread.Suspend()' is obsolete: 'Thread.Suspend has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/CmdDebug.cs(884,5): warning CS0618: 'Thread.Resume()' is obsolete: 'Thread.Resume has been deprecated. Use other classes in System.Threading, such as Monitor, Mutex, Event, and Semaphore, to synchronize Threads or protect resources.' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/JsonTesselator.cs(173,10): warning CS0219: The variable 'num3' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/OggDecoder.cs(176,14): warning CS0219: The variable 'flag' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemUpnp.cs(99,3): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerConfig.cs(494,21): warning CS0618: 'ServerConfig.OnlyWhitelisted' is obsolete: 'No longer used. Use WhitelistMode instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerConfig.cs(498,54): warning CS0618: 'ServerConfig.DefaultSpawn' is obsolete: 'No longer used. Retrieve value from the savegame instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemUpnp.cs(233,5): warning CS4014: Because this call is not awaited, execution of the current method continues before the call is completed. Consider applying the 'await' operator to the result of the call. [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemEntitySpawner.cs(56,35): warning CS0618: 'BlockPos.BlockPos()' is obsolete: 'Not dimension-aware. Use new BlockPos(dimensionId) where possible' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemCompressChunks.cs(122,16): warning CS0219: The variable 'serverChunk' is assigned but its value is never used [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Client.NoObf/ShapeTesselatorManager.cs(482,47): warning CS0420: 'AssetLocationAndSource.loadedAlready': a reference to a volatile field will not be treated as volatile [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1247,17): warning CS0618: 'EnumServerRunPhase.LoadAssets' is obsolete: 'Use AssetsReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1264,17): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1338,9): warning CS0618: 'EnumServerRunPhase.LoadAssets' is obsolete: 'Use AssetsReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerMain.cs(1344,9): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemModHandler.cs(78,37): warning CS0618: 'EnumServerRunPhase.LoadGamePre' is obsolete: 'Use ModsAndConfigReady' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(274,5): warning CS0618: 'ServerConfig.DefaultSpawn' is obsolete: 'No longer used. Retrieve value from the savegame instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(285,8): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(288,66): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemLoadAndSaveGame.cs(293,5): warning CS0618: 'SaveGame.PlayerDataByUID' is obsolete: 'Now stored in gamedatabase' [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/CompressionGzip.cs(136,6): warning CA2022: Avoid inexact read with 'System.IO.Compression.GZipStream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/CompressionDeflate.cs(178,6): warning CA2022: Avoid inexact read with 'System.IO.Compression.DeflateStream.Read(byte[], int, int)' (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2022) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Common/ModLoader.cs(532,4): warning CA2200: Re-throwing caught exception changes stack information (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca2200) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(312,4): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(335,4): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/Vintagestory.Server/ServerSystemSendChunks.cs(311,21): warning CA1416: This call site is reachable on all platforms. 'Process.ProcessorAffinity' is only supported on: 'linux', 'windows'. (https://learn.microsoft.com/dotnet/fundamentals/code-analysis/quality-rules/ca1416) [/home/XXXXXX/Downloads/Optimum-0.2.0/build/VintagestoryLib/VintagestoryLib.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Riding/AiTaskFollowLeadHolder.cs(13,13): warning CS0108: 'AiTaskFollowLeadHolder.minGeneration' hides inherited member 'AiTaskBase.minGeneration'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Riding/AiTaskFollowLeadHolderR.cs(23,31): warning CS0108: 'AiTaskFollowLeadHolderConfig.MinGeneration' hides inherited member 'AiTaskBaseConfig.MinGeneration'. Use the new keyword if hiding was intended. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(19,26): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(20,32): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/CollectibleBehavior/BehaviorWearable.cs(21,28): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Core.cs(969,58): warning CS0618: 'ItemWearable' is obsolete: 'Use CollectibleBehaviorWearable instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Systems/Core.cs(970,68): warning CS0618: 'ItemWearableAttachment' is obsolete: 'Use CollectibleBehaviorWearableAttachment instead' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(46,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(112,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(185,21): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entity/Behavior/EntityRideableSeat.cs(185,68): warning CS0618: 'SeatConfig.MountOffset' is obsolete: 'Setting this triggers use of slightly incorrect math for backwards compatibility' [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/Entities/EntityPlayerBot.cs(89,30): warning CS8632: The annotation for nullable reference types should only be used in code within a '#nullable' annotations context. [/home/XXXXXX/Downloads/Optimum-0.2.0/VSSurvivalMod/VSSurvivalMod.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(21,19): error CS1501: No overload for method 'RgbToHsvInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(19,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(38,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(31,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/EntityPosGetViewVectorOverloadTests.cs(33,19): error CS1501: No overload for method 'GetViewVector' takes 3 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(11,27): error CS0246: The type or namespace name 'OptimumDiagnostics' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(16,14): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'hits'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(16,20): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'skips'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(51,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/ColorUtilNonAllocatingOverloadTests.cs(54,19): error CS1501: No overload for method 'Hsv2RgbInts' takes 4 arguments [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(12,21): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(13,37): error CS0246: The type or namespace name 'OptimumConfigData' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(16,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(17,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(18,27): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(24,27): error CS0246: The type or namespace name 'OptimumDiagnostics' could not be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(30,14): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'hits'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(30,20): error CS8130: Cannot infer the type of implicitly-typed deconstruction variable 'skips'. [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(55,25): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(22,25): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(25,13): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(26,25): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(26,86): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumStatusTests.cs(31,13): error CS0103: The name 'OptimumConfig' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(62,26): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(63,30): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(40,41): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(72,9): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(73,9): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/OptimumDiagnosticsCountersTests.cs(75,26): error CS0103: The name 'OptimumDiagnostics' does not exist in the current context [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/SortableQueueItemAtTests.cs(56,59): error CS1061: 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' does not contain a definition for 'ItemAt' and no accessible extension method 'ItemAt' accepting a first argument of type 'SortableQueue<SortableQueueItemAtTests.ComparableInt>' could be found (are you missing a using directive or an assembly reference?) [/home/XXXXXX/Downloads/Optimum-0.2.0/Optimum.Tests/Optimum.Tests.csproj]
69 Warning(s)
31 Error(s)

Time Elapsed 00:00:07.99
==> Packaging Linux build...
Using cached /home/XXXXXX/Downloads/Optimum-0.2.0/.vanilla/archives/vs_client_linux-x64_1.22.3.tar.gz
Extracting to /home/XXXXXX/Downloads/Optimum-0.2.0/.vanilla/linux-x64
Staging /tmp/tmp.1ChowR62M1/Optimum-v0.2.0-linux-x64
Folder ready: /tmp/tmp.1ChowR62M1/Optimum-v0.2.0-linux-x64
Done: /tmp/tmp.1ChowR62M1/Optimum-v0.2.0-linux-x64.tar.gz (591MB)
/tmp/tmp.1ChowR62M1/Optimum-v0.2.0-linux-x64

SilverValkyrie, Jul 4th at 6:23 PM

There seems to be a problem with rendering blocks under Eco Machina Trees, Blocks seem to be culled

Nekonserva, Jul 4th at 4:23 PM (modified Jul 4th at 4:43 PM)

0.2.0 - It's stuck on "Unpacking Vintage Story" again, but stopping innoup process tree not fixes the problem anymore, installation just fails.

UPD: Commenting "if ($innounpProc.ExitCode -ne 0) { throw "innounp failed (exit $($innounpProc.ExitCode))." }" in "bootstrap.ps1" fixed the issue

Swedneck, Jul 4th at 1:43 PM

About optitime: Will things actually break if it's loaded? And is removing it from the mod dir strictly necessary or will disabling it suffice?

Zaldaryon , Jul 4th at 1:19 PM

** all bugs from below should now be fixed in 0.2.0 **

metasynthie, Jul 4th at 2:02 PM (modified Jul 4th at 2:04 PM)
@Zaldaryon: ** all bugs from below should now be fixed in 0.2.0 **

Getting an install error about a missing Optimum.Benchmarks csproj

Error Log
C:\Program Files\dotnet\sdk\10.0.301\NuGet.targets(521,5): error MSB3202: The project file "C:\Users\[MY USERACCT]\AppData\Local\Temp\Optimum-build-0fd8bf22428548c2b22383303a77cde3\Optimum.Benchmarks\Optimum.Benchmarks.csproj" was not found. [C:\Users\[MY USERACCT]\AppData\Local\Temp\Optimum-build-0fd8bf22428548c2b22383303a77cde3\VintageStory.slnx]
Build FAILED.
neptunesmoone, Jul 4th at 12:51 PM

Hi!! I'm using the GUI Installer on Windows 11 and all the prerequisites are showing green but when I go to install I keep getting this same error message below: 

Error Log

==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\USER_000\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\Users\USER_~1\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f
==PHASE== Decompiling and patching the engine...
Using existing C:\Users\USER_000\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f\.vanilla\win-x64\vintagestory
Decompiling VintagestoryLib.dll with ilspycmd: 10.1.0.8386
Decompiling Vintagestory.dll with ilspycmd: 10.1.0.8386
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
Cloning Cairo at b5a93a4
Cloning VSEssentials at 3319dff9e22b2f57c301a915fe5aa67e1ca349d2
Cloning VSSurvivalMod at 36d9550e19c32197e8f0d8a9780a5d0b1320dc7c
Cloning VSCreativeMod at 1c649719734ac5c049ce947a945847b2a07e9f59
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
Applying patches/Vintagestory/Vintagestory.csproj.patch
Applying patches/VintagestoryApi/Client/MeshPool/MeshDataPool.cs.patch
Applying patches/VintagestoryApi/Client/UI/Dialog/GuiDialog.cs.patch
Applying patches/VintagestoryApi/Client/UI/Elements/Impl/Interactive/GuiElementStatbar.cs.patch
Applying patches/VintagestoryApi/Common/API/ILogger.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationManager.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimationUtil.cs.patch
Applying patches/VintagestoryApi/Common/Model/Animation/AnimatorBase.cs.patch
Applying patches/VintagestoryApi/Config/GameVersion.cs.patch
Applying patches/VintagestoryApi/Datastructures/SortableQueue.cs.patch
Applying patches/VintagestoryApi/Math/Matrix/Mat4f.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkRenderer.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselator.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ChunkTesselatorManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientMain.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientPlatformWindows.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ClientWorldMap.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/GuiCompositeSettings.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/HudEntityNameTags.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticleManager.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/ParticlePoolQuads.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemClientTickingBlocks.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderEntities.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemRenderPlayerEffects.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client.NoObf/SystemSoundEngine.cs.patch
Applying patches/VintagestoryLib/Vintagestory.Client/GuiCompositeMainMenuLeft.cs.patch
Applying patches/VSEssentials/Entities/EntityBlockFalling.cs.patch
Applying patches/VSEssentials/Entity/Behavior/BehaviorRepulseAgents.cs.patch
Applying patches/VSEssentials/EntityRenderer/EntityItemRenderer.cs.patch
Applying patches/VSEssentials/Legacy/BEParticleEmitter.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSimulationParticles.cs.patch
Applying patches/VSEssentials/Systems/Weather/WeatherSystemClient.cs.patch
Applying patches/VSSurvivalMod/Block/BlockSmeltingContainer.cs.patch
Applying patches/VSSurvivalMod/Systems/Microblock/BEMicroBlock.cs.patch
Patches: 35 applied, 0 skipped, 0 failed (filter: all)
Synced sources/ into working tree.

Bootstrap complete. Run: dotnet build VintageStory.slnx -c Release
==PHASE== Building Optimum (this takes a moment)...
C:\Users\USER_000\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f\VintageStory.slnx.metaproj : error MSB4126: The specified solution configuration "Release|HPD" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration. [C:\Users\USER_000\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f\VintageStory.slnx]
Build FAILED.
C:\Users\USER_000\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f\VintageStory.slnx.metaproj : error MSB4126: The specified solution configuration "Release|HPD" is invalid. Please specify a valid solution configuration using the Configuration and Platform properties (e.g. MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") or leave those properties blank to use the default solution configuration. [C:\Users\USER_000\AppData\Local\Temp\Optimum-build-c2ab4c0dde8f4e9a9841b66a8c19ff7f\VintageStory.slnx]
1 Error(s)
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: dotnet build failed (exit code 1).

Any help is appreciated :))

makeitcool, Jul 4th at 7:24 AM (modified Jul 4th at 7:24 AM)

Hi, I used the GUI Installer for Windows and everything went without an issue (except for when I tried to change the installation directory; installed correctly when I didn't change it). I tried to access the settings on Optimum but it crashed with the following log. Could you take a look?

Crash Report

Running on 64 bit Windows 10.0.19045.0 with 31801 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.1.2
7/4/2026 12:20:50 AM: Critical error occurred
Loaded Mods: catchlivestock@0.2.4, chickenfeed@1.1.12, duncansgrass@1.0.1, goatfeed@1.0.0, millwright@1.3.3, molds@0.3.3, monsternuggetdrops@1.4.0, primitivesurvival@5.0.6, prospecttogether@2.2.1, translocatorengineeringredux@1.6.6, game@1.22.3, aculinaryartillery@2.0.0-dev.21, animalcages@5.0.0, bedspawnv2@1.7.1, bettererprospecting@3.3.3, betterfirepit@1.2.0, betterloot@2.0.2, betterruins@0.6.3, bettertraders@0.2.0, butchering@1.13.4, buzzwords@1.8.2, carryonlib@1.0.0-pre.4, cartwrightscaravan@1.9.1, commonlib@2.8.0, extrainfo@2.2.1, fromgoldencombs@2.0.7, herbarium@1.4.2-rc.1, mobsradar@3.0.0, ndlwoodentorchholder@3.0.2, pigfeed@1.0.10, rivers@5.0.1, rpvoicechat@2.5.7, smithingplus@1.9.0-rc.1, statushudcont@4.3.1, th3dungeon@1.0.0, creative@1.22.3, survival@1.22.3, webstotwine@1.20.1, carryon@2.0.0-pre.4, expandedfoods@2.0.0-dev.12, playercorpse@1.12.0, wildcraftfruit@1.4.7
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 209
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 322
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu() in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 263
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 320
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 310
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 446
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 594
at Vintagestory.Client.NoObf.GuiDialogEscapeMenu.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiDialogEscapeMenu.cs:line 412
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiManager.cs:line 329
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientMain.cs:line 2060
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client\GuiScreenRunningGame.cs:line 330
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e) in build\VintagestoryLib\Vintagestory.Client\ScreenManager.cs:line 870
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientPlatformWindows.cs:line 3669
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 330
at Vintagestory.Client.ClientProgram.<>c__DisplayClass11_0.<.ctor>b__1() in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 125
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in build\VintagestoryLib\Vintagestory.ClientNative\CrashReporter.cs:line 67

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 7/3/2026 1:39:31 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x4a08
Faulting application start time: 0x01dd0b2bddda8678
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 013f206d-699c-4c98-9d3b-a7aa0209af91
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 7/3/2026 1:37:37 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: coreclr.dll, version: 10.0.726.21808, time stamp: 0x69e279e8
Exception code: 0xc0000005
Fault offset: 0x000000000035699f
Faulting process id: 0x5074
Faulting application start time: 0x01dd0b2b03f43c8e
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.7\coreclr.dll
Report Id: 84f997bd-7d22-4d7d-aa71-26de6296f974
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 6/16/2026 8:34:21 PM, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: KERNELBASE.dll, version: 10.0.19041.6280, time stamp: 0x56511854
Exception code: 0xc0000005
Fault offset: 0x0000000000025369
Faulting process id: 0x29b8
Faulting application start time: 0x01dcfe0a1d16ecd5
Faulting application path: E:\Program Files\Vintagestory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 3d6a7ac3-5918-46ac-bfa2-046fb90b7e25
Faulting package full name:
Faulting package-relative application ID: }

MsFizzy, Jul 4th at 5:29 AM

Hello! I've been trying to install this for over the past hour and I have been unable to get it to work, I was able to install everything but the ilspycmd remains yellow in the windows cmd installer, I even tried installed ilspy manually with no luck. Every time i run the optimum install cmd this is the exact error i get "ERROR: The command could not be loaded, possibly because:" which has made it very hard to trouble shoot as the error doesnt actually tell me whats wrong.

MsFizzy, Jul 4th at 5:37 AM
@MsFizzy: Hello! I've been trying to install this for over the past hour and I have been unable to get it to work, I was able to install everything but the ilspycmd remains yellow in the windows cmd installer, I even tried installed ilspy manually with no luck. Eve

Uninstalling all of the requirements, and then doing the whole process again seems to have fixed the issue i was experiencing and the client was able to be installed! sorry for the trouble

Zaelesh, Jul 3rd at 10:18 PM

I am blown away by how much this helps my framerate and has eliminated freezes. I intially couldn't get past the installer, the error log didn't give me a reason, but i tried later with the only variable being that i didn't change the default install path. I tend to try to keep everything in program files(x86). Really glad it ended up working.

Zaldaryon , Jul 3rd at 10:58 PM
@Zaelesh: I am blown away by how much this helps my framerate and has eliminated freezes. I intially couldn't get past the installer, the error log didn't give me a reason, but i tried later with the only variable being that i didn't change the default install path

<3 I wish I could make a easier installer, but currently with how VS works, I can't (and I can't afford 100-300USD license to publish a certified installer).

Nekonserva, Jul 3rd at 9:28 PM (modified Jul 3rd at 9:31 PM)

I just got stuck on infinite installation "Unpacking Vintage Story" - 0.1.1 did that in a few minutes, but in 0.1.2 it is lasting more than half an hour already
all dependencies except Vintage Story are green, and it is not showing any logs

Zaldaryon , Jul 3rd at 11:00 PM
@Nekonserva: I just got stuck on infinite installation "Unpacking Vintage Story" - 0.1.1 did that in a few minutes, but in 0.1.2 it is lasting more than half an hour alreadyall dependencies except Vintage Story are green, and it is not showing any logs

you can try a fresh install, in your windows, settings, programs, there should be a uninstall option for optimum. if not, just delete the installed optimum folder.

Nekonserva, Jul 4th at 1:45 AM (modified Jul 4th at 6:39 AM)
@Zaldaryon: you can try a fresh install, in your windows, settings, programs, there should be a uninstall option for optimum. if not, just delete the installed optimum folder.

I've deleted the previous version, but it still goes straight to "Unpacking Vintage Story" and hangs up. And idk where exactly it has saved this broken VS instance to, because theres nothing in the folder I specified in the installer

UPD: Innoup created several dead process trees, clogging up installation, i killed the tasks and the installation process resumed

Salohcin, Jul 3rd at 8:18 PM

requring powershell on linux is diabolical 

Zaldaryon , Jul 3rd at 11:13 PM
@Salohcin: requring powershell on linux is diabolical

sadly for now yes, decompiling directly has its own perks. I can make it better for linux in the future but for now that'll do.

R_C_D_C, Jul 3rd at 3:57 PM

Hey, running into a crash on v0.1.2 (game v1.22.3) — opening Settings from the in-game Escape menu (not the main menu) throws a NullReferenceException in GuiCompositeSettings.ComposerHeader, right when it tries to set the active state on the new "Extra" tab. Main menu settings seem fine, it's specifically the in-game Escape menu path that crashes.

Crash Report
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 209
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 322
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu() in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 263
at Vintagestory.Client.NoObf.GuiDialogEscapeMenu.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiDialogEscapeMenu.cs:line 412
R_C_D_C, Jul 3rd at 4:01 PM (modified Jul 3rd at 4:04 PM)
@R_C_D_C: Hey, running into a crash on v0.1.2 (game v1.22.3) — opening Settings from the in-game Escape menu (not the main menu) throws a NullReferenceException in GuiCompositeSettings.ComposerHeader, right when it tries to set the active state on the new "Extra" t

I see this has already been brought up. I have attached logs. Might have something to do with the extra settings tab not existing for the in-game settings tab, only the menu.

Nekonserva, Jul 4th at 6:41 AM
@R_C_D_C: Hey, running into a crash on v0.1.2 (game v1.22.3) — opening Settings from the in-game Escape menu (not the main menu) throws a NullReferenceException in GuiCompositeSettings.ComposerHeader, right when it tries to set the active state on the new "Extra" t

same thing

Crash Report
Game Version: v1.22.3 (Stable) + Optimum v0.1.2
7/4/2026 12:41:10 PM: Critical error occurred
Loaded Mods: angelbelt@1.7.1, bettercrates@1.10.0, cavesymphony@1.2.2, cbr@2.0.1, chiseltools@1.17.3, creativetabexpander@1.0.2, darcesdriftersredone@1.3.0, dojomochilas@1.1.4, enemiesinundergrounddarknessonly@1.0.1, extrachests@1.11.0, fragilecharcoal@0.0.1, ggbcsrepair@1.0.3, immersivequicklime@0.1.7, instantpickup@1.1.4, metalbuckets@1.0.1, millwright@1.3.3, molds@0.3.4, nightskydelightsonlysky@1.22.2, prospecttogether@2.2.1, slowwalkmod@1.2.5, stonequarryrepckfipil@3.6.3, storagecontroller@1.2.2, temporalsymphony@2.3.2, tlhtweaksclient@1.0.0, tlhtweaksserver@1.0.0, visibleoresandminerals@1.4.1, visibleore@1.0.1, game@1.22.3, vsimgui@1.2.7, waysearchpoint@1.0.5, attributerenderinglibrary@3.1.5, betterhopper@1.2.1, bettericeoverlay@1.0.1, betterruins@0.6.3, helblockpick@3.0.1, buildingwands@1.0.2, canjewelry@0.6.17, carryonlib@1.0.0-pre.4, chiselingqolpatches@0.2.3, commonlib@2.8.0, configlib@1.12.0, upgradablestorage@1.1.9, critcherscalculator@1.2.3, danatweaks@4.1.0, diminishedhammering@1.0.1, dragchisel@1.0.1, electricalprogressivecore@3.3.0, electricalprogressivetransport@1.0.0, exlib@0.7.0, extended-sleep-time@1.0.0, extrainfo@2.2.1, farseer@1.4.0, fendragonbcs@0.2.3, fillmybloomery@1.0.3, foodshelves@3.0.4, footprints@1.2.4, fromgoldencombs@2.0.8, geologymap@1.1.0, glidierglider@0.0.8, groundskeeper@0.0.2, gui@2.0.0, handbookdeclutterer@2.0.1, immersivecorpsedrop@1.0.4, immersiveimprovedsounds@1.0.1, infinitumcore@1.0.0, inventoryunifier@1.2.0, itempickuphighlighter@1.3.0, jonastools@1.3.0, krpgenchantment@1.4.9, metalpots@1.8.0, moretools@1.0.6, mossterpiece@0.1.1, naturalfoliage@0.0.4, ndlmushroomgrowth@2.2.1, novelty@1.2.4, particlesplus@2.5.8, passthruchutes@1.0.2, placeblocksfaster@1.0.1, placeonslabs@1.1.3, playerlistrevived@2.3.8, radialgear@1.0.0, rainbowroadsupdated@1.0.2, soundsofnature@0.4.0, statushudcont@4.3.1, stepupadvanced@1.4.0, synergy@1.1.24, unchiseledpatch@1.0.0, creative@1.22.3, survival@1.22.3, windchimes@1.5.2, xlibfork@1.0.21, carryon@2.0.0-pre.4, electricalprogressivebasics@3.3.0, infinitumpickuphud@1.3.0, itemrarity@1.2.2, playerinvui@1.0.0, ppex@0.6.4, storagetweaks@1.3.3-rc.3, terrainslabs@1.0.16, underwaterhorrors@0.6.3, xskillsfork@1.0.70, electricalprogressiveindustry@0.7.0, electricalprogressiveqol@3.3.0, smex@0.9.4, xskillsgilded@1.3.36, electricalprogressiveequipment@3.2.3
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 209
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 322
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu() in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 263
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 320
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 310
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 448
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 594
at Vintagestory.Client.NoObf.GuiDialogEscapeMenu.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiDialogEscapeMenu.cs:line 412
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiManager.cs:line 329
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientMain.cs:line 2060
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client\GuiScreenRunningGame.cs:line 330
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e) in build\VintagestoryLib\Vintagestory.Client\ScreenManager.cs:line 870
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientPlatformWindows.cs:line 3669
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.NativeWindow.ProcessWindowEvents(Boolean waitForEvents)
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 330
at Vintagestory.Client.ClientProgram.<>c__DisplayClass11_0.<.ctor>b__1() in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 125
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in build\VintagestoryLib\Vintagestory.ClientNative\CrashReporter.cs:line 67
Javidac, Jul 3rd at 2:29 PM

I'm having issues with the installer not recognizing that i have Net 10 Sdk installed; I can confirm that it works just fine in regular cmd promts; but the installer insists that its not installed properly, and wont let me get past the "Download netSDK from this link and click install again" promt.

ushkinaz, Jul 3rd at 1:04 PM (modified Jul 3rd at 1:05 PM)

Version  v0.1.2, clean reinstall, CTD on click "Settings"

 

Crash Report

Running on 64 bit Windows 10.0.26200.0 with 32418 MB RAM
Game Version: v1.22.3 (Stable) + Optimum v0.1.2
03.07.2026 17:02:19: Critical error occurred
Loaded Mods: piefixes@1.0.0, game@1.22.3, vsimgui@1.2.7, algernonsterrainsampler@1.3.0, alphabeticallysortedprospectinglist@1.1.0, altmapiconrenderercontinued@1.6.0, egocaribautomapmarkers@5.0.3, betterhandbook@1.0.7, configlib@1.12.0, farseer@1.4.0, gui@2.0.0, mwi@1.9.0, roomtools@2.0.0, statushudcont@4.3.1, valrossensmapfilters@1.2.0, creative@1.22.3, survival@1.22.3, zzvstruescale64hd@4.2.6
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.Client.NoObf.GuiCompositeSettings.ComposerHeader(String dialogName, String currentTab) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 209
at Vintagestory.Client.NoObf.GuiCompositeSettings.OnGraphicsOptions(Boolean on) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 322
at Vintagestory.Client.NoObf.GuiCompositeSettings.OpenSettingsMenu() in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiCompositeSettings.cs:line 263
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUpOnElement(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 320
at Vintagestory.API.Client.GuiElementTextButton.OnMouseUp(ICoreClientAPI api, MouseEvent args) in VintagestoryApi\Client\UI\Elements\Impl\Interactive\Controls\GuiElementTextButton.cs:line 310
at Vintagestory.API.Client.GuiComposer.OnMouseUp(MouseEvent mouse) in VintagestoryApi\Client\UI\GuiComposer.cs:line 448
at Vintagestory.API.Client.GuiDialog.OnMouseUp(MouseEvent args) in VintagestoryApi\Client\UI\Dialog\GuiDialog.cs:line 594
at Vintagestory.Client.NoObf.GuiDialogEscapeMenu.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiDialogEscapeMenu.cs:line 412
at Vintagestory.Client.NoObf.GuiManager.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\GuiManager.cs:line 329
at Vintagestory.Client.NoObf.ClientMain.OnMouseUpRaw(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientMain.cs:line 2060
at Vintagestory.Client.GuiScreenRunningGame.OnMouseUp(MouseEvent args) in build\VintagestoryLib\Vintagestory.Client\GuiScreenRunningGame.cs:line 330
at Vintagestory.Client.ScreenManager.OnMouseUp(MouseEvent e) in build\VintagestoryLib\Vintagestory.Client\ScreenManager.cs:line 870
at Vintagestory.Client.NoObf.ClientPlatformWindows.Mouse_ButtonUp(MouseButtonEventArgs e) in build\VintagestoryLib\Vintagestory.Client.NoObf\ClientPlatformWindows.cs:line 3669
at OpenTK.Windowing.Desktop.NativeWindow.OnMouseUp(MouseButtonEventArgs e)
at OpenTK.Windowing.Desktop.NativeWindow.MouseButtonCallback(Window* window, MouseButton button, InputAction action, KeyModifiers mods)
--- End of stack trace from previous location ---
at OpenTK.Windowing.Desktop.NativeWindow.RethrowCallbackExceptionsIfNeeded()
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 330
at Vintagestory.Client.ClientProgram.<>c__DisplayClass11_0.<.ctor>b__1() in build\VintagestoryLib\Vintagestory.Client\ClientProgram.cs:line 125
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in build\VintagestoryLib\Vintagestory.ClientNative\CrashReporter.cs:line 67

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 22.06.2026 01:55:28, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x101d4
Faulting application start time: 0x1dd01c75e978244
Faulting application path: C:\Games\VintageStory\Vintagestory.exe
Faulting module path: C:\Games\VintageStory\Lib\openal32.dll
Report Id: 33505448-004a-4f66-b563-8d86eda4a325
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 21.06.2026 01:35:20, Site = , Source = Application Error, Message = Faulting application name: Vintagestory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: KERNELBASE.dll, version: 10.0.26100.8655, time stamp: 0x9e0ffa42
Exception code: 0xe0434352
Fault offset: 0x00000000000c1b6a
Faulting process id: 0x54c4
Faulting application start time: 0x1dd00fc801771e0
Faulting application path: C:\Games\VintageStory\Vintagestory.exe
Faulting module path: C:\WINDOWS\System32\KERNELBASE.dll
Report Id: 7fec7428-8779-4c6c-a7f8-795be608fc0a
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 19.06.2026 19:47:54, Site = , Source = Application Error, Message = Faulting application name: VintageStory.exe, version: 1.22.3.0, time stamp: 0x691d0000
Faulting module name: openal32.dll, version: 1.23.0.0, time stamp: 0x63dd31ad
Exception code: 0x40000015
Fault offset: 0x00000000000df046
Faulting process id: 0x5e44
Faulting application start time: 0x1dcffff8f620ca2
Faulting application path: C:\Games\VintageStory\VintageStory.exe
Faulting module path: C:\Games\VintageStory\Lib\openal32.dll
Report Id: affd2acc-4493-4298-9f4c-32ee5a6f06e9
Faulting package full name:
Faulting package-relative application ID: }

MiraLeaps, Jul 3rd at 11:38 AM

man, this plus Stratum are going to be a powerful friggin' combo haha.

Sirenne, Jul 3rd at 5:34 AM

Hey there!

 

I desperately wanted to give this a try, but unfortunately I keep getting stalled out with this error:

 

%AppData%\Local\Temp\Optimum-build-8bff86ca5a154263b59402e5d33891b0\build\Vintagestory\Vintagestory.csproj : error NU1201: Project VintagestoryLib is not compatible with netcoreapp1.0

 

I have .NET SDK 10 installed and play on 1.22.3; let me know if you'd like any logs or anything.

 

Super appreciate you! <3

Zaldaryon , Jul 3rd at 10:28 AM
@Sirenne: Hey there! I desperately wanted to give this a try, but unfortunately I keep getting stalled out with this error: %AppData%\Local\Temp\Optimum-build-8bff86ca5a154263b59402e5d33891b0\build\Vintagestory\Vintagestory.csproj : error NU1201: Project Vintagesto

The netcoreapp1.0 error means the Vintagestory.csproj patch did not apply on your machine. This happened in the first release before a fix went in. Re-download the source zip from the v0.1.2 release here (I updated it) and run install-windows.cmd again. The current version rewrites the project file to target net10.0 regardless of what ILSpy outputs. If it still fails, run dotnet --version in PowerShell and paste the output here.

Kaaryu, Jul 3rd at 4:22 AM

Running Arch Linux when I run build-linux.sh it stops with the line make: *** [Makefile:60: bootstrap] Error 128 I ran the prereq script and I have everything. I'm not sure why it is failing.

Zaldaryon , Jul 3rd at 10:29 AM
@Kaaryu: Running Arch Linux when I run build-linux.sh it stops with the line make: *** [Makefile:60: bootstrap] Error 128 I ran the prereq script and I have everything. I'm not sure why it is failing.

Error 128 on the bootstrap is a git clone failure. The build clones five open-source forks from GitHub during bootstrap. Common causes on Arch: missing git in PATH, SSH agent not running, or a network/firewall blocking github.com. Run git clone https://github.com/anegostudios/vsapi.git /tmp/test-clone in your terminal. If that fails, the problem is git/network, not Optimum. If it succeeds, run ./build-linux.sh again (transient network drop). Paste the full terminal output if it keeps failing.

Nielsbohrd, Jul 3rd at 1:51 PM (modified Jul 3rd at 1:52 PM)
@Zaldaryon: Error 128 on the bootstrap is a git clone failure. The build clones five open-source forks from GitHub during bootstrap. Common causes on Arch: missing git in PATH, SSH agent not running, or a network/firewall blocking github.com. Run git clone https://gi

Also running Arch Linux, encountering the same error. Confirmed that I can clone from github, encountering the same error.

<code>

> ./build-linux.sh
Checking prerequisites...
Running bootstrap (downloads ~570MB on first run)...
bash scripts/bootstrap.sh
Using cached /home/XXXXX/VS_optimum/.vanilla/archives/vs_client_linux-x64_1.22.3.tar.gz
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
make: *** [Makefile:60: bootstrap] Error 128

<code>

Swedneck, Jul 4th at 6:11 PM (modified Jul 4th at 6:35 PM)
@Nielsbohrd: Also running Arch Linux, encountering the same error. Confirmed that I can clone from github, encountering the same error.<code> > ./build-linux.shChecking prerequisites...Running bootstrap (downloads ~570MB on first run)...bash scripts/bootstrap.shUsing

exactly the same here

EDIT: i narrowed it down to line 1121 in scripts/bootstrap.sh failing: `git add -f build/ VintagestoryApi/ Cairo/ VSEssentials/ VSSurvivalMod/ VSCreativeMod/ 2>/dev/null`

It looks like you simply have to clone the git repo rather than download the zip, then it works just fine.

Kaaryu, Jul 3rd at 4:51 PM
@Zaldaryon: Error 128 on the bootstrap is a git clone failure. The build clones five open-source forks from GitHub during bootstrap. Common causes on Arch: missing git in PATH, SSH agent not running, or a network/firewall blocking github.com. Run git clone https://gi

the git clone succeeds but build-linux.sh still fails. its the same as the person above

Spoiler
./build-linux.sh
Checking prerequisites...
Running bootstrap (downloads ~570MB on first run)...
bash scripts/bootstrap.sh --client-archive "/run/media/xxxx/Optimum-0.1.2/vs_client_linux-x64_1.22.3.tar.gz"
Applying post-decompile fixups...
Post-decompile fixups done.
Rewrote base/this constructor calls in 1 file(s).
Restoring serialization metadata...
Serialization metadata restored.
Rewrote 0 event read(s) across 0 file(s).
Rewrote 0 value-type constructor call(s).
Ambiguity and decompiler-artifact fixups applied.
Saving post-fixup baseline snapshot...
Baseline snapshot saved to .baseline/.
make: *** [Makefile:60: bootstrap] Error 128
nomad_delta, Jul 3rd at 2:35 AM (modified Jul 3rd at 3:07 AM)

In case anyone else runs into the same issue I did where I kept getting .net build failure every time I tried to run the install script, it turns out I had a slightly newer version of .NET 10 SDK installed than the 10.0.203 specified by the global.json included with this, so I had to edit it to allow my newer version like this:

{
"sdk": {
"version": "10.0.301",
"rollForward": "latestPatch"
}
}

EDIT: except after building I get a repeatable crash-to-desktop if I try to open the Settings menu while in-game.  So now I'm downloading the older .NET 10.0.203 SDK and will try recompiling with that...

 

UPDATE: Nope, still get a repeatedly CTD when opening Settings from in-game after rebuilding with .NET 10.0.203 SDK.  Zaldaryon let me know if you want logs to debug or anything.  Thanks!

EthelVril, Jul 2nd at 11:35 PM

How would I go about using VS mod manager with this?

Zaldaryon , Jul 3rd at 12:57 AM
@EthelVril: How would I go about using VS mod manager with this?

I am not aware of that tool. But you can't use the optimum that is in the mod manager - the zip is to download, unzip yourself and recompile.

zakhad, Jul 1st at 9:40 AM (modified Jul 1st at 10:34 AM)

Might want the installer to also include a check for git


ERROR: The term 'git' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Also VS simple mod manager should be informed that it require users to overwrite their forked folder to the same location

I can also vouch for the animation bug, while it is hilarious! It is detracting, will wait for your intended fix as mentioned to another user.

Kassey, Jun 30th at 5:17 AM

Been loving this mod because it GREATLY fixed most of my sutters as i was playing modded vintage story, BUT one thing ive been kinda dissappointed is how every single entity is just doing their equivalent of a t-pose (Lmao) their animations are basically broken and just slide around as a statue on adderal and the only other animation that plays is their death animation pretty much. Some of the mods i'm currently playing with is the wilderlands + feverstone wilds + overhaul weaponry stuff + both of the optimization mods.

AStacyVO, Jun 30th at 1:27 AM

Loving this client so far. I've only used it for a couple of sessions, but I can already see improvements. That being said, I wanted to come and let you know about a few non-urgent issues I've come across. The main ones that I've noticed are that trees, specifically when using the eco machina mod, allow you to see under the ground at their base. I'm assuming because the mod makes the tree trunks smaller. Also, I can't see custom animations, like from Salty's Immersive Mining, when my friends use them. For example. if their character should be playing a mining animation, I only see them standing still and the block breaking from my perspective. Lastly, I've noticed that enemies sometimes don't play their attack animations, but they still deal damage, causing a little bit of confusion on when they're actually attacking. Overall, I would take all these minor bugs any day of the week in exchange for the great performance this has given, but I thought I should bring these to your attention. Keep up the good work!

PupTwilight, Jun 30th at 12:49 AM (modified Jun 30th at 12:50 AM)

Enjoying this a lot however I notice when switching over to this and still using your Ancestral Bliss Shaders things feel like get blown out of porpotions like things get brighter and lighting gets off and there a weird outline around everything. I only OptiTime and Ancestral Bliss Shaders works well together but is there something conflicting between this and the shaders?

image

image

PupTwilight, Jun 30th at 5:48 PM
@Zaldaryon: The Shaders need some update. Do you have the latest version?

I have the latest version of the game yes. I assumed it was due to just the version Optimum that why the shader most likely not working properly but just wanted to make sure that is the case

Thank you

nomad_delta, Jun 29th at 7:01 AM

Played a bunch with a couple friends on our server with everyone running Optimum client-side and all ran smooth, no issues reported by anyone.  Subjective but it does seem to help especially on the lower-end / older PC hardware.  We'll keep using it and testing + report anything useful we find.  Thanks for making this!

ushkinaz, Jun 28th at 11:29 AM

Got a couple of bugs.

  1. Muffons do not play walking animations, they just slide. At 5 blocks distance from me.
  2. At least some mods are not functioning in visual department. My case - https://mods.vintagestory.at/waypointbeacon does not show in-world beacons and beams

 

Other than that - at least in my very lightly modded game improvements are not exactly noticable, and I'm still getting FPS spikes..

Zaldaryon , Jun 28th at 9:00 PM
@ushkinaz: Got a couple of bugs. Muffons do not play walking animations, they just slide. At 5 blocks distance from me. At least some mods are not functioning in visual department. My case - https://mods.vintagestory.at/waypointbeacon does not show in-world beacons

a. yes, I'm investigating it.

b. "some mods" is a bit generical, I can't trace that. About the waypoint beacon, it has its own rendering, I don't touch that on Optimum.

 

Again, Optimum has the same premise as Optitime: it will take more load than vanilla - not exactly make it run 200% more FPS and such. Some improvement is possible, which I will add, but some spikes are client+server, and that I won't touch.

DonGak, Jun 27th at 6:48 PM

Hey im trying to install, but gets this error. :-)

==PHASE== Verifying tools...
Using Vintage Story from: C:\Users\Danie\AppData\Roaming\Vintagestory
==PHASE== Setting up build workspace...
Build dir: C:\Users\Danie\AppData\Local\Temp\Optimum-build-bbfb9da115de434081d6bffa7ec0e843
==PHASE== Decompiling and patching the engine...
Using existing C:\Users\Danie\AppData\Local\Temp\Optimum-build-bbfb9da115de434081d6bffa7ec0e843\.vanilla
Decompiling VintagestoryLib.dll (Vintagestory.Server+Client engine)
Decompiling Vintagestory.dll (Client executable)
Cloning VintagestoryApi at caebe5cd00289f5deb7d9584ba8415f062225dc4
==PHASE== Cleaning up...
==PHASE== Failed.
ERROR: The term 'git' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Nekonserva, Jun 27th at 4:20 PM

Yo this is so cool!
Is it possible to implement chiseled block LODs toogle into this client?
There are no mods that do such thing, and my game is lagging in the heavily chiseled world

SiiMeR, Jun 27th at 1:05 PM

Nice mod you got here! Could in theory this be used to target other game versions too, provided the patches find the correct source code to patch? 

SiiMeR, Jun 27th at 1:23 PM
@Zaldaryon: yes. but it's not a mod lol

It's still a mod, no matter if it's a game mod or an engine mod 

Zaldaryon , Jun 27th at 2:05 PM
@SiiMeR: It's still a mod, no matter if it's a game mod or an engine mod

by mod I mean it's not a mod that's auto-installabe via moddb.

EchoHuntsman, Jun 27th at 1:05 PM

Installer installed v1.22.2. Why not v1.22.3? Does it not install the latest version by default?

Zaldaryon , Jun 27th at 1:13 PM
@EchoHuntsman: Installer installed v1.22.2. Why not v1.22.3? Does it not install the latest version by default?

For me it was 1.22.3. Did it detect your installed version? did you have 1.22.2?

EchoHuntsman, Jun 27th at 2:45 PM
@Zaldaryon: For me it was 1.22.3. Did it detect your installed version? did you have 1.22.2?

I have .3 installed. Maybe it messed up somewhere. I'll try to repeat and see if it works

EchoHuntsman, Jun 27th at 3:52 PM (modified Jun 27th at 3:53 PM)
@EchoHuntsman: I have .3 installed. Maybe it messed up somewhere. I'll try to repeat and see if it works

It says "v1.22.3+v0.1.1 in the Windows Installer, but launching the game, it says 1.22.2(+0.1.1). Maybe it's looking for the wrong installation link? Or could be a visual error, but that would be odd

nomad_delta, Jun 28th at 4:29 PM
@flexioo: Same thing for me.v1.22.2 (Stable) + Optimum v0.1.1, instead of v1.22.3

Same things happens for me too, I have VS 1.22.3 installed & compiled from that, but Optimum shows v1.22.2 + 0.1.1 in the lower right corner when launched.

Zaldaryon , Jun 28th at 5:51 PM
@nomad_delta: Same things happens for me too, I have VS 1.22.3 installed & compiled from that, but Optimum shows v1.22.2 + 0.1.1 in the lower right corner when launched.

hm, if you guys could provide me the installationg log (it's a button when you install), I might find it why

nomad_delta, Jun 28th at 8:43 PM
@Zaldaryon: ah yes, flexioo, EchoHuntsman, nomad_delta, it's a typo. it runs 1.22.3

awesome, thanks for confirming -- tried to find my logs from when I compiled earlier and couldn't, but I did see the generated EXE properties also shows 1.22.3 version.

Alohaa, Jul 4th at 6:16 PM (modified Jul 4th at 6:16 PM)
@nomad_delta: awesome, thanks for confirming -- tried to find my logs from when I compiled earlier and couldn't, but I did see the generated EXE properties also shows 1.22.3 version.

I'm getting the same issue. The launcher shows 1.22.2 stable but in exe properties shows 1.22.3. But the issue is when i try to connect a server it says A mod requires v1.22.3 of the game and doesnt let me in. Normally I'm able to connect in vanilla client.

EthelVril, Jun 27th at 11:53 AM

I assume Optitime is made redundant by this, but what about Tungsten and Synergy? Should we still use those.

Zaldaryon , Jun 27th at 12:01 PM
@EthelVril: I assume Optitime is made redundant by this, but what about Tungsten and Synergy? Should we still use those.

This is basically Optitime embedded in the vanilla client code, so besides Optitime that you don't need it anymore, yes, you can use the others, Synergy, Tungsten, etc.

ushkinaz, Jun 27th at 10:20 AM

You should be an Anego's employee at this point. Would be better for everyone, maybe.

MiraLeaps, Jun 27th at 9:14 AM

It blows my mind how you are coming up with this stuff, just amazing!

Mollycoddle, Jun 27th at 3:38 AM

Question, will this help with the UI Desync bug that has been a constant plague to me, or will it not interact with that?

Zaldaryon , Jun 27th at 10:41 AM
@Mollycoddle: Question, will this help with the UI Desync bug that has been a constant plague to me, or will it not interact with that?

Maybe, but I didn't touch any of the ui bugs. if yo have an issue from the official issue tracker, please link me here so I can take a look.

Zaldaryon , Jun 26th at 11:30 PM

a installer is on the way

Ezog, Jun 26th at 10:29 PM

I'm trying to install this and I'm getting this in powershell: Am I missing a dependency?

[I have .NET 10 SDK installed]

No NuGet sources are defined or enabled
Decompiling VintagestoryLib.dll (Vintagestory.Server+Client engine)
D:\Games\Vintagestory\Optimum-0.1.0\scripts\bootstrap.ps1 : The term 'ilspycmd' is not recognized as the name of a
cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify
that the path is correct and try again.
At D:\Games\Vintagestory\Optimum-0.1.0\build-windows.ps1:23 char:1
+ & .\scripts\bootstrap.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (ilspycmd:String) [bootstrap.ps1], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException,bootstrap.ps1

uneivi, Jun 26th at 9:55 PM

Is this better than the Optitime, in terms of performance, or should i stay with it?

Zaldaryon , Jun 26th at 10:05 PM
@uneivi: Is this better than the Optitime, in terms of performance, or should i stay with it?

Since this doesn't have the harmony patches and reflection, it should perform better than optitime (and you don't need optitime installed).

Doden, Jun 27th at 3:25 AM
@Zaldaryon: Since this doesn't have the harmony patches and reflection, it should perform better than optitime (and you don't need optitime installed).

I've been very impressed by your mods and run the suite on my client and personal server. Do you have any guage on how much performance we would leave on the table by sticking with Optitime and foregoing running this new Optimum? In essence, how taxing are the harmony patches and reflection? I'm assuming atleast noteworthy if you've gone through the efforts of making this new mod?

Zaldaryon , Jun 27th at 11:48 AM
@Doden: I've been very impressed by your mods and run the suite on my client and personal server. Do you have any guage on how much performance we would leave on the table by sticking with Optitime and foregoing running this new Optimum? In essence, how taxing ar

Some of them I couldn't implement because of the harmony cost. I didn't measure the exact numbers, but if I could make a parallel, it's like, instead of making mechanical wings for a seraph, it's like making them being born with wings from birth.

Kuppancs, Jun 26th at 8:02 PM

So uh, hate to admit but I have to ask for a bit of help with installing.
I'm not familiar with PowerShell, programming and all that.

Maybe a bit of step by step text, or is there a tutorial video somewhere?😅

DefiledFaun, Jun 26th at 9:11 PM
@Kuppancs: Nevermind I figured it out, but holy hell this is why don't enjoy programing 😢

I fear I'm in the same boat, but I don't have your luck. How did you get it to work?

Zaldaryon , Jun 26th at 9:31 PM
@DefiledFaun: I fear I'm in the same boat, but I don't have your luck. How did you get it to work?

Kuppancs and DefiledFaun look the wiki and the source tab, there are steps there! I can't provide it built because it's Anego Studios' property.

jogus, Jun 26th at 7:13 PM

Can this be used with your other optimization mods? I see some of them do the same thing and "Most client mods work, but Optimum changes deeper client internals than a regular mod. If a mod hooks into rendering or entity update loops, test it before trusting it on a long session" makes me curious. Thanks for your work!

Zaldaryon , Jun 26th at 7:18 PM (modified Jun 26th at 7:18 PM)
@jogus: Can this be used with your other optimization mods? I see some of them do the same thing and "Most client mods work, but Optimum changes deeper client internals than a regular mod. If a mod hooks into rendering or entity update loops, test it before trust

This is basically Optitime embedded in the vanilla client code, so besides Optitime that you don't need it anymore, yes, you can use the others, Synergy, Tungsten, etc.