Orbdale Terrain · OrbdaleTerrain module · class
UOrbdaleTerrainNetSubsystem
ExperimentalReplicates one world's terrain edits: the server keeps one ordered log of authoritative records and serves a link per client; each client applies the records as a replica and sends its edits as requests.
Declaration
UCLASS()
class UOrbdaleTerrainNetSubsystem : public UTickableWorldSubsystem- Header
#include "Net/OrbdaleTerrainNetSubsystem.h"- Module
PublicDependencyModuleNames.Add("OrbdaleTerrain");in your module’s Build.cs.- Stability
- Experimental: supported, may change in a minor version, with a changelog line.
- Thread
- Tier 3, game thread.
- Derives from
UTickableWorldSubsystem- Blueprint
- “Orbdale Terrain Net Subsystem”, a Blueprint type
Description
On a listen or dedicated server it starts at BeginPlay and opens a link (AOrbdaleTerrainNetLink) for each remote player at login. On a client the link's arrival starts the client side: the Hello, the join, then records. The sculpt component and the async commit nodes route a replica's edits here. Turn it off with UOrbdaleTerrainSettings::Network.bBuiltInReplication for a game with its own transport, which then uses the terrain subsystem's record stream (AddRecordListener, ApplyTerrainRecord) directly.
Tier 3, game thread. Game and PIE worlds only. Experimental.
Functions
- UOrbdaleTerrainNetSubsystem
- ShouldCreateSubsystem
- Initialize
- Deinitialize
- OnWorldBeginPlay
- Tick
- GetStatId
- IsTickable
- GetNetRoleBlueprint
Server, Client, or None (standalone, or replication off).
- GetNetStatsBlueprint
Counters of this side: records, bytes, requests, checkpoints, rejoins.
- IsClientLiveBlueprint
A client past its join: it applies records and its edits go to the server.
- GetJoinRefusalBlueprint
Why the server refused this client's join; None while it has not.
- RequestSculpt
Send a sculpt command in the client's stroke numbering.
- RequestUndo
Ask the server to undo (or redo) this player's newest stroke.
- RequestFeature
Ask the server to commit a feature (Id 0 adds).
- RequestRemoveFeature
Ask the server to remove a feature.
- FindRequestResult
A request's outcome once it arrived.
- GetAppliedSeq
The newest server record this client applied; 0 before its join.
- KeepsGroundFromLinks
Whether this machine serves and keeps the ground resident around its links (ServerResidencyRadius_m above 0).
- StartServer
Become the server now (BeginPlay does it on a listen or dedicated server).
- AddClientLink
Serve a client over Channel.
- RemoveClientLink
Close a link AddClientLink opened.
- StartClient
Become a client that talks to the server over Channel (a link actor's arrival does it).
- StopNet
Stop either side.
- SetNetSettings
Replace the settings (tests): call it before StartServer or StartClient.
- SetEditPolicy
The edit policy the server asks.
- SetManualTick
Tick only through TickNet (tests drive both sides on one clock).
- TickNet
One net tick: the client side, then the server side.
- SetInterestOverride
Report this interest instead of the local player's view (tests, a camera the player does not own).
- GetLinkAuthor
The author id the server gave a link (its records carry it); 0 for an unknown link.
- GetClientAuthor
The author id the server gave this client; 0 before its Welcome.
- ClientReceiveWelcome
- ClientReceiveRefuseJoin
- ClientReceiveJoinChunk
- ClientReceiveRecords
- ClientReceiveResults
- ClientReceiveRepairLeaves
- ClientReceiveRepair
- ServerReceiveHello
- ServerReceiveRequests
- ServerReceiveAck
- ServerReceiveInterest
- ServerReceiveRepairRequest
- ServerReceiveJoinHeld
- LinkBeganPlay
A link actor's side, from its BeginPlay and EndPlay.
- LinkEndedPlay
Properties
| Name | Type | Default | Meaning |
|---|---|---|---|
OnBlueprintAssignable | FOn | — | Each outcome of this client's requests: refusals, and the answers to undo and feature requests. |
On | FOn | — | C++ twin of OnRequestResultBP, broadcast first, for code that has no UObject to bind (tools, tests). Game thread. |
Blueprint
- Bind Event to On Request Result BPOrbdale › Terrain › Events
- Get Join RefusalOrbdale › Terrain › Net
- Get Net RoleOrbdale › Terrain › Net
- Get Net StatsOrbdale › Terrain › Net
- Is Client LiveOrbdale › Terrain › Net