extends Node2D var client : NetworkedMultiplayerENet var world var local_server_tree = null var is_local = false func _ready(): world = preload("res://scenes/GameBase.tscn").instance() #get_tree().connect("network_peer_connected", self, "_player_connected") #get_tree().connect("network_peer_disconnected", self, "_player_disconnected") var _discard = [get_tree().connect("connected_to_server", self, "_connection_successful"), get_tree().connect("connection_failed", self, "_connected_fail"), get_tree().connect("server_disconnected", world, "_connection_lost")] set_process(false) set_physics_process(false) func _connect_btn(): client = NetworkedMultiplayerENet.new() var cli_stat = client.create_client($IP.text, $Port.value) if cli_stat != OK: print("Error creating client. Code: " + str(cli_stat)) get_tree().set_network_peer(client) func _connection_successful(): get_tree().get_root().add_child(world) world.client = client world.client_id = get_tree().get_network_unique_id() world.player_name = $Name.text if is_local: world.is_local = true world.local_server_tree = local_server_tree print("Connected.") queue_free() func _run_local_server(): var server_script = preload("res://scenes/Server.tscn").instance() #CHANGE LEVEL HERE server_script.start_server("Local Server", "Local Singleplayer Server", 3, "res://maps/Main.tscn", true, 25565, get_tree(), null, "print") queue_free() func back_to_main(): var main_menu = load("res://ui/MainMenu.tscn").instance() get_tree().get_root().add_child(main_menu) queue_free() func _process(delta): local_server_tree.idle(delta) func _physics_process(delta): local_server_tree.iteration(delta)