diff --git a/server.gd b/server.gd index c3e32fc..14cfe2e 100644 --- a/server.gd +++ b/server.gd @@ -3,15 +3,13 @@ extends Node3D @onready var menu = $UI/Menu @onready var address_entry = $UI/Menu/MarginContainer/VBoxContainer/LineEdit -const PORT = 9999 -const PLAYER = preload("res://player/player.tscn") +const port = 9999 +const player_scene = preload("res://player/player.tscn") var peer = ENetMultiplayerPeer.new() - - func _on_server_button_pressed() -> void: menu.hide() - peer.create_server(PORT) + peer.create_server(port) multiplayer.multiplayer_peer = peer multiplayer.peer_connected.connect(add_player) multiplayer.peer_disconnected.connect(remove_player) @@ -19,34 +17,34 @@ func _on_server_button_pressed() -> void: add_player(multiplayer.get_unique_id()) upnp_setup() - + func _on_client_button_pressed() -> void: menu.hide() - peer.create_client(address_entry.text,PORT) + peer.create_client(address_entry.text, port) multiplayer.multiplayer_peer = peer - + func add_player(peer_id): - var player = PLAYER.instantiate() + var player = player_scene.instantiate() player.name = str(peer_id) add_child(player) - + func remove_player(peer_id): var player = get_node_or_null(str(peer_id)) if player: player.queue_free() - + func upnp_setup(): var upnp = UPNP.new() - - var discover_result = upnp.discover() - assert(discover_result == UPNP.UPNP_RESULT_SUCCESS, \ - "UPNP Discover Failed! Error %s" % discover_result) - assert(upnp.get_gateway() and upnp.get_gateway().is_valid_gateway(), \ - "UPNP Invalid Gateway!") - - var map_result = upnp.add_port_mapping(PORT) - assert(map_result == UPNP.UPNP_RESULT_SUCCESS, \ - "UPNP Port Mapping Failed ! Error %s" % map_result) - - print("Success! Join Adress: %s" % upnp.query_external_address()) - + + if upnp.discover() != UPNP.UPNP_RESULT_SUCCESS: + return false + + var gateway = upnp.get_gateway() + if not gateway.is_valid_gateway(): + return false + + if upnp.add_port_mapping(port) != UPNP.UPNP_RESULT_SUCCESS: + return false + + print("Address: " + upnp.query_external_address()) + return true