From bd77c88efc9327805b6f6fd83fa0492ed59d0f9a Mon Sep 17 00:00:00 2001 From: Daniel Weipert Date: Fri, 17 Jan 2025 22:09:25 +0100 Subject: next commit --- network/character_server.gd | 31 +++++++++++++++++++------------ network/login_server.gd | 8 ++++++-- network/server.gd | 8 ++++++-- 3 files changed, 31 insertions(+), 16 deletions(-) (limited to 'network') diff --git a/network/character_server.gd b/network/character_server.gd index 4d3433b..60389e4 100644 --- a/network/character_server.gd +++ b/network/character_server.gd @@ -13,36 +13,44 @@ func _init(host: String, port: int = 6121) -> void: super._init(host, port) -func login(account_id: int, login_id1: int, login_id2: int, gender: Constants.Gender): +func login(account_id: int, login_id1: int, login_id2: int, gender: Constants.Gender) -> Dictionary: var character_server_login_packet = CharacterServerLoginPacket.new() character_server_login_packet.account_id = account_id character_server_login_packet.login_id1 = login_id1 character_server_login_packet.login_id2 = login_id2 character_server_login_packet.gender = gender - peer.put_data(character_server_login_packet.to_bytes()) + send(character_server_login_packet) peer.get_data(4) # in-between packet - var login_success_packet = await received_packet - if login_success_packet is CharacterServerLoginSuccessPacket: - print(inst_to_dict(login_success_packet)) - logged_in.emit(login_success_packet) + var login_response_packet = await received_packet + if login_response_packet is CharacterServerLoginSuccessPacket: + logged_in.emit(login_response_packet) var character_list_packet = await received_packet if character_list_packet is CharacterServerLoginSuccessCharacterListPacket: - print(inst_to_dict(character_list_packet)) - print(inst_to_dict(character_list_packet.character_information[0])) logged_in_character_list.emit(character_list_packet) + + var character_list_size_packet = await received_packet + var block_character_packet = await received_packet + var pin_code_state_packet = await received_packet + + return { + "login": login_response_packet, + "character_list": character_list_packet, + "character_list_size": character_list_size_packet, + "block_character": block_character_packet, + "pin_code_state": pin_code_state_packet, + } func request_character_list(): var request_character_list_packet = RequestCharacterListPacket.new() - peer.put_data(request_character_list_packet.to_bytes()) + send(request_character_list_packet) var packet = await received_packet if packet is RequestCharacterListSuccessPacket: - print(inst_to_dict(packet), inst_to_dict(packet.character_information[0])) requested_character_list.emit(packet) @@ -50,11 +58,10 @@ func select_character(slot: int): var select_character_packet = SelectCharacterPacket.new() select_character_packet.selected_slot = slot - peer.put_data(select_character_packet.to_bytes()) + send(select_character_packet) var packet = await received_packet if packet is CharacterSelectionSuccessPacket: - print(inst_to_dict(packet)) selected_character.emit(packet) diff --git a/network/login_server.gd b/network/login_server.gd index 715c73c..902c477 100644 --- a/network/login_server.gd +++ b/network/login_server.gd @@ -3,6 +3,7 @@ extends Server signal logged_in(packet: LoginServerLoginSuccessPacket) +signal login_failed(packet: LoginFailedPacket) @warning_ignore("shadowed_variable_base_class") @@ -15,12 +16,15 @@ func login(username: String, password: String): login_server_login_packet.username = username login_server_login_packet.password = password - peer.put_data(login_server_login_packet.to_bytes()) + send(login_server_login_packet) var packet = await received_packet if packet is LoginServerLoginSuccessPacket: - print(inst_to_dict(packet)) logged_in.emit(packet) + elif packet is LoginFailedPacket: + login_failed.emit(packet) + + return packet func get_keep_alive_timer() -> Timer: diff --git a/network/server.gd b/network/server.gd index efef6cb..56e9861 100644 --- a/network/server.gd +++ b/network/server.gd @@ -71,9 +71,13 @@ func listen() -> void: func send(packet: Packet) -> Error: - var display_header = packet.get_header() + var numerical_header := packet.get_header().decode_u16(0) + var display_header := packet.get_header() display_header.reverse() - print("Sent packet with header ", display_header.hex_encode()) + print("Sent packet %s with header %s" % [ + Constants.PacketDB[numerical_header].get_global_name(), + display_header.hex_encode(), + ]) return send_raw(packet.to_bytes()) -- cgit v1.2.3