I am learning how to use Godot's multiplayer support, and I have run into a problem I can't resolve (and can't find a question and answer that fits my problem). I have distilled my problem down to the code I'm posting below. I also have the same code in a ready-to-use Godot project at https://www.soapspangledgames.com/godot/Server.zip
I'm using a custom compiled Godot 3.2 alpha.
Here is my server code (Server.tscn):
extends Node
var m_nPort = 50000
var m_nMaxPlayers = 10
var m_server
var m_aPlayers = Array()
func _ready():
createServer()
connectEvents()
func createServer():
print("Creating server on port " + str(m_nPort))
m_server = NetworkedMultiplayerENet.new()
m_server.create_server(m_nPort,m_nMaxPlayers)
get_tree().set_network_peer(m_server)
func connectEvents():
m_server.connect("peer_connected",self,"clientConnected")
m_server.connect("peer_disconnected",self,"clientDisconnected")
func clientConnected(id):
print("Player connected with id " + str(id))
m_aPlayers.append(id)
showPlayers()
func clientDisconnected(id):
print("Player with id " + str(id) + " disconnected")
m_aPlayers.erase(id)
showPlayers()
func showPlayers():
print("Players:" + str(m_aPlayers.size()))
Here is my client code (Client.tscn):
extends Node
var m_nServerPort = 50000
var m_stServerAddress = "localhost"
var m_client
func _ready():
connectToServer()
func connectToServer():
print("Connecting to server at " + m_stServerAddress + " on port " + str(m_nServerPort))
m_client = NetworkedMultiplayerENet.new()
m_client.create_client(m_stServerAddress,m_nServerPort)
get_tree().set_network_peer(m_client)
get_tree().multiplayer.connect("network_peer_packet",self,"_on_packet_received")
func _on_packet_received(id,packet):
print(packet.get_string_from_ascii())
The server never registers the connection attempt from the client, as clientConnected(id) is never called. What am I doing wrong?