extends Control const CONFIG_FILE = "user://settings.cfg" var host_port = 2675 var maxplayers var ip = "127.0.0.1" var port = 2670 var players = {} var playername func _ready(): get_tree().connect("connected_to_server", self, "_connected_ok") get_tree().connect("connection_failed", self, "_connected_fail") get_tree().connect("server_disconnected", self, "_server_disconnect") var config = ConfigFile.new() var err = config.load(CONFIG_FILE) if OS.has_environment("USERNAME"): var env_username = OS.get_environment("USERNAME") $GeneralPanel/player_name.text = env_username if err == OK and not config.has_section_key("user", "username"): config.set_value("user", "username", env_username) else: var desktop_path = OS.get_system_dir(0).replace("\\", "/").split("/") var path_username = desktop_path[desktop_path.size() - 2] $GeneralPanel/player_name.text = path_username if err == OK and not config.has_section_key("user", "username"): config.set_value("user", "username", path_username) config.save(CONFIG_FILE) func _on_singleplayer_button_up(): var _letsgo = get_tree().change_scene("res://scenes/world/World.tscn") func _on_JoinGameBtn_button_up(): ip = $JoinPanel/join_ip.text port = $JoinPanel/join_port.value print("Netplay - Attempting to join game at IP ",ip," via port ",port) join_game() func _on_HostGameBtn_button_up(): var host_port = $HostPanel/host_port.value print("Netplay - Attempting to host game on port ",host_port,"...") host_game(host_port) func host_game(port): maxplayers = $HostPanel/playercount.value var host = NetworkedMultiplayerENet.new() var hostresult = host.create_server(port, maxplayers) # ports, maxplayers if (hostresult==OK): print("Netplay - No conflicts. Starting Server") get_tree().set_network_peer(host) print("Netplay - Hosting on port ",port,". Max players: ",maxplayers) print("Netplay - Are you the server ... ",get_tree().is_network_server()) $HostPanel/HostGameBtn.disabled = 1 $HostPanel/HostGameBtn.hint_tooltip = "Cannot start another server, Server already started." $JoinPanel/JoinGameBtn.disabled = 1 $JoinPanel/JoinGameBtn.hint_tooltip = "Cannot join another server, Server already started." $Camera2D.position.x += 640 else: print("Netplay - Cant start server") #Goto a lobby instance func join_game(): playername = $GeneralPanel/player_name.text var host = NetworkedMultiplayerENet.new() var joinresult = host.create_client(ip, port) if (joinresult==OK): get_tree().set_network_peer(host) print("Netplay - It worked! I should be connecting...") else: print("Netplay - I was unable to connect to the server.") func _connected_ok(): print("Netplay - Built-in Signal - It worked! Im connected!") func _connected_fail(): print("Netplay - Built-in Signal - It failed")