MultiplayerPeerExtension๏ƒ Godot Course

Inherits: MultiplayerPeer < PacketPeer < RefCounted < Object

Class that can be inherited to implement custom multiplayer API networking layers via GDExtension.

Description๏ƒ

This class is designed to be inherited from a GDExtension plugin to implement custom networking layers for the multiplayer API (such as WebRTC). All the methods below must be implemented to have a working custom multiplayer implementation. See also MultiplayerAPI.

Methods๏ƒ

void

_close() virtual

void

_disconnect_peer(p_peer: int, p_force: bool) virtual

int

_get_available_packet_count() virtual const

ConnectionStatus

_get_connection_status() virtual const

int

_get_max_packet_size() virtual const

Error

_get_packet(r_buffer: const uint8_t **, r_buffer_size: int32_t*) virtual

int

_get_packet_channel() virtual const

TransferMode

_get_packet_mode() virtual const

int

_get_packet_peer() virtual const

PackedByteArray

_get_packet_script() virtual

int

_get_transfer_channel() virtual const

TransferMode

_get_transfer_mode() virtual const

int

_get_unique_id() virtual const

bool

_is_refusing_new_connections() virtual const

bool

_is_server() virtual const

bool

_is_server_relay_supported() virtual const

void

_poll() virtual

Error

_put_packet(p_buffer: const uint8_t*, p_buffer_size: int) virtual

Error

_put_packet_script(p_buffer: PackedByteArray) virtual

void

_set_refuse_new_connections(p_enable: bool) virtual

void

_set_target_peer(p_peer: int) virtual

void

_set_transfer_channel(p_channel: int) virtual

void

_set_transfer_mode(p_mode: TransferMode) virtual


Method Descriptions๏ƒ

void _close() virtual ๐Ÿ”—

Called when the multiplayer peer should be immediately closed (see MultiplayerPeer.close()).


void _disconnect_peer(p_peer: int, p_force: bool) virtual ๐Ÿ”—

Called when the connected p_peer should be forcibly disconnected (see MultiplayerPeer.disconnect_peer()).


int _get_available_packet_count() virtual const ๐Ÿ”—

Called when the available packet count is internally requested by the MultiplayerAPI.


ConnectionStatus _get_connection_status() virtual const ๐Ÿ”—

Called when the connection status is requested on the MultiplayerPeer (see MultiplayerPeer.get_connection_status()).


int _get_max_packet_size() virtual const ๐Ÿ”—

Called when the maximum allowed packet size (in bytes) is requested by the MultiplayerAPI.


Error _get_packet(r_buffer: const uint8_t **, r_buffer_size: int32_t*) virtual ๐Ÿ”—

Called when a packet needs to be received by the MultiplayerAPI, with r_buffer_size being the size of the binary r_buffer in bytes.


int _get_packet_channel() virtual const ๐Ÿ”—

Called to get the channel over which the next available packet was received. See MultiplayerPeer.get_packet_channel().


TransferMode _get_packet_mode() virtual const ๐Ÿ”—

Called to get the transfer mode the remote peer used to send the next available packet. See MultiplayerPeer.get_packet_mode().


int _get_packet_peer() virtual const ๐Ÿ”—

Called when the ID of the MultiplayerPeer who sent the most recent packet is requested (see MultiplayerPeer.get_packet_peer()).


PackedByteArray _get_packet_script() virtual ๐Ÿ”—

Called when a packet needs to be received by the MultiplayerAPI, if _get_packet() isn't implemented. Use this when extending this class via GDScript.


int _get_transfer_channel() virtual const ๐Ÿ”—

Called when the transfer channel to use is read on this MultiplayerPeer (see MultiplayerPeer.transfer_channel).


TransferMode _get_transfer_mode() virtual const ๐Ÿ”—

Called when the transfer mode to use is read on this MultiplayerPeer (see MultiplayerPeer.transfer_mode).


int _get_unique_id() virtual const ๐Ÿ”—

Called when the unique ID of this MultiplayerPeer is requested (see MultiplayerPeer.get_unique_id()). The value must be between 1 and 2147483647.


bool _is_refusing_new_connections() virtual const ๐Ÿ”—

Called when the "refuse new connections" status is requested on this MultiplayerPeer (see MultiplayerPeer.refuse_new_connections).


bool _is_server() virtual const ๐Ÿ”—

Called when the "is server" status is requested on the MultiplayerAPI. See MultiplayerAPI.is_server().


bool _is_server_relay_supported() virtual const ๐Ÿ”—

Called to check if the server can act as a relay in the current configuration. See MultiplayerPeer.is_server_relay_supported().


void _poll() virtual ๐Ÿ”—

Called when the MultiplayerAPI is polled. See MultiplayerAPI.poll().


Error _put_packet(p_buffer: const uint8_t*, p_buffer_size: int) virtual ๐Ÿ”—

Called when a packet needs to be sent by the MultiplayerAPI, with p_buffer_size being the size of the binary p_buffer in bytes.


Error _put_packet_script(p_buffer: PackedByteArray) virtual ๐Ÿ”—

Called when a packet needs to be sent by the MultiplayerAPI, if _put_packet() isn't implemented. Use this when extending this class via GDScript.


void _set_refuse_new_connections(p_enable: bool) virtual ๐Ÿ”—

Called when the "refuse new connections" status is set on this MultiplayerPeer (see MultiplayerPeer.refuse_new_connections).


void _set_target_peer(p_peer: int) virtual ๐Ÿ”—

Called when the target peer to use is set for this MultiplayerPeer (see MultiplayerPeer.set_target_peer()).


void _set_transfer_channel(p_channel: int) virtual ๐Ÿ”—

Called when the channel to use is set for this MultiplayerPeer (see MultiplayerPeer.transfer_channel).


void _set_transfer_mode(p_mode: TransferMode) virtual ๐Ÿ”—

Called when the transfer mode is set on this MultiplayerPeer (see MultiplayerPeer.transfer_mode).