51 lines
1.3 KiB
GDScript3
51 lines
1.3 KiB
GDScript3
|
|
extends Node
|
||
|
|
|
||
|
|
var port = 42069
|
||
|
|
|
||
|
|
func create_server() -> void:
|
||
|
|
print(multiplayer.multiplayer_peer)
|
||
|
|
var peer = ENetMultiplayerPeer.new()
|
||
|
|
|
||
|
|
setup_connections()
|
||
|
|
|
||
|
|
var error = peer.create_server(port)
|
||
|
|
if error:
|
||
|
|
push_error(error)
|
||
|
|
return
|
||
|
|
|
||
|
|
multiplayer.multiplayer_peer = peer
|
||
|
|
|
||
|
|
print("Server Unique ID: ", multiplayer.get_unique_id())
|
||
|
|
|
||
|
|
func create_client() -> void:
|
||
|
|
setup_connections()
|
||
|
|
|
||
|
|
var peer = ENetMultiplayerPeer.new()
|
||
|
|
var error = peer.create_client("127.0.0.1", port)
|
||
|
|
if error:
|
||
|
|
push_error(error)
|
||
|
|
return
|
||
|
|
|
||
|
|
multiplayer.multiplayer_peer = peer
|
||
|
|
print("Client Unique ID: ", multiplayer.get_unique_id())
|
||
|
|
|
||
|
|
func setup_connections():
|
||
|
|
multiplayer.peer_connected.connect(on_peer_connected)
|
||
|
|
multiplayer.peer_disconnected.connect(on_peer_disconnected)
|
||
|
|
multiplayer.connected_to_server.connect(on_connected_to_server)
|
||
|
|
|
||
|
|
func on_peer_connected(peer_id: int) -> void:
|
||
|
|
print("Peer %s recieved connection: %s" % [multiplayer.get_unique_id(), peer_id])
|
||
|
|
|
||
|
|
# For each peer that connects, we put them in the queue to spawn
|
||
|
|
if multiplayer.is_server():
|
||
|
|
GameManager.queue_spawn_player(peer_id)
|
||
|
|
|
||
|
|
|
||
|
|
func on_peer_disconnected(peer_id: int) -> void:
|
||
|
|
print("Peer %s lost connection to: %s" % [multiplayer.get_unique_id(), peer_id])
|
||
|
|
print(multiplayer.get_peers())
|
||
|
|
|
||
|
|
func on_connected_to_server() -> void:
|
||
|
|
print("%s connected to server!" % multiplayer.get_unique_id())
|