Offline World Time — keep the clock running on an empty server (by this site's author)
Vanilla freezes world time when the last player leaves. This keeps it advancing while the server is empty, so the blood moon countdown and crop growth do not stall. Server-side only.
Details
> **This mod was written by this site's author (toshi dev).**
The problem
Vanilla **freezes world time the moment the last player disconnects.** On an empty server that means **the blood moon countdown and crop growth both stall.**
Log in after a few days away and the world is exactly as you left it. On a public server, "the next horde night is in N days" quietly stops being true while nobody is online.
This mod advances time **only while the server is empty**.
Design decisions
**It does nothing while players are connected.** Vanilla progression is untouched. This is not an accelerator; it moves the clock only when vanilla has stopped it.
**The rate comes from the server's own `DayNightLength`.** An empty server runs at the same pace as a populated one, so **there is no time jump when someone logs in.**
**Fractional ticks are carried between frames** rather than truncated. Truncating would let the clock drift behind over long idle periods.
Verification
Tested on a **dedicated Linux server with 75 mods loaded**.
```
At DayNightLength=60: 78 in-game minutes per 3 real minutes
(theoretical 72)
```
A build without the server-side guard produced identical results, confirming **the guard does not break progression**.
Requirements
| | |
|---|---|
| Game version | **V3.0 / V3.1** |
| EAC | must be **off** — this is a Harmony code mod |
| Harmony | uses `0_TFP_Harmony` bundled with V3. **No other mods required** |
| Install on | **the server only; clients install nothing** |
Singleplayer works too, since you are the server in that case.
Confirming it loaded, and configuration
This line appears in the server log at startup:
```
initialized (speed x1)
```
The empty-server pace can be changed with the **`OWT_SPEED`** environment variable.
| Value | Behaviour |
|---|---|
| `1` | same as populated (default) |
| `2` | twice as fast |
| `0` | disabled |
Installation
Extract the ZIP and copy the `OfflineWorldTime` folder into **your server's** `Mods` folder, then restart. **Launch with EAC disabled.** Clients need nothing. Set the `OWT_SPEED` environment variable to change the empty-server pace.