Orrery Terrain · OrreryTerrain module · struct
FOrreryTerrainNetSettings
ExperimentalThe network settings (Project Settings, Orrery Terrain, Network): built-in replication, request rules, pacing and checkpoints.
Declaration
USTRUCT(BlueprintType)
struct FOrreryTerrainNetSettingsThe graph as text
- Break Orrery Terrain Net Settings (structure)
- In Orrery Terrain Net Settings (OrreryTerrainNetSettings): not connected
- Out Built In Replication (Boolean): not connected
- Out Max Steps Per Second (Integer): not connected
- Out Max Edit Distance M (Double): not connected
- Out Flush Hz (Integer): not connected
- Out Client Flush Hz (Integer): not connected
- Out Window Bytes (Integer): not connected
- Out Checkpoint Seconds (Float): not connected
- Out Idle Checkpoint Seconds (Float): not connected
- Out Max Lag Megabytes (Integer): not connected
- Out Max Held Seconds (Float): not connected
- Out Max Held Records (Integer): not connected
- Out Server Residency Radius M (Double): not connected
- Out Max Edit Ground Tiles (Integer): not connected
- Out Max Links (Integer): not connected
- Out Max Stamp Tiles Per Second (Integer): not connected
- Out Max Upload Masks Per Author (Integer): not connected
- Out Max Upload Kilobytes Per Author (Integer): not connected
- Out Max Upload Mask Kilobytes (Integer): not connected
- Out Mask Upload Kilobytes Per Second (Integer): not connected
- Out Edit Policy Class (OrreryTerrainEditPolicy soft class): not connected
- Out Join Cache (Boolean): not connected
- Out Join Cache Megabytes (Integer): not connected
- Header
#include "Net/TerrainNetTypes.h"- Module
PublicDependencyModuleNames.Add("OrreryTerrain");in your module’s Build.cs.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Blueprint
- “Orrery Terrain Net Settings”, a Blueprint type
Description
Each property documents its default.
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
bBlueprintReadOnly | bool | true | Replicate terrain edits with the plugin's link actor. Off: wire OnTerrainRecordBP and ApplyTerrainRecord to your own transport. |
MaxBlueprintReadOnly | int32 | 60 | Brush steps a second the server takes from one player; the rest are refused (Rate). |
MaxBlueprintReadOnly | double | 0.0 | How far from the player's reported position a brush may land, metres; 0 is no limit. |
FlushBlueprintReadOnly | int32 | 15 | Record batches a second the server sends one link at most. |
ClientBlueprintReadOnly | int32 | 30 | Request batches a second a client sends at most. |
WindowBlueprintReadOnly | int32 | 196608 | Bytes the server keeps unacknowledged on one link before it waits, well below the reliable window. |
CheckpointBlueprintReadOnly | float | 2.0f | Seconds between checkpoints while the ground changes. |
IdleBlueprintReadOnly | float | 30.0f | Seconds between checkpoints while nothing changes. |
MaxBlueprintReadOnly | int32 | 16 | Megabytes of log a link may fall behind before it joins again from a snapshot. |
MaxBlueprintReadOnly | float | 2.0f | Seconds a request waits for the ground under it to load before it is refused (NotLoaded). |
MaxBlueprintReadOnly | int32 | 256 | Requests one player may have waiting; past it they are refused (NotLoaded). |
ServerBlueprintReadOnly | double | 1000.0 | How far the server keeps full-resolution ground resident around each accepted player's reported view and pawn, metres. The client cannot change it. On a dedicated server these places replace the player cameras as streaming sources, so ExactOnly reads and requests elsewhere answer Pending there; a game keeps other places resident with an invoker. Ground near a feature bakes only with the ground around it resident, up to about 720 m away. The server loads what is missing for ground within this radius by itself and lets it go after the bake, so a smaller radius costs loads, not correctness; the terrain's MaxBakeRequestTiles bounds it, and GetBakeWait says why ground still waits. 0 turns this off: a dedicated server then follows its player controllers at the terrain's ResidencyRadius_m. |
MaxBlueprintReadOnly | int32 | 200 | Base tiles of ground no player keeps resident that one held feature request, or one open stroke, may load; past it the request is refused (NotLoaded) and its Reason gives the count. A small plate far from every player needs about 64 tiles at a 1 m cell, and a tile holds about 33 KB of heights plus its paint and ground class, so the default is about 6.6 MB and 3 km². 0 is no limit. |
MaxBlueprintReadOnly | int32 | 0 | Links the server takes; 0 is no limit. One more is refused (Full). |
MaxBlueprintReadOnly | int32 | 2048 | Edit tiles of height stamps a second the server takes from one player (each stamp counts BrushTileCount), so one player's stamps cannot stall it; the rest are refused (Rate). 0 is no limit. |
MaxBlueprintReadOnly | int32 | 4 | Brush masks one player may upload this session, counting those still arriving. Uploads are off unless the edit policy's CanAddBrushMask allows them; 0 turns them off whatever it says. A player who joins again keeps the count; one who reconnects is another author and starts from 0 (count per account in CanAddBrushMask). |
MaxBlueprintReadOnly | int32 | 4096 | Kilobytes of brush masks one player may upload this session, counted as the masks' samples (Side x Side x Bits / 8). 0 turns uploads off. |
MaxBlueprintReadOnly | int32 | 2048 | The largest brush mask a client may upload, kilobytes of samples: 2048 takes a 1024 x 1024 16-bit height mask, not a 2048 one. An upload over half of MaxLagMegabytes is refused as well, so it can never send a player to a rejoin. 0 turns uploads off. |
MaskBlueprintReadOnly | int32 | 256 | Kilobytes a second a client sends of its brush mask uploads at most, so its other requests keep flowing. The brush steps that name the mask wait on the server meanwhile, up to 8 x MaxHeldRecords of them. |
EditBlueprintReadOnly | TSoft | — | The game's edit rules (ownership, zoning, money). Empty keeps the defaults: a client may edit ground anywhere but may change or remove only its own features, and may not use a reserved owner domain. |
bBlueprintReadOnly | bool | true | Keep each joined save on a client's disk, so a client that reconnects receives only what changed. The client checks every byte it takes from the kept save against the server's hashes and falls back to the full stream, saying why in the log. A server with this off ignores what clients name; a client with it off keeps and names nothing. |
JoinBlueprintReadOnly | int32 | 2048 | Megabytes of kept saves a client's join cache holds on disk (Saved/OrreryTerrain/JoinCache), across every server and map, the least recently used going first; a save over this is not kept. A file another client on this machine is reading stays until its next write. 0 turns the cache off. |
Blueprint
- Break Orrery Terrain Net SettingsMake and Break