Mods / Stratum - High-performance server software.
- Tags:
- 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
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.
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.
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.
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.
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.
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.
| 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
| ||||
| 0.1.5 | 5 | 3 days ago | Release Retracted | |
Retraction Reason:Patcher error Changelog:What's Changed
Full Changelog: | ||||
| 0.1.4 | 76 | Jul 3rd at 11:40 PM | stratum-1.22.3-stratum.14-win-x64.zip | |
What's Changed
Full Changelog: | ||||
| 0.1.4 | 1 | Jul 3rd at 5:17 PM | Release Retracted | |
Retraction Reason:fml Changelog:What's Changed
Full Changelog: | ||||
| 0.1.4 | Jul 3rd at 11:42 AM | Release Retracted | ||
Retraction Reason:Patching file causing issues. Changelog:What's Changed
Full Changelog: | ||||
| 0.1.3 | 12 | Jul 2nd at 3:22 PM | Release Retracted | |
Retraction Reason:Bugged Changelog:
Full Changelog: | ||||
| 0.1.2 | 52 | Jun 30th at 5:38 PM | stratum-1.22.3-stratum.12-win-x64.zip | |
Full Changelog: | ||||
| 0.1.1 | 34 | Jun 28th at 10:22 PM | stratum-1.22.3-stratum.11-win-x64.zip | |
Full Changelog: | ||||
| 0.1.0 | 16 | Jun 28th at 2:19 PM | stratum-1.22.3-stratum.10-win-x64.zip | |
| ||||
| 0.0.9 | 73 | Jun 22nd at 4:18 PM | stratum-1.22.3-stratum.9-win-x64.zip | |
What's Changed
Full Changelog: | ||||
| 0.0.8 | 43 | Jun 20th at 12:53 PM | stratum-1.22.3-stratum.8-win-x64.zip | |
What's Changed
New Contributors
| ||||
| 0.0.7 | 82 | Jun 9th at 6:44 PM | stratum-1.22.3-stratum.7-win-x64.zip | |
|
https://github.com/trevorftp/Stratum/releases/tag/v1.22.3-stratum.7 | ||||


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?
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!
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
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
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.
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.
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
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.
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?
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.
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.
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?
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.
edit: nvm
Sounds like someone was cheating and got upset they were caught ^.^
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.
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.
Gotcha, thanks for the info!
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).
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.
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: }
The stupid git release action was outputting broken patches, it will be fixed in a moment. Sorry about that!
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.
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.
Does this work in a Pterodactyl container system?
Yes it does!
if you don't mind, why ask?
We use AMP for instance management with VS, would this play nice you think?
It should yes.
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.
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!
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?
Yes you can!
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 !
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.
Does anyone know if singleplayer worlds with lots of mods (>200) might benefit from being run locally under this software?
You would see some benefit even in a vanilla singleplayer world.
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?
A few have requested it, so I would say yes. Eventually.
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.
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.
And here I was thinking I'd escape paper...
You may never, paper always wins!
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! :)
I managed to run it on pterodactyl. I can share the egg.
Can you create a github gist for example?
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.