multiplayer: fixes (squash 4da6)

This commit is contained in:
Jeremy Baxter 2026-01-27 13:21:08 +13:00
parent 4da6d0efba
commit caaa09e517

View file

@ -3,15 +3,13 @@ extends Node3D
@onready var menu = $UI/Menu @onready var menu = $UI/Menu
@onready var address_entry = $UI/Menu/MarginContainer/VBoxContainer/LineEdit @onready var address_entry = $UI/Menu/MarginContainer/VBoxContainer/LineEdit
const PORT = 9999 const port = 9999
const PLAYER = preload("res://player/player.tscn") const player_scene = preload("res://player/player.tscn")
var peer = ENetMultiplayerPeer.new() var peer = ENetMultiplayerPeer.new()
func _on_server_button_pressed() -> void: func _on_server_button_pressed() -> void:
menu.hide() menu.hide()
peer.create_server(PORT) peer.create_server(port)
multiplayer.multiplayer_peer = peer multiplayer.multiplayer_peer = peer
multiplayer.peer_connected.connect(add_player) multiplayer.peer_connected.connect(add_player)
multiplayer.peer_disconnected.connect(remove_player) multiplayer.peer_disconnected.connect(remove_player)
@ -22,11 +20,11 @@ func _on_server_button_pressed() -> void:
func _on_client_button_pressed() -> void: func _on_client_button_pressed() -> void:
menu.hide() menu.hide()
peer.create_client(address_entry.text,PORT) peer.create_client(address_entry.text, port)
multiplayer.multiplayer_peer = peer multiplayer.multiplayer_peer = peer
func add_player(peer_id): func add_player(peer_id):
var player = PLAYER.instantiate() var player = player_scene.instantiate()
player.name = str(peer_id) player.name = str(peer_id)
add_child(player) add_child(player)
@ -38,15 +36,15 @@ func remove_player(peer_id):
func upnp_setup(): func upnp_setup():
var upnp = UPNP.new() var upnp = UPNP.new()
var discover_result = upnp.discover() if upnp.discover() != UPNP.UPNP_RESULT_SUCCESS:
assert(discover_result == UPNP.UPNP_RESULT_SUCCESS, \ return false
"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) var gateway = upnp.get_gateway()
assert(map_result == UPNP.UPNP_RESULT_SUCCESS, \ if not gateway.is_valid_gateway():
"UPNP Port Mapping Failed ! Error %s" % map_result) return false
print("Success! Join Adress: %s" % upnp.query_external_address()) if upnp.add_port_mapping(port) != UPNP.UPNP_RESULT_SUCCESS:
return false
print("Address: " + upnp.query_external_address())
return true