Networking¶
10 tools. Back to the index.
configure_replication¶
Destructive, idempotent.
Configures the replication of an editor-world actor: movement (bReplicateMovement) and lifecycle (bReplicates: the actor is spawned and destroyed on clients). Both are read back. Physics has no switch of its own in the engine -- a simulating root's state travels with movement replication -- so replicate_physics is reported in not_applied.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | The name of the actor to configure replication for |
replicate_movement |
boolean | no | Whether to replicate movement (optional, default true; always applied) |
replicate_physics |
boolean | no | Whether to replicate physics (optional; NOT applied, see the description; listed in not_applied when sent) |
replicate_lifecycle |
boolean | no | Whether the actor replicates at all, i.e. exists on clients (optional; applied only when sent). Movement replication does nothing without it. |
Returns: { actor_name: string, replication_configured: bool, message: string, previous_settings: { replicate_movement: bool, replicate_lifecycle: bool }, new_settings: { replicate_movement: bool, replicate_lifecycle?: bool }, actual_settings: { replicate_movement: bool, replicate_lifecycle: bool }, not_applied?: [string], actor_valid: bool, actor_class: string }
get_dedicated_server_status¶
Read-only.
Polls the state of the most recent launch_dedicated_server job: running / finished / canceled, with elapsed time and a tail of captured process output. Honest has_server:false if no server was ever launched this editor session.
No parameters.
Returns: { has_server: bool, running?: bool, finished?: bool, canceled?: bool, exit_code?: int, command_line?: string, elapsed_seconds?: number, output_tail?: string }
get_network_info¶
Read-only.
Retrieves comprehensive network information including NetDriver, replicated actors, GameState, and PlayerController details.
No parameters.
Returns: { world_name: string, world_valid: bool, net_mode: string, net_driver_info: { class?: string, max_net_tick_rate?: number, net_server_max_tick_rate?: number, connection_count?: number }, replicated_actors: [{ name: string, class: string, local_role: string, is_replicated: bool }], replicated_actor_count: number, game_state_info?: { class: string, player_count: number, is_valid: bool }, player_controller_info?: { class: string, is_valid: bool, is_local_player: bool } }
get_network_settings¶
Read-only.
Retrieves current network configuration and settings for the world including NetDriver, GameState, players, and config file settings.
No parameters.
Returns: { world_name: string, world_valid: bool, net_mode: string, has_net_driver: bool, net_driver_class: string?, net_driver_settings: { max_net_tick_rate: number, net_server_max_tick_rate: number }?, has_replication_driver: bool, replication_driver_class: string, has_game_state: bool, game_state_class: string?, player_count: number?, players: [{ player_name: string, player_id: number, is_valid: bool, player_class: string }]?, config_settings: { default_platform_service: string?, default_identity_interface: string?, max_players: number, use_dedicated_server: bool } }
get_replication_info¶
Read-only.
Read one actor's current replication settings -- the exact read-side of configure_replication, returning the same fields it can write (replicate_movement, replicate_physics, net_load_on_client, net_use_owner_relevancy...), so a read-check-write round trip lines up field for field. For a whole-project sweep use audit_replication; to enumerate the replicated actors in the world, list_replicated_actors.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Engine actor name (matches GetName()) |
Returns: { actor_name, actor_class, replicate_movement, replicate_physics, net_load_on_client, net_use_owner_relevancy, always_relevant, bReplicateMovement?, bReplicates?, dormancy?, net_dormancy_int? }
get_world_net_mode¶
Read-only.
Read the net mode of the editor world as a string ("Standalone", "ListenServer", "Client" or "DedicatedServer") with net_mode_code, is_server and is_client. Read-only, no parameters; PIE worlds are not read, so this normally reports "Standalone".
No parameters.
Returns: { net_mode: string, net_mode_code: int, is_server: bool, is_client: bool }
launch_dedicated_server¶
Destructive.
Relaunches the CURRENT editor binary with "-server -log": a real, non-rendering, network-listening game instance (GIsServer=true/GIsClient=false/GIsEditor=false -- confirmed via UE 5.8 source: StaticDedicatedServerCheck/SetIsRunningAsDedicatedServer in LaunchEngineLoop.cpp, FApp::CanEverRender()==false whenever IsRunningDedicatedServer()). This is honestly NOT a Server.Target.cs shipping build (still the full editor binary, WITH_EDITOR=1) -- it closes only the TESTABLE half of the dedicated-server gap; real server packaging is out of scope. Async, like start_package_build: returns immediately once the process is launched, poll get_dedicated_server_status for output/exit; the server never exits on its own, so call stop_dedicated_server to terminate it. Refuses to launch a second server while one is already running (honest, not silently queued/clobbered).
| Parameter | Type | Required | Description |
|---|---|---|---|
extra_args |
string | no | Optional raw extra command-line arguments appended verbatim after "-server -log" (e.g. "-port=8888"). |
Returns: { server_started: bool, already_running: bool, command_line: string, note: string }
list_replicated_actors¶
Read-only.
Enumerate the actors with bReplicates=true in the EDITOR world, optionally filtered by local_role (Authority | SimulatedProxy | AutonomousProxy | None). It reports each actor's local and remote role, so it is the cheap way to find what is even eligible to replicate before spending a PIE session on it; for a per-actor detail read use get_replication_info, and for a project-wide Blueprint sweep audit_replication.
| Parameter | Type | Required | Description |
|---|---|---|---|
role_filter |
string | no | Optional ENetRole string (case-insensitive); omit for all replicated actors. |
Returns: { world_name, total, role_filter?, actors:[{ actor_name, actor_class, local_role, remote_role, is_replicated, net_dormancy }] }
set_network_authority¶
Destructive, idempotent.
Set the local net role (AActor::SetRole) of an editor-world actor, found by object name rather than label, to Authority, SimulatedProxy, AutonomousProxy or None (case-insensitive; any other value is an error before anything changes). Only that placed instance's in-memory Role changes: RemoteRole and replication settings stay as they are, there is no undo entry and the level is not marked dirty. authority_set compares the role read back with the request. Read roles with get_net_role (by label) or list_replicated_actors; choose what replicates with configure_replication or set_actor_replicates.
| Parameter | Type | Required | Description |
|---|---|---|---|
actor_name |
string | yes | Object name of the editor-world actor (case-insensitive); labels are not matched |
authority |
string | yes | The network authority role to set; valid values: Authority, SimulatedProxy, AutonomousProxy, None |
Returns: { actor_name: string, authority_set: bool, previous_authority: string, requested_authority: string, actual_authority: string, actor_valid: bool, actor_class: string }
stop_dedicated_server¶
Destructive.
Terminates the in-progress dedicated server, if one is running (honest no-op otherwise). FMonitoredProcess::Cancel(true) kills the whole process tree.
No parameters.
Returns: { stopped: bool, was_running: bool }