MultiplayerAPI

High Level Multiplayer API.

This class implements most of the logic behind the high level multiplayer API. By default, SceneTree has a reference to this class that is used to provide multiplayer capabilities (i.e. RPC/RSET) across the whole scene. It is possible to override the MultiplayerAPI instance used by specific Nodes by setting the Node.customMultiplayer property, effectively allowing to run both client and server in the same scene.

Members

Aliases

BaseClasses
alias BaseClasses = AliasSeq!(typeof(_GODOT_base), typeof(_GODOT_base).BaseClasses)
Undocumented in source.

Enums

Constants
enum Constants
RPCMode
enum RPCMode

Functions

_addPeer
void _addPeer(long id)
_connectedToServer
void _connectedToServer()
_connectionFailed
void _connectionFailed()
_delPeer
void _delPeer(long id)
_serverDisconnected
void _serverDisconnected()
clear
void clear()

Clears the current MultiplayerAPI network state (you shouldn't call this unless you know what you are doing).

getNetworkConnectedPeers
PoolIntArray getNetworkConnectedPeers()

Returns the peer IDs of all connected peers of this MultiplayerAPI's networkPeer.

getNetworkPeer
Ref!NetworkedMultiplayerPeer getNetworkPeer()
getNetworkUniqueId
long getNetworkUniqueId()

Returns the unique peer ID of this MultiplayerAPI's networkPeer.

getRpcSenderId
long getRpcSenderId()

Returns the sender's peer ID for the RPC currently being executed. NOTE: If not inside an RPC this method will return 0.

hasNetworkPeer
bool hasNetworkPeer()

Returns true if there is a networkPeer set.

isNetworkServer
bool isNetworkServer()

Returns true if this MultiplayerAPI's networkPeer is in server mode (listening for connections).

isRefusingNewNetworkConnections
bool isRefusingNewNetworkConnections()
opAssign
MultiplayerAPI opAssign(T n)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(MultiplayerAPI other)
Undocumented in source. Be warned that the author may not have intended to support it.
opEquals
bool opEquals(typeof(null) n)
Undocumented in source. Be warned that the author may not have intended to support it.
poll
void poll()

Method used for polling the MultiplayerAPI. You only need to worry about this if you are using Node.customMultiplayer override or you set SceneTree.multiplayerPoll to false. By default SceneTree will poll its MultiplayerAPI for you. NOTE: This method results in RPCs and RSETs being called, so they will be executed in the same context of this function (e.g. _process, physics, Thread).

sendBytes
GodotError sendBytes(PoolByteArray bytes, long id, long mode)

Sends the given raw bytes to a specific peer identified by id (see NetworkedMultiplayerPeer.setTargetPeer). Default ID is 0, i.e. broadcast to all peers.

setNetworkPeer
void setNetworkPeer(NetworkedMultiplayerPeer peer)
setRefuseNewNetworkConnections
void setRefuseNewNetworkConnections(bool refuse)
setRootNode
void setRootNode(GodotObject node)

Sets the base root node to use for RPCs. Instead of an absolute path, a relative path will be used to find the node upon which the RPC should be executed. This effectively allows to have different branches of the scene tree to be managed by different MultiplayerAPI, allowing for example to run both client and server in the same scene.

Mixins

__anonymous
mixin baseCasts
Undocumented in source.

Properties

networkPeer
NetworkedMultiplayerPeer networkPeer [@property setter]

The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with isNetworkServer) and will set root node's network mode to master (see NETWORK_MODE_* constants in Node), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.

networkPeer
NetworkedMultiplayerPeer networkPeer [@property getter]

The peer object to handle the RPC system (effectively enabling networking when set). Depending on the peer itself, the MultiplayerAPI will become a network server (check with isNetworkServer) and will set root node's network mode to master (see NETWORK_MODE_* constants in Node), or it will become a regular peer with root node set to puppet. All child nodes are set to inherit the network mode by default. Handling of networking-related events (connection, disconnection, new clients) is done by connecting to MultiplayerAPI's signals.

refuseNewNetworkConnections
bool refuseNewNetworkConnections [@property getter]
bool refuseNewNetworkConnections [@property setter]

If true the MultiplayerAPI's networkPeer refuses new incoming connections.

Static functions

_new
MultiplayerAPI _new()
Undocumented in source. Be warned that the author may not have intended to support it.

Static variables

_classBindingInitialized
bool _classBindingInitialized;
Undocumented in source.

Structs

_classBinding
struct _classBinding
Undocumented in source.

Unions

__anonymous
union __anonymous
Undocumented in source.

Variables

_GODOT_internal_name
enum string _GODOT_internal_name;
Undocumented in source.

Mixed In Members

From mixin baseCasts

as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
To as()
Undocumented in source. Be warned that the author may not have intended to support it.
as
ToRef as()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(To)
Undocumented in source.
opCast
template opCast(ToRef)
Undocumented in source.
opCast
void* opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
godot_object opCast()
Undocumented in source. Be warned that the author may not have intended to support it.
opCast
bool opCast()
Undocumented in source. Be warned that the author may not have intended to support it.

Meta