Files
millimeters-of-aluminum/scripts/network/network_handler.gd
2025-11-05 12:15:32 +01:00

51 lines
1.3 KiB
GDScript

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())