Inheritance #

RefCounted

- AESContext
- AStar2D
- AStar3D
- AStarGrid2D
- AudioEffectInstance (1)
- AudioSample
- AudioSamplePlayback
- AudioStreamPlayback (5)
- CameraFeed
- CharFXTransform
- ConfigFile
- Crypto
- DTLSServer
- DirAccess
- ENetConnection
- EditorContextMenuPlugin
- EditorDebuggerPlugin
- EditorDebuggerSession
- EditorExportPlatform (6)
- EditorExportPlugin
- EditorExportPreset
- EditorFeatureProfile
- EditorFileSystemImportFormatSupportQuery
- EditorInspectorPlugin
- EditorResourceConversionPlugin
- EditorResourcePreviewGenerator
- EditorResourceTooltipPlugin
- EditorSceneFormatImporter (4)
- EditorScenePostImport
- EditorScenePostImportPlugin
- EditorScript
- EditorTranslationParserPlugin
- EncodedObjectAsID
- EngineProfiler
- Expression
- FileAccess
- GLTFObjectModelProperty
- HMACContext
- HTTPClient
- HashingContext
- ImageFormatLoader (1)
- JavaClass
- JavaObject
- JavaScriptObject
- KinematicCollision2D
- KinematicCollision3D
- Lightmapper (1)
- MeshConvexDecompositionSettings
- MeshDataTool
- MultiplayerAPI (2)
- Mutex
- NavigationPathQueryParameters2D
- NavigationPathQueryParameters3D
- NavigationPathQueryResult2D
- NavigationPathQueryResult3D
- Node3DGizmo (1)
- OggPacketSequencePlayback
- OpenXRAPIExtension
- PCKPacker
- PackedDataContainerRef
- PacketPeer (8)
- PhysicsPointQueryParameters2D
- PhysicsPointQueryParameters3D
- PhysicsRayQueryParameters2D
- PhysicsRayQueryParameters3D
- PhysicsShapeQueryParameters2D
- PhysicsShapeQueryParameters3D
- PhysicsTestMotionParameters2D
- PhysicsTestMotionParameters3D
- PhysicsTestMotionResult2D
- PhysicsTestMotionResult3D
- RDAttachmentFormat
- RDFramebufferPass
- RDPipelineColorBlendState
- RDPipelineColorBlendStateAttachment
- RDPipelineDepthStencilState
- RDPipelineMultisampleState
- RDPipelineRasterizationState
- RDPipelineSpecializationConstant
- RDSamplerState
- RDShaderSource
- RDTextureFormat
- RDTextureView
- RDUniform
- RDVertexAttribute
- RandomNumberGenerator
- RegEx
- RegExMatch
- RenderSceneBuffers (2)
- RenderSceneBuffersConfiguration
- Resource (103)
- ResourceFormatLoader
- ResourceFormatSaver
- ResourceImporter (16)
- SceneState
- SceneTreeTimer
- Semaphore
- SkinReference
- StreamPeer (5)
- SurfaceTool
- TCPServer
- TLSOptions
- TextLine
- TextParagraph
- TextServer (1)
- Thread
- TranslationDomain
- TriangleMesh
- Tween
- Tweener (5)
- UDPServer
- UPNP
- UPNPDevice
- WeakRef
- WebRTCPeerConnection (1)
- XMLParser
- XRInterface (4)
- XRPose
- XRTracker (2)
- ZIPPacker
- ZIPReader
MultiplayerPeerExtension
Table of contents

MultiplayerPeerExtension #

is_refcounted, is_instantiable, core, not_builtin_classes

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

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.

Members #

Methods #

virtual func _close() -> void#

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

virtual func _disconnect_peer(p_force: bool) -> void#

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

virtual const func _get_available_packet_count() -> int#

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

virtual const func _get_connection_status() -> intMultiplayerPeer.ConnectionStatus#

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

virtual const func _get_max_packet_size() -> int#

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

virtual func _get_packet(r_buffer_size: int32_t*) -> intError#

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.

virtual const func _get_packet_channel() -> int#

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

virtual const func _get_packet_mode() -> intMultiplayerPeer.TransferMode#

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

virtual const func _get_packet_peer() -> int#

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

virtual func _get_packet_script() -> PackedByteArray#

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.

virtual const func _get_transfer_channel() -> int#

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

virtual const func _get_transfer_mode() -> intMultiplayerPeer.TransferMode#

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

virtual const func _get_unique_id() -> int#

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

virtual const func _is_refusing_new_connections() -> bool#

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

virtual const func _is_server() -> bool#

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

virtual const func _is_server_relay_supported() -> bool#

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

virtual func _poll() -> void#

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

virtual func _put_packet(p_buffer_size: int) -> intError#

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.

virtual func _put_packet_script(p_buffer: PackedByteArray) -> intError#

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.

virtual func _set_refuse_new_connections(p_enable: bool) -> void#

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

virtual func _set_target_peer(p_peer: int) -> void#

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

virtual func _set_transfer_channel(p_channel: int) -> void#

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

virtual func _set_transfer_mode(p_mode: int enumMultiplayerPeer.TransferMode) -> void#

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

Annotations #

Constants #

Constructors #

Enums #

Operators #

Signals #

Theme Items #

Tutorials #