Quilt loader 0.20.2 Changelog

New System Properties:

  • loader.validation.level which controls how much validation quilt-loader does by default, since we expect lots of optional validation properties.
    • This is used to check for bugs in quilt-loader itself, and isn’t expected to be used by players or modpack authors.
    • This should be a value between 0 and 5:
      • 0 is the default. Used for validation that isn’t expected to cost performance, although these aren’t controllable via a system property.
      • 1 adds double-checking to some optimisations, where it is fairly cheap to do so. Will (eventually) add a few seconds to game launch, especially with larger packs.
      • 2 is currently unused. We’ll write a definition when we do use 2 though.
      • 3 is currently unused. We’ll write a definition when we do use 3 though.
      • 4 is used for fairly expensive validation. This either implies a small increase in memory usage, or very large performance slowdown.
      • 5 is for extremely expensive validation. Might imply heavy disk usage, or beyond 1000x performance slowdown for common tasks, or large increases in memory usage. (No properties use this at the moment)
    • We don’t recommend setting this higher than 2. (The default is 0).
  • loader.quilt_class_path.disable_custom_table which disables a memory-saving optimisation for the class path.
    • This is not generally expected to be useful. If fetching resources from the classpath returns the wrong file, or no file, then setting the validation level to 1 will check to see if this is the cause.

Features:

  • loader.debug.filesystem.validate_constantly now applies automatically if the validation level is 4 or 5.

Bug FIxes:

  • Fixed QuiltClassPath not always returning the correct path. (This fixes #354)
  • #348 FixedQuiltZipFileSystem.InflaterSeekableByteChannel sometimes skipping bytes when reading. (heipiao233)
  • #354 Fixed dedicated servers not letting any clients connect.