Back to mods

Vintage Story Mod DB · Vintage Story mod

River Flow Control (Server)

A companion mod for Rivers. Requires Rivers to be installed. Server-side only — players install nothing and there is no version for them to match. The problem Setting disableFlow: true in Rivers' config does not stop boats drifting. It looks like it wo

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which River Flow Control (Server) release should I use?

Updated last month
Latest stable file 1.0.0
Game version 1.22.3, 1.22.4, 1.22.5
Loader Built-in Vintage Story mod system

River Flow Control (Server) 1.0.0 targets 1.22.3, 1.22.4, 1.22.5. It must be installed on the client. Installation on the dedicated server is optional. All 1 required mods have matching files.

Where it goes

Is River Flow Control (Server) required on the client, server, or both?

It must be installed on the client. Installation on the dedicated server is optional.

Client Required
Dedicated server Optional
Loader for this release Built-in Vintage Story mod system
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

This release supports both sides, but the source does not require it on the server.

What else does River Flow Control (Server) 1.0.0 need?

1.0.0. Change the file and its required mods may change too.

All 1 required mods have matching files

Install Rivers first. We found matching files for this game-version and loader setup.

Rivers Needed by River Flow Control (Server) 1.0.0
required
Matching file found Matched file: 5.0.3

We only count dependency files that match this setup. A file for another loader does not fill the gap.

Before you install it

Add River Flow Control (Server) without breaking your instance.

Built for River Flow Control (Server) 1.0.0. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use 1.0.0. It targets 1.22.3, 1.22.4, 1.22.5; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    Install Rivers first. We found matching files for this game-version and loader setup.

  3. 03

    Put it on the correct side

    It must be installed on the client. Installation on the dedicated server is optional.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside 1.0.0. It opens that exact file at the source.

About this project

What does River Flow Control (Server) add?

A companion mod for Rivers. Requires Rivers to be installed. Server-side only — players install nothing and there is no version for them to match.

The problem

Setting disableFlow: true in Rivers' config does not stop boats drifting. It looks like it works for whoever is driving, and then someone watches an unattended boat sail off downriver.

Rivers applies its current as a Harmony patch category called "flow", and Patch() runs on both sides. That category is not only rendering — it also patches EntityBoat and PModuleInLiquid, which is the physics that actually pushes things downstream.

The only thing that ever switches it off is RePatchFlow(), which unpatches the category when the static ClientFlowDisabled is true. But that flag is assigned in exactly one place: OnSpeedMessage, a client packet handler. Server-side it stays false forever, so RePatchFlow() is a no-op there.

So disableFlow only ever produces a packet asking clients to unpatch themselves. The server keeps its own flow patches and keeps pushing entities, no matter what the config says. Whether a boat drifts then depends on which side is simulating it, which is why it looks intermittent.

What this does

Sets the flag on the server and calls Rivers' own RePatchFlow(), so the flow patches come off the server too.

  • Reads Rivers' own ModConfig/rivers.json — there is no second setting to keep in sync. Set disableFlow there and it is enforced. Leave it false and this mod stays out of the way.
  • Re-applies on a timer, because Rivers re-runs Patch() on several paths.
  • Pure reflection, with no compile-time reference to Rivers. If a future version renames something, this logs a warning and leaves your server running rather than breaking it.

It logs plainly what it did:

[RiverFlowServer] server river flow forced OFF (was False) - EntityBoat and PModuleInLiquid unpatched

Do I also need the client mod?

Usually not. Rivers already broadcasts the setting to each player on join and their client unpatches itself. This fixes the half that nothing was fixing. My separate River Flow Control forces the client side as well, if you want belt and braces.

Project description from Vintage Story Mod DB.

Pick your setup

River Flow Control (Server) releases for each Vintage Story version.

Choose the version and loader you play, then open the matching release.

5 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

River Flow Control (Server) versions and loaders

1 of 1 releases match

Looking for an older file? The official Vintage Story Mod DB project page is in Resources.