Mods / Stratum - High-performance server software.

Tags:
Utility Tools Server-Specific
Authors:
imtsubaki, Zaldaryon, tehtelev, Garward
Side:
Server
Created:
Jun 9th at 5:56 PM
Last modified:
3 days ago
Downloads:
477
For testers:
stratum-1.22.3-stratum.15-win-x64.zip

Stratum logo
Stratum at a glance
A patched server runtime for real Vintage Story multiplayer load.
Stratum changes the server runtime itself, with over 150 direct game-file patches targeting networking, chunk pressure, entities, worldgen, anti-cheat, reports, and per-tick server overhead.
Networking
packet back-pressure, batching, queues, and position updates
World load
chunks, ticks, worldgen, saves, entities, and pathfinding
Anti-cheat
combat, reach, movement, nuker patterns, and packet abuse
Live Stratum statistics
 
What Stratum is doing under the hood

A lot of Stratum's work is not flashy. It is removing repeated allocations, cutting pointless scans, batching network work, caching values that were being rebuilt constantly, and spreading expensive server jobs across ticks so the server stays steadier under real load.

Less per-tick waste
cached player lists, cached counters, skipped scans, fewer closures, and less repeated work in hot paths
Lower allocation pressure
pooled arrays, pooled path nodes, reused packet wrappers, reused collections, and fewer short-lived objects
Smarter networking
batched TCP packets, tick-end flushing, back-pressure, safer queue handling, and better position update behavior
Chunk and world pressure
chunk priority fixes, join request caps, random tick slicing, region ticking safeguards, and chunk IO smoothing
Entity work
distant entity throttling, tracking hysteresis, AI task gating, pathfinding pooling, and timing attribution
Owner visibility
timings, packet stats, queue stats, player and entity reports, violation reports, and preflight checks
Performance and stability

Built around real server pressure.

Stratum targets the things server owners actually feel: chunk floods, busy joins, packet noise, entity spikes, pathfinding load, save hitches, worldgen cost, and the steady drip of tiny allocations that becomes expensive over time.

Security and abuse

More than just speed.

Stratum includes server-side checks for suspicious combat, reach, movement, NoFall outcomes, blink-style movement, step height abuse, vein-mining patterns, nuker-style behavior, login pressure, and noisy packets.

Anti-cheat and hardening

Stratum's anti-cheat is server-side and conservative by default. It is meant to report and expose suspicious behavior first, with automatic kicking left as an opt-in choice for server owners.

Current checks cover combat and reach, movement outcomes, NoFall behavior, blink-style movement, step height abuse, vein mining, nuker-like breaking, block-break progress, packet limits, oversized custom packets, login protection, and packet back-pressure.

Owner-first defaults
Stratum tries not to punish normal players for edge cases. Reports and violations give staff something to act on instead of guessing from logs.
What Stratum adds around the runtime

The runtime patches are the main point, but Stratum also includes the server-owner tools you normally end up collecting from a stack of separate helper mods. The goal is to make running and debugging a public server less blind.

Profiling and reports
Timings, per-behavior attribution, entity reports, packet stats, queue stats, player reports, health reports, preflight checks, TCP fallback counts, and violation reports.
Staff and moderation
Reports, notes, warns, mutes, jail, freeze, vanish, revive, PvP controls, staff chat, suspicious behavior visibility, and tools for handling problems before they become server drama.
Player basics
Homes, spawn, back, TPA, private messages, seen, near, whois, info commands, role prefixes, nametag styling, join and leave messages, rules, MOTD, and Discord links.
Backups and safety
Scheduled world backups, retention pruning, clearer backup behavior, login protection, bounded report growth, packet back-pressure, and safer handling around noisy clients.
Anti-cheat visibility
Combat and reach checks, movement outcome checks, NoFall, blink-style movement, step height abuse, vein mining, nuker-like behavior, packet limits, and opt-in auto-kicking.
Server presentation
Small quality-of-life pieces that make a server feel finished without distracting from the main purpose: a faster, more observable, more controlled server runtime.

Good fit for

Public servers, heavier modded servers, events, PvP, civ-style play, active communities, and owners who want better visibility into what the server is doing.

Compatibility

Most normal server mods should work, but Stratum changes deeper server internals than a regular mod can.

Players join with the normal client. Test mods that depend on exact timing, packets, or server internals.

Install notes

Download the release that matches your Vintage Story version, extract it, and run the Stratum server launcher. On first launch, Stratum downloads and prepares the matching vanilla server files.

Existing server data folders can be moved over for testing. Make a backup first, especially for live worlds.

Do not install Stratum as a game mod. It is server software.
Want the longer technical list?
The public page stays readable. The wiki is where the larger feature index and technical notes live.

Mod Version Downloads Released Changelog Download
0.1.5 73 3 days ago stratum-1.22.3-stratum.15-win-x64.zip

## What's Changed
* Updated indev. by @trevorftp in https://github.com/StratumServer/Stratum/pull/98
* Update patches and make indev latest by @trevorftp in https://github.com/StratumServer/Stratum/pull/101
* Implemented combat cheat detection and improved reach checks by @trevorftp in https://github.com/StratumServer/Stratum/pull/104
* Implemented NoFall detection by outcome by @trevorftp in https://github.com/StratumServer/Stratum/pull/104/changes/34fe8e87b4c225b0fc7682c0b77e3ec097adb9bd
* Detect vein mining and nuker type cheats by @trevorftp in https://github.com/StratumServer/Stratum/pull/104/changes/fa7c5d1934d263e8c6b43c8aafcba86c4147fb02
* Added ability to detect blink or small movement cheats and step height cheats by @trevorftp in https://github.com/StratumServer/Stratum/pull/104/changes/31ee43028edfe9f1bf505b00b60e4e4f235b2de7
* Reworking the lighting system by @tehtelev in https://github.com/StratumServer/Stratum/pull/105
* Reduce per-tick overhead: cached counters, frozen registry, spawner reuse, tracking hysteresis by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/106
* Throttle position packets for distant entities by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/107
* Fix CS0122 in tracking hysteresis: use public EntityPos X/Y/Z accessors by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/108
* Skip per-tick allocations in BuildStratumPlayerPositions by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/109
* Eliminate per-tick allocations in climate queries and mechanical power by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/110
* Eliminate per-tick allocations in AllOnlinePlayers and PhysicsManager by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/111
* Improvements to the Compression class by @tehtelev in https://github.com/StratumServer/Stratum/pull/112
* Cache event invocation lists, enable Server GC, cache AllLoadedMapRegions by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/114
* Pool entity position batch arrays in SendPositionsAndAnimations by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/115
* Document region ticking stability, improve config comment by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/116
* Fixed issues with packets being skipped, clarified stratum backups. by @trevorftp in https://github.com/StratumServer/Stratum/pull/117
* Changed default config settings for anticheat and packet backpressure by @trevorftp in https://github.com/StratumServer/Stratum/commit/ea99ba9a3a3265d381a063df835b66c897ac275f4
* Ascii85 Improvements by @tehtelev in https://github.com/StratumServer/Stratum/pull/118
* Optimization of FirstCodePart and LastCodePart by @tehtelev in https://github.com/StratumServer/Stratum/pull/119
* Taking out the trash in BlockPatch by @tehtelev in https://github.com/StratumServer/Stratum/pull/120
* Per-behavior timing attribution for player entities by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/121
* Count TCP position fallback clients in perf stats by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/122
* Cap RequestJoin processing to N per tick by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/123
* Cache ToPacketForOtherPlayers per player between state changes by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/124
Slice random tick pass into N sub-passes by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/125
Anticheat will now report violations but auto-kicking is opt-in by @trevorftp in https://github.com/StratumServer/Stratum/pull/127
Stride CollectEntities scan to every Nth tick by @Zaldaryon in https://github.com/StratumServer/Stratum/pull/126


**Full Changelog**: https://github.com/StratumServer/Stratum/compare/v1.22.3-stratum.14...v1.22.3-stratum.15

0.1.5 5 3 days ago Release Retracted

Retraction Reason:

Patcher error

Changelog:

What's Changed

  • Updated indev. by @trevorftp in #98
  • Update patches and make indev latest by @trevorftp in #101
  • Implemented combat cheat detection and improved reach checks by @trevorftp in #104
  • Implemented NoFall detection by outcome by @trevorftp in 34fe8e8
  • Detect vein mining and nuker type cheats by @trevorftp in fa7c5d1
  • Added ability to detect blink or small movement cheats and step height cheats by @trevorftp in 31ee430
  • Reworking the lighting system by @tehtelev in #105
  • Reduce per-tick overhead: cached counters, frozen registry, spawner reuse, tracking hysteresis by @Zaldaryon in #106
  • Throttle position packets for distant entities by @Zaldaryon in #107
  • Fix CS0122 in tracking hysteresis: use public EntityPos X/Y/Z accessors by @Zaldaryon in #108
  • Skip per-tick allocations in BuildStratumPlayerPositions by @Zaldaryon in #109
  • Eliminate per-tick allocations in climate queries and mechanical power by @Zaldaryon in #110
  • Eliminate per-tick allocations in AllOnlinePlayers and PhysicsManager by @Zaldaryon in #111
  • Improvements to the Compression class by @tehtelev in #112
  • Cache event invocation lists, enable Server GC, cache AllLoadedMapRegions by @Zaldaryon in #114
  • Pool entity position batch arrays in SendPositionsAndAnimations by @Zaldaryon in #115
  • Document region ticking stability, improve config comment by @Zaldaryon in #116
  • Fixed issues with packets being skipped, clarified stratum backups. by @trevorftp in #117
  • Changed default config settings for anticheat and packet backpressure by @trevorftp in ea99ba9
  • Ascii85 Improvements by @tehtelev in #118
  • Optimization of FirstCodePart and LastCodePart by @tehtelev in #119
  • Taking out the trash in BlockPatch by @tehtelev in #120
  • Per-behavior timing attribution for player entities by @Zaldaryon in #121
  • Count TCP position fallback clients in perf stats by @Zaldaryon in #122
  • Cap RequestJoin processing to N per tick by @Zaldaryon in #123
  • Cache ToPacketForOtherPlayers per player between state changes by @Zaldaryon in #124
    Slice random tick pass into N sub-passes by @Zaldaryon in #125
    Anticheat will now report violations but auto-kicking is opt-in by @trevorftp in #127
    Stride CollectEntities scan to every Nth tick by @Zaldaryon in #126

 

Full Changelogv1.22.3-stratum.14...v1.22.3-stratum.15

0.1.4 76 Jul 3rd at 11:40 PM stratum-1.22.3-stratum.14-win-x64.zip

What's Changed

  • Restore generation-based AI task gating by @Zaldaryon in #78
  • Optimize GenTerra by @tehtelev in #79
  • Refine NewNormalizedSimplexFractalNoise by @tehtelev in #77
  • Add scheduled world backup with retention pruning by @Zaldaryon in #80
  • Skip SendDirtySlots scan when no inventory changed by @Zaldaryon in #81
  • Pool BlockPos in random tick loop by @Zaldaryon in #82
  • Reuse intermediate lists in Block.GetDrops by @Zaldaryon in #83
  • Reuse collections in deleteChunkColumns by @Zaldaryon in #84
  • Cache AllOnlinePlayers and AllPlayers per tick by @Zaldaryon in #85
  • Batch small TCP packets per connection, flush at tick end by @Zaldaryon in #86
  • Fixed issues with movement detection and world chunk settings by @trevorftp in #87
  • Refactor TcpNetConnection and StratumNetworkFlush by @trevorftp in #88
  • Reuse intermediate lists in chunk unload methods by @Zaldaryon in #89
  • Reuse collections in periodic server systems by @Zaldaryon in #90
  • Reuse DbChunk batch list across save methods by @Zaldaryon in #91
  • Reuse packet wrappers in GetBulkEntityAttributesPacket by @Zaldaryon in #92
  • Replace per-client LINQ closures in broadcast methods by @Zaldaryon in #93
  • Eliminate LINQ in connection admission and queue processing by @Zaldaryon in #94
  • Eliminate LINQ iterators and list allocations in RecipeBase by @Zaldaryon in #95
  • Fixed issue with race and thread-safety in StratumNetworkFlush by @trevorftp in #96

Full Changelogv1.22.3-stratum.12...v1.22.3-stratum.14

0.1.4 1 Jul 3rd at 5:17 PM Release Retracted

Retraction Reason:

fml

Changelog:

What's Changed

  • Restore generation-based AI task gating by @Zaldaryon in #78
  • Optimize GenTerra by @tehtelev in #79
  • Refine NewNormalizedSimplexFractalNoise by @tehtelev in #77
  • Add scheduled world backup with retention pruning by @Zaldaryon in #80
  • Skip SendDirtySlots scan when no inventory changed by @Zaldaryon in #81
  • Pool BlockPos in random tick loop by @Zaldaryon in #82
  • Reuse intermediate lists in Block.GetDrops by @Zaldaryon in #83
  • Reuse collections in deleteChunkColumns by @Zaldaryon in #84
  • Cache AllOnlinePlayers and AllPlayers per tick by @Zaldaryon in #85
  • Batch small TCP packets per connection, flush at tick end by @Zaldaryon in #86
  • Fixed issues with movement detection and world chunk settings by @trevorftp in #87
  • Refactor TcpNetConnection and StratumNetworkFlush by @trevorftp in #88
  • Reuse intermediate lists in chunk unload methods by @Zaldaryon in #89
  • Reuse collections in periodic server systems by @Zaldaryon in #90
  • Reuse DbChunk batch list across save methods by @Zaldaryon in #91
  • Reuse packet wrappers in GetBulkEntityAttributesPacket by @Zaldaryon in #92
  • Replace per-client LINQ closures in broadcast methods by @Zaldaryon in #93
  • Eliminate LINQ in connection admission and queue processing by @Zaldaryon in #94
  • Eliminate LINQ iterators and list allocations in RecipeBase by @Zaldaryon in #95
  • Fixed issue with race and thread-safety in StratumNetworkFlush by @trevorftp in #96

Full Changelogv1.22.3-stratum.12...v1.22.3-stratum.14

0.1.4 Jul 3rd at 11:42 AM Release Retracted

Retraction Reason:

Patching file causing issues.

Changelog:

What's Changed

  • Restore generation-based AI task gating by @Zaldaryon in #78
  • Optimize GenTerra by @tehtelev in #79
  • Refine NewNormalizedSimplexFractalNoise by @tehtelev in #77
  • Add scheduled world backup with retention pruning by @Zaldaryon in #80
  • Skip SendDirtySlots scan when no inventory changed by @Zaldaryon in #81
  • Pool BlockPos in random tick loop by @Zaldaryon in #82
  • Reuse intermediate lists in Block.GetDrops by @Zaldaryon in #83
  • Reuse collections in deleteChunkColumns by @Zaldaryon in #84
  • Cache AllOnlinePlayers and AllPlayers per tick by @Zaldaryon in #85
  • Batch small TCP packets per connection, flush at tick end by @Zaldaryon in #86
  • Fixed issues with movement detection and world chunk settings by @trevorftp in #87
  • Refactor TcpNetConnection and StratumNetworkFlush by @trevorftp in #88
  • Reuse intermediate lists in chunk unload methods by @Zaldaryon in #89
  • Reuse collections in periodic server systems by @Zaldaryon in #90
  • Reuse DbChunk batch list across save methods by @Zaldaryon in #91
  • Reuse packet wrappers in GetBulkEntityAttributesPacket by @Zaldaryon in #92
  • Replace per-client LINQ closures in broadcast methods by @Zaldaryon in #93
  • Eliminate LINQ in connection admission and queue processing by @Zaldaryon in #94
  • Eliminate LINQ iterators and list allocations in RecipeBase by @Zaldaryon in #95
  • Fixed issue with race and thread-safety in StratumNetworkFlush by @trevorftp in #96

Full Changelogv1.22.3-stratum.12...v1.22.3-stratum.14

0.1.3 12 Jul 2nd at 3:22 PM Release Retracted

Retraction Reason:

Bugged 

Changelog:

  • Restore generation-based AI task gating by @Zaldaryon in #78
  • Optimize GenTerra by @tehtelev in #79
  • Refine NewNormalizedSimplexFractalNoise by @tehtelev in #77
  • Add scheduled world backup with retention pruning by @Zaldaryon in #80
  • Skip SendDirtySlots scan when no inventory changed by @Zaldaryon in #81
  • Pool BlockPos in random tick loop by @Zaldaryon in #82
  • Reuse intermediate lists in Block.GetDrops by @Zaldaryon in #83
  • Reuse collections in deleteChunkColumns by @Zaldaryon in #84
  • Cache AllOnlinePlayers and AllPlayers per tick by @Zaldaryon in #85
  • Batch small TCP packets per connection, flush at tick end by @Zaldaryon in #86
  • Fixed issues with movement detection and world chunk settings by @trevorftp in #87
  • Refactor TcpNetConnection and StratumNetworkFlush by @trevorftp in #88

Full Changelogv1.22.3-stratum.12...v1.22.3-stratum.13

0.1.2 52 Jun 30th at 5:38 PM stratum-1.22.3-stratum.12-win-x64.zip
  • Add smoke test and Makefile by @Zaldaryon in #73
  • Add region ticking entity filter and automatic fallback by @Zaldaryon in #74
  • Fix corrupted patch headers in EntitySimulation and GenPartial BOM by @Zaldaryon in #75
  • Added and improved the anticheat and detections by @trevorftp in #72
  • Fix/command output tags by @trevorftp in #76

Full Changelogv1.22.3-stratum.11...v1.22.3-stratum.12

0.1.1 34 Jun 28th at 10:22 PM stratum-1.22.3-stratum.11-win-x64.zip
  • Null-guard PathNode.Equals to fix NRE from node pool reuse by @Zaldaryon in #70
  • Overhaul prefix/nametag system with entitlement tags and /prefix command by @trevorftp in 2883098
  • Remove Nimbus proxy integration from Stratum by @trevorftp in a3a5b33

Full Changelogv1.22.3-stratum.10...v1.22.3-stratum.10.1

0.1.0 16 Jun 28th at 2:19 PM stratum-1.22.3-stratum.10-win-x64.zip
  • Optimize DiscDepositGenerator by @tehtelev in #33
  • Fix data loss race in StratumEntityBehaviorTimings.Drain by @Zaldaryon in #45
  • Document Linux/macOS bootstrap and extract-patches scripts by @Zaldaryon in #46
  • bootstrap.sh: auto-download missing client refs by @Zaldaryon in #47
  • Normalize csproj paths to forward slashes, drop PowerShell from deploy prune by @Zaldaryon in #48
  • Revert "Document Linux/macOS bootstrap and extract-patches scripts" by @trevorftp in #51
  • Revert "Normalize csproj paths to forward slashes, drop PowerShell from deploy prune" by @trevorftp in #49
  • Revert "bootstrap.sh: auto-download missing client refs" by @trevorftp in #50
  • Cache mute state to skip per-message JSON deserialization by @Zaldaryon in #57
  • Correct entity caps despawn doc comment by @Zaldaryon in #52
  • Remove unused RemainingSeconds field from login protection by @Zaldaryon in #53
  • Fix corrupt hunk headers in 3 patch files by @Zaldaryon in #55
  • Cap retained closed reports to bound report store growth by @Zaldaryon in #54
  • Skip per-tick JSON deserialization in jail enforcement by @Zaldaryon in #56
  • Reconcile stale entity tick-state entries by @Zaldaryon in #58
  • Expand timings profiler with per-type and hierarchical report by @Zaldaryon in #44
  • Fix corrupt hunk headers in ServerSystemEntitySimulation patch by @Zaldaryon in #60
  • Skip registering disabled Stratum commands by @Zaldaryon in #61
  • Skip collision resolution for stationary creatures by @Zaldaryon in #63
  • Optimize GenCaves and fix bugs by @tehtelev in #69
  • Pool PathNode allocations in AStar search by @Zaldaryon in #66
  • Skip full resync on no-op RemoveAttribute by @Zaldaryon in #64
  • Chunk priority perf fix, worldgen regression fix, server perf patches by @trevorftp in 832558b
0.0.9 73 Jun 22nd at 4:18 PM stratum-1.22.3-stratum.9-win-x64.zip

What's Changed

Full Changelogv1.22.3-stratum.8...v1.22.3-stratum.9

0.0.8 43 Jun 20th at 12:53 PM stratum-1.22.3-stratum.8-win-x64.zip

What's Changed

  • Optimize the FillPlaceHolder method by @tehtelev in https://github.com/trevorftp/Stratum/pull/23
  • Optimize RegisterBlock method by @tehtelev in https://github.com/trevorftp/Stratum/pull/24
  • Optimize ModRegistryObjectTypeLoader as much as possible by @tehtelev in https://github.com/trevorftp/Stratum/pull/25
  • Optimize WildcardUtil.Match by @tehtelev in https://github.com/trevorftp/Stratum/pull/27
  • Bump actions/checkout from 4 to 7 by @dependabot in https://github.com/trevorftp/Stratum/pull/28
  • Fix spawn radius distribution bias in LocateRandomPosition by @Zaldaryon in https://github.com/trevorftp/Stratum/pull/30
  • Patch GameVersion to report 1.22.3 instead of 1.22.2 by @Zaldaryon in https://github.com/trevorftp/Stratum/pull/31

 

New Contributors

 

Full Changelog

0.0.7 82 Jun 9th at 6:44 PM stratum-1.22.3-stratum.7-win-x64.zip

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

ButahBabter, 2 days ago (modified 2 days ago)

EDIT Found the problem it was Stratum Back packet protection for some reason, disabled that the issues poofed, idk if it was just something on my world causing it to freak or if it was the setting itself.

So after a bit of time playing on the server, i will get booted mid activity wioth this error message "The connection closed unexpectedly, The Server closed down the socket without response, The server may be password protected or Whitelisted" the server isnt gfoing down, nor is it password protected, and it was not doing this until i updated to .15 any ideas of what it could be?

imtsubaki , 2 days ago
@ButahBabter: EDIT Found the problem it was Stratum Back packet protection for some reason, disabled that the issues poofed, idk if it was just something on my world causing it to freak or if it was the setting itself. So after a bit of time playing on the server, i wi

Yes! This is something that's being looked into, and the latest release disables all anti-cheat and protection guards that Stratum added by default, unfortunately old configs from prior versions still may have it enabled. Glad you got it figured out!

Oolon, 3 days ago

Good news, after updating to newest version, fruit presses and Better crates appears to be fixed. But windmills no longer spin or provide power

imtsubaki , 2 days ago
@Oolon: Good news, after updating to newest version, fruit presses and Better crates appears to be fixed. But windmills no longer spin or provide power

Great to hear about those! And I just tested both rotor and sail types on v0.1.5 and they appear to be working. If you can get anymore info or recreate your issue please do and let me know! May even be best to open an issue as we are alerted. Thank you

https://github.com/StratumServer/Stratum/issues

imtsubaki , 3 days ago (modified 3 days ago)

v1.22.3-stratum.15 (v0.1.5) is released! This version brings a large amount of optimizations, as well as bringing some fixes on prior issues and defaulting all 'anticheat' options to disabled.

More Here

Blink, 5 days ago

There is an issue with the better crates mod not working correctly with this. Items can be placed into the crate but not removed.

Fruit presses do not press/squeeze either, and no mods have been added that touch that functionality.

Backups have been enabled in stratum.json but no backups are ever created.

I've disabled all anti-cheat and packet related settings with no change in crate or fruit press behavior.

Blink, 5 days ago
@ButahBabter: Which Version are you using? I'm using 0.12 and having the fruitpress problem none of the other ones though

I was using .14.

We've rolled back to using Tungsten and Synergy for now.

We definitely appreciate all the authors for their work in making servers more performant though and will keep an eye on development of this.

Oolon, 5 days ago (modified 5 days ago)
@Blink: There is an issue with the better crates mod not working correctly with this. Items can be placed into the crate but not removed. Fruit presses do not press/squeeze either, and no mods have been added that touch that functionality. Backups have been enabl

Im having this exact same issue. Ive been doing tests over and over for it. 
Vinconomy also is effected.
I have found out at least on my server that the client and server are picking up that the fruit press is indeed recieving that the client is holding it down. Its just not completing the interaction. 

The worst part is that with the exact same modlist, running a lan server on my main PC the problem does not persist. It only happens when clients connect from outside networks. 

Ive swapped out ALL mods that interact with fruit press. 
Im at a loss

imtsubaki , 4 days ago (modified 4 days ago)
@Blink: There is an issue with the better crates mod not working correctly with this. Items can be placed into the crate but not removed. Fruit presses do not press/squeeze either, and no mods have been added that touch that functionality. Backups have been enabl

Good catch! It seems when we patched a vanilla game exploit related to packets and inventory stuff we accidentally caused an issue that drops other packets such as PacketIdScrewStart, PacketIdScrewContinue, and PacketIdUnscrew. This is a simple fix and will be taken care of in the next update! Likely this is a similar cause or issue to why the Better Crates mod also is not working.

Blink, 4 days ago
@imtsubaki: Good catch! It seems when we patched a vanilla game exploit related to packets and inventory stuff we accidentally caused an issue that drops other packets such as PacketIdScrewStart, PacketIdScrewContinue, and PacketIdUnscrew. This is a simple fix and wi

Interesting that you think it's a similar cause for Better Crates. I assumed it was due to block break protection for those since removing items from a Better Crate uses left-click which usually triggers a block break for most blocks. Nice to know it should be a simple fix though!

Any thoughts on the backups not firing?

imtsubaki , 4 days ago
@Blink: Interesting that you think it's a similar cause for Better Crates. I assumed it was due to block break protection for those since removing items from a Better Crate uses left-click which usually triggers a block break for most blocks. Nice to know it shou

What was the duration on your backup? I did not directly add the backup functionality, but it looks like it doesn't first fire until whatever the duration was. So if it was 6 hours and enabled your server would need to be up for 6 hours to make a backup. I did modify this some to help be less confusing and also make an initial backup.

Blink, 4 days ago
@imtsubaki: What was the duration on your backup? I did not directly add the backup functionality, but it looks like it doesn't first fire until whatever the duration was. So if it was 6 hours and enabled your server would need to be up for 6 hours to make a backup.

It was set for 3.5 hours. We restart every 4 hours and I didn't see anything in the logs regarding a backup. I know the feature was recently added to Stratum so it could have just been a weird quirk with my instance.

 

For additional context, I created an egg for Pelican and was running the server there. Not sure if that makes a difference for the backups or not. I haven't taken the time to look at the source files to see how the backup fires.

YourAKingGG [currently restricted], Jul 6th at 2:25 AM

this garbage is literally malware
>server just gets started
>immediately everyone and the server host start rubber banding
>you've been kicked by stratum movement protection
>can't rejoin because i get kicked again every time i join since im in a falling cycle
MOOOODS REMOVE THIS BULLSHIT! Why the fuck do we need a shitty anticheat in a game nobody cheats in?

imtsubaki , 6 days ago (modified 6 days ago)
@YourAKingGG: this garbage is literally malware>server just gets started>immediately everyone and the server host start rubber banding>you've been kicked by stratum movement protection>can't rejoin because i get kicked again every time i join since im in a falling cycl

Disable the anticheat, It is in the settings :) Some mods aren't compatible with the anticheat, it will be fixed in time. Every single feature and optimization can be edited and toggled in the settings. 

Im sorry you think it's Malware, but Stratum most definitely is not.

 

Spoiler!

yurajoh, 1 day ago (modified 1 day ago)
@YourAKingGG: this garbage is literally malware>server just gets started>immediately everyone and the server host start rubber banding>you've been kicked by stratum movement protection>can't rejoin because i get kicked again every time i join since im in a falling cycl

Lots of people cheat in Vintage Story, actually. There's just absolutely no meaningful anticheat out there so it's completely undetected.

 

There are multihack clients for the game, you don't even need to look hard.

yurajoh, Jul 4th at 3:01 AM

Question, I noticed there's some GenTerra optimizations Stratum makes. Will a server running Stratum be compatible with something like World Painter or another mod that overhauls GenTerra entirely?

imtsubaki , Jul 4th at 4:10 PM
@yurajoh: Question, I noticed there's some GenTerra optimizations Stratum makes. Will a server running Stratum be compatible with something like World Painter or another mod that overhauls GenTerra entirely?

We have not seen any issues or been told about anything involving issues with Terrain generation mods, and there are a few larger servers out there running 150-300 mods with no major issues at the moment. I do know there is no issue with World Painter that I have seen.

imtsubaki , Jul 3rd at 5:21 PM

Sorry everyone, the github action was marking as finished and success although the patches were applying. Stratum has no issues, it just was releasing a half patched server and caused weird crashes. All is good now on v14 (0.1.4).

Nitrometan, Jul 3rd at 12:40 PM

A modded Client seems to crash in WeatherSystem upon connecting to moded Stratum v14 server, do let me know if this is a me-problem, although it has been running with the same mods on Stratum v12 with the same save file.

Crash log

Running on 64 bit Windows 10.0.19045.0 with 65462 MB RAM
Game Version: v1.22.3 (Stable)
03/07/2026 14:37:14: Critical error occurred
Loaded Mods: hardcorewaterforked@1.4.6-rc.1, craftablecompanion@1.5.4, creaturefootsteps@1.3.0, immersivequicklime@0.1.7, kilnshelves@1.1.7, morebanners@1.3.1, overhaulliblegacycompat@1.1.2, prospecttogether@2.2.1, spinningwheel@1.2.12, sticksfromfirewoodmallow@2.0.1, stonequarryrepckfipil@3.6.2, woodveneer@22.0.3, vhfp@1.22.2, vresp@1.22.2, game@1.22.3, vsimgui@1.2.4, abyssaldepths@1.0.18, airthermomod@0.5.0, algernonsterrainsampler@1.2.1, attributerenderinglibrary@3.1.5, beamtweaksmod@2.1.1, bellowsfix@1.0.3, betterruins@0.6.3, bloodtrail@1.2.4, boattags@1.2.2, butchering@1.13.4, carryon@1.14.2, clothierheirloomsmod@1.1.0, commonlibforked@2.8.1, configlib@1.12.0, cooperativecombatrework@1.1.0, decoclockrevival@1.22.2, extrainfo@2.2.0, farseer@1.4.0, fillmybloomery@1.0.3, barrelhoop@1.0.1, kscartographytable@2.0.2, losslesswaterwheel@1.0.0, mwi@1.7.0, trailmodmaro@1.3.21, placeonslabs@1.1.3, realsmoke@1.3.1, rebuildablebloomery@1.0.6, scarecrow@1.8.2, schematicaplus122@1.0.4, shadehouse@1.2.3, statushudcont@4.3.1, stonebakeoven@1.3.5, stringsense@2.4.0, improvedmetallurgy@1.1.8, tintedanimalgenerations@0.1.0, visibleoresandminerals@1.3.1, vsairshipmod@1.1.3, creative@1.22.3, vsroofing@1.5.6, survival@1.22.3, watersheds@6.3.5, waypointtogetherreborn@2.4.1, woodenshuttersandmore@1.3.3, em@3.5.1, heraldry@2.0.0, medievalarchitecture@1.1.1, playercorpseforked@1.14.1, quiversfork@0.8.35, shearlib@1.3.0, tailorsdelight@2.2.2, terrainslabs@1.0.16, heraldrybanners@2.0.0, wool@1.9.2
System.NullReferenceException: Object reference not set to an instance of an object.
at Vintagestory.GameContent.WeatherSystemClient.OnRenderFrame(Single dt, EnumRenderStage stage) in VSEssentials\Systems\Weather\WeatherSystemClient.cs:line 150
at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\Util\ClientEventManager.cs:line 257
at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt) in VintagestoryLib\Client\ClientMain.cs:line 858
at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt) in VintagestoryLib\Client\ClientMain.cs:line 910
at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime) in VintagestoryLib\Client\ClientMain.cs:line 782
at Vintagestory.Client.GuiScreenRunningGame.RenderToPrimary(Single dt) in VintagestoryLib\Client\MainMenu\Screens\GuiScreenRunningGame.cs:line 173
at Vintagestory.Client.ScreenManager.Render(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 742
at Vintagestory.Client.ScreenManager.OnNewFrame(Single dt) in VintagestoryLib\Client\ScreenManager.cs:line 686
at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(FrameEventArgs e) in VintagestoryLib\Client\ClientPlatform\GameWindow.cs:line 112
at OpenTK.Windowing.Desktop.GameWindow.Run()
at Vintagestory.Client.ClientProgram.Start(ClientProgramArgs args, String[] rawArgs) in VintagestoryLib\Client\ClientProgram.cs:line 354
at Vintagestory.Client.ClientProgram.<>c__DisplayClass10_0.<.ctor>b__1() in VintagestoryLib\Client\ClientProgram.cs:line 131
at Vintagestory.ClientNative.CrashReporter.Start(ThreadStart start) in VintagestoryLib\Client\ClientPlatform\ClientNative\CrashReporter.cs:line 95

Event Log entries for Vintagestory.exe, the latest 3
==================================
{ TimeGenerated = 03/07/2026 14:37:16, 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: 0x52a4
Faulting application start time: 0x01dd0ae8965d1d2f
Faulting application path: E:\Hry\Vintagestory (1.22)\Vintagestory.exe
Faulting module path: E:\Hry\Vintagestory (1.22)\Lib\openal32.dll
Report Id: d03a34c2-d7a7-460b-96cd-3b8b162bb788
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 03/07/2026 14:35:58, 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: 0x3c0c
Faulting application start time: 0x01dd0ae71a648c10
Faulting application path: E:\Hry\Vintagestory (1.22)\Vintagestory.exe
Faulting module path: E:\Hry\Vintagestory (1.22)\Lib\openal32.dll
Report Id: 6344c82f-0c8a-4cb1-b1a6-4a566483f24b
Faulting package full name:
Faulting package-relative application ID: }
--------------
{ TimeGenerated = 21/06/2026 14:15:11, 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.7291, time stamp: 0x41c47fd8
Exception code: 0xe0434352
Fault offset: 0x0000000000025369
Faulting process id: 0x5100
Faulting application start time: 0x01dd01674675680d
Faulting application path: E:\Hry\Vintagestory (1.22)\Vintagestory.exe
Faulting module path: C:\Windows\System32\KERNELBASE.dll
Report Id: 836885b5-3065-4f40-8c52-d689235b4bbd
Faulting package full name:
Faulting package-relative application ID: }

TheFunkyFeetMan, Jul 1st at 12:49 PM

Hey, ive been having an issue with the "Stratum Movement Protection" on my server, Whenever I try to get onto either a boat or a horse or anything, my screen shakes violently and then kicks me for suspicious movement, is there a way to turn this off or maybe a way to find out whats causing the instability? i should mention that everything worked perfectly fine until there was a server crash now we cant use a boat or deactivate stratum.

imtsubaki , Jul 2nd at 1:52 PM
@TheFunkyFeetMan: Hey, ive been having an issue with the "Stratum Movement Protection" on my server, Whenever I try to get onto either a boat or a horse or anything, my screen shakes violently and then kicks me for suspicious movement, is there a way to turn this off or ma

Yes you can disable it in the stratum.json config It's under Anticheat -> Movement -> Enabled, or you can disable the Anticheat itself. I will look into this issue as well though, because vanilla behavior should be unaffected.

Jadesy, Jun 29th at 3:53 AM

Does this work in a Pterodactyl container system?

yurajoh, Jun 25th at 7:47 AM

We use AMP for instance management with VS, would this play nice you think?

berryland, Jun 22nd at 8:15 PM

Can this tool disable text channels for a server? I want to disable global/general chat, group chat, etc. To encourage proxy voice use and stop breaking RP.

PrinceSora, Jun 22nd at 6:40 AM

This looks great! Do you know if there are plans to support things like Discord-hooks, timed backups/restarts, etc...? 

imtsubaki , Jun 22nd at 4:15 PM
@PrinceSora: This looks great! Do you know if there are plans to support things like Discord-hooks, timed backups/restarts, etc...?

None at the moment, but it can be arranged surely. Feel free to open or post any suggestions in Discord on on the GitHub!

FAIV, Jun 20th at 8:43 PM

If I want to try this on my already set up Linux server could I just install it locally, copy over the servers data folder and put it back on the linux server?

Nitrometan, Jun 19th at 4:45 PM

Just a heads-up: On my modded Stratum server, Block Break hardening keeps kicking me out when mining clay deposits with steel shovel with +10% mining speed bonus from quenching at default Stratum settings. Don't really have time to test this in vanilla setup, so if anybody can confirm the issue that'd be great !

imtsubaki , Jun 20th at 11:37 AM
@Nitrometan: Just a heads-up: On my modded Stratum server, Block Break hardening keeps kicking me out when mining clay deposits with steel shovel with +10% mining speed bonus from quenching at default Stratum settings. Don't really have time to test this in vanilla se

Good to know it's still being problematic in some cases, it can be disabled in the config and some values tweaked if needed. I will look into it more, thank you.

r0zemary, Jun 18th at 9:23 PM

Does anyone know if singleplayer worlds with lots of mods (>200) might benefit from being run locally under this software?

ShubiMaja, Jun 12th at 6:37 AM

Are there plans to integrate with https://mods.vintagestory.at/temporalog (shipping metrics to influxdb) so we can view metrics in Grafana? Or at least expose a prometheus endpoint for scraping?

Rob0tmessiah, Jun 12th at 4:32 AM

When I use this with th3 essentials mod, essentials fails to load because both stratum and essentials are trying to use the serverinfo command. I understand both essentials and stratum have a bit of overlap with some of the functionality, but I really only use essentials for discord intergration and auto restarts/backups. Not sure if this would be something you would be willing to help with or give insight on, but I figured I'd reach out and give it a shot. 

imtsubaki , Jun 20th at 11:39 AM
@Rob0tmessiah: When I use this with th3 essentials mod, essentials fails to load because both stratum and essentials are trying to use the serverinfo command. I understand both essentials and stratum have a bit of overlap with some of the functionality, but I really onl

This is something I will keep in mind, while you can disable commands in the config I don't think this will fill your issue as based off how adding commands works, but we will come up with a fix.

Gazpa, Jun 10th at 1:55 AM

And here I was thinking I'd escape paper...

imtsubaki , Jun 20th at 11:38 AM
@Gazpa: And here I was thinking I'd escape paper...

You may never, paper always wins!

propaneko, Jun 9th at 9:48 PM

Is there a chance for an pterodactyl egg to use?

imtsubaki , Jun 10th at 12:22 PM
@propaneko: Is there a chance for an pterodactyl egg to use?

I believe there will be! Someone had mentioned they were going to make one, as soon as I know I will add it here! :)

Kotl, Jun 13th at 12:10 PM
@propaneko: Is there a chance for an pterodactyl egg to use?

I managed to run it on pterodactyl. I can share the egg.

propaneko, Jun 20th at 1:34 PM
@Kotl: I managed to run it on pterodactyl. I can share the egg.

Can you create a github gist for example?

qlVegetalp, Jun 9th at 8:39 PM (modified Jun 9th at 8:40 PM)

How do I use this on a paid server host also is this a replacement for synergy and tungsten and optitime or should it be used in conjunction with them

imtsubaki , Jun 9th at 8:44 PM
@qlVegetalp: How do I use this on a paid server host also is this a replacement for synergy and tungsten and optitime or should it be used in conjunction with them

I would not assume Synergy and Tungsten are compatible as they likely will try to patch things already tweaked or edited, Stratum includes optimizations very similar to both. And currently I do not believe any Vintagestory server hosts will allow it out of the box, maybe try emailing them and once some attention catches on it maybe theyll include it.