summaryrefslogtreecommitdiff
path: root/modules/websocket/doc_classes/WebSocketMultiplayerPeer.xml
blob: 7e896a0ca395930cb42ab5bb103dd76ac6128ac9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?xml version="1.0" encoding="UTF-8" ?>
<class name="WebSocketMultiplayerPeer" inherits="MultiplayerPeer" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../doc/class.xsd">
	<brief_description>
		Base class for WebSocket server and client.
	</brief_description>
	<description>
		Base class for WebSocket server and client, allowing them to be used as multiplayer peer for the [MultiplayerAPI].
		[b]Note:[/b] When exporting to Android, make sure to enable the [code]INTERNET[/code] permission in the Android export preset before exporting the project or using one-click deploy. Otherwise, network communication of any kind will be blocked by Android.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="create_client">
			<return type="int" enum="Error" />
			<param index="0" name="url" type="String" />
			<param index="1" name="verify_tls" type="bool" default="true" />
			<param index="2" name="tls_certificate" type="X509Certificate" default="null" />
			<description>
				Starts a new multiplayer client connecting to the given [param url]. If [param verify_tls] is [code]false[/code] certificate validation will be disabled. If specified, the [param tls_certificate] will be used to verify the TLS host.
				[b]Note[/b]: It is recommended to specify the scheme part of the URL, i.e. the [param url] should start with either [code]ws://[/code] or [code]wss://[/code].
			</description>
		</method>
		<method name="create_server">
			<return type="int" enum="Error" />
			<param index="0" name="port" type="int" />
			<param index="1" name="bind_address" type="String" default="&quot;*&quot;" />
			<param index="2" name="tls_key" type="CryptoKey" default="null" />
			<param index="3" name="tls_certificate" type="X509Certificate" default="null" />
			<description>
				Starts a new multiplayer server listening on the given [param port]. You can optionally specify a [param bind_address], and provide a [param tls_key] and [param tls_certificate] to use TLS.
			</description>
		</method>
		<method name="get_peer" qualifiers="const">
			<return type="WebSocketPeer" />
			<param index="0" name="peer_id" type="int" />
			<description>
				Returns the [WebSocketPeer] associated to the given [code]peer_id[/code].
			</description>
		</method>
		<method name="get_peer_address" qualifiers="const">
			<return type="String" />
			<param index="0" name="id" type="int" />
			<description>
				Returns the IP address of the given peer.
			</description>
		</method>
		<method name="get_peer_port" qualifiers="const">
			<return type="int" />
			<param index="0" name="id" type="int" />
			<description>
				Returns the remote port of the given peer.
			</description>
		</method>
	</methods>
	<members>
		<member name="handshake_headers" type="PackedStringArray" setter="set_handshake_headers" getter="get_handshake_headers" default="PackedStringArray()">
			The extra headers to use during handshake. See [member WebSocketPeer.handshake_headers] for more details.
		</member>
		<member name="handshake_timeout" type="float" setter="set_handshake_timeout" getter="get_handshake_timeout" default="3.0">
			The maximum time each peer can stay in a connecting state before being dropped.
		</member>
		<member name="inbound_buffer_size" type="int" setter="set_inbound_buffer_size" getter="get_inbound_buffer_size" default="65535">
			The inbound buffer size for connected peers. See [member WebSocketPeer.inbound_buffer_size] for more details.
		</member>
		<member name="max_queued_packets" type="int" setter="set_max_queued_packets" getter="get_max_queued_packets" default="2048">
			The maximum number of queued packets for connected peers. See [member WebSocketPeer.max_queued_packets] for more details.
		</member>
		<member name="outbound_buffer_size" type="int" setter="set_outbound_buffer_size" getter="get_outbound_buffer_size" default="65535">
			The outbound buffer size for connected peers. See [member WebSocketPeer.outbound_buffer_size] for more details.
		</member>
		<member name="supported_protocols" type="PackedStringArray" setter="set_supported_protocols" getter="get_supported_protocols" default="PackedStringArray()">
			The supported WebSocket sub-protocols. See [member WebSocketPeer.supported_protocols] for more details.
		</member>
	</members>
</class>