SANDBOX — this is a test environment. No servers are actually deployed and no real payments are charged.
Back to NxLabs

NxLabs / Vintage Story

Tungsten

ZBy Zaldaryon

Serverside performance optimizations, specially for modded gameplays

Description

Server-side only performance optimization mod for Vintage Story. The base game is already very much optimized, this is my attempt to speed up what's possible.

This can also benefit players in a singleplayer world, although much more limited.

This is serverside only - if you want to improve your performance clientside, try OptiTime.

I follow RERO (Release Early, Release Often) philosophy.

What it does

  • Less lag - 30-40% reduction in garbage collection pauses
  • Better performance - Especially with more players online
  • Lower memory usage - Saves ~15 MB per minute
  • No gameplay changes - Same game, just smoother

Performance gains

  • 5 players: 20-30% improvement
  • 10 players: 30-40% improvement
  • 20+ players: 40-50%+ improvement

The more active your server, the better it works.

What gets optimized

Tungsten currently ships with 27 optimizations:

  • Entity list reuse
  • Block list reuse
  • Get drops list reuse
  • Event manager list reuse
  • Chunk loading optimization
  • Chunk unloading optimization
  • Entity simulation optimization
  • Cooking container optimization
  • Container optimization
  • Grid recipe optimization
  • Propick reading optimization
  • Send player entity deaths optimization
  • Physics manager list optimization
  • Physics manager method list optimization
  • ServerMain LINQ optimization
  • Placeholder optimization (suggestion by tehtelev)
  • Wildcard fastMatch optimization (suggestion by tehtelev)
  • GetEntitiesAround optimization
  • Entity despawn packet optimization
  • RecipeBase LINQ optimization
  • Broadcast LINQ optimization
  • Bulk entity attributes packet optimization
  • ClassRegistry frozen optimization
  • GetPlayersAround optimization
  • GenTerra zero-alloc optimization (new in v1.3.4)
  • GenTerra BitArray optimization (new in v1.3.4)
  • GenTerra native noise optimization (new in v1.3.4)

Commands

All commands require admin privileges:

  • /tungsten - Show status
  • /tungsten stats - Show performance statistics
  • /tungsten stats on/off - Enable/disable detailed monitoring (off by default)
  • /tungsten all on/off - Enable/disable all optimizations
  • /tungsten reload - Reload config from disk
  • /tungsten benchmarkharness on/off - A/B performance comparison sessions
  • /tungsten frameprofiler on/off [thresholdMs] - Slow-tick logging
  • /tungsten <name> on/off - Toggle individual optimization:
    • entitylistreuse - Entity Spawning
    • blocklistreuse - Block Operations
    • getdropslistreuse - Block Breaking
    • eventmanagerlistreuse - Event System
    • chunkloadingoptimization - Chunk Loading
    • chunkunloadingoptimization - Chunk Unloading
    • entitysimulationoptimization - Entity Ticking
    • cookingcontaineroptimization - Cooking
    • containeroptimization - Inventory
    • gridrecipeoptimization - Crafting
    • propickreadingoptimization - Prospecting
    • sendplayerentitydeathsoptimization - Player Deaths
    • physicsmanagerlistoptimization - Physics Tick
    • physicsmanagermethodlistoptimization - Physics Tick
    • servermainlinqoptimization - Player Queries
    • placeholderoptimization - Registry Placeholders
    • wildcardfastmatchoptimization - Wildcard Matching
    • getentitiesaroundoptimization - Entity Queries
    • entitydespawnpacketoptimization - Despawn Packets
    • recipebaselinqoptimization - Recipe LINQ
    • broadcastlinqoptimization - Broadcast LINQ
    • bulkentityattributespacketoptimization - Entity Packets
    • classregistryfrozenoptimization - Registry Compaction
    • getplayersaroundoptimization - Player Queries
    • genterrazeroallocoptimization - WorldGen Alloc
    • genterrabitarrayoptimization - WorldGen BitArray
    • genterranativenoiseoptimization - WorldGen Noise

Note: Most changes require server restart.

Compatibility

Works with almost all mods. Safe with:

  • Content mods (blocks, items, recipes)
  • Gameplay mods
  • World generation mods
  • All client-side mods

Troubleshooting

Server won't start?

  • Check server logs for errors
  • Try /tungsten all off to disable optimizations, then enable one by one
  • Report the issue with logs

Performance worse?

  • Unlikely, but you can disable specific optimizations
  • Use /tungsten stats to monitor

Mod conflicts?

  • Disable the conflicting optimization individually

For detailed usage instructions, see the Wiki.

License

Copyright (c) 2025-2026 Zaldaryon - All Rights Reserved

Read the full description on Vintage Story ModDB →

Ratings & reviews

No ratings yet

Sign in to leave a rating or comment.