extends Node #class LoginServer: #var host: String #var port: int = 6900 #var stream: PacketPeerStream = PacketPeerStream.new() #var peer: StreamPeerTCP = StreamPeerTCP.new() # #func _init(host: String, port: int = 6900) -> void: #self.host = host #self.port = port # #stream.stream_peer = peer #peer.connect_to_host(host, port) #peer.poll() #class CharacterServer: #var host: String #var port: int = 6121 #var stream: PacketPeerStream #var peer: StreamPeerTCP #class MapServer: #var host: String #var port: int = 5121 #var stream: PacketPeerStream #var peer: StreamPeerTCP static var login_server: LoginServer static var character_server: CharacterServer static var map_server: MapServer func _ready() -> void: login_server = LoginServer.new("127.0.0.1") #var login_server_login_packet = LoginServerLoginPacket.new() #login_server_login_packet.username = "dweipert" #login_server_login_packet.password = "ragnarok" # #peer.put_data(login_server_login_packet.to_bytes()) # #var p = LoginServerLoginSuccessPacket.from_bytes_via_peer(peer) #var character_server_information: CharacterServerInformation = p.character_server_information[0] #print(inst_to_dict(p), inst_to_dict(character_server_information)) # # #stream2 = PacketPeerStream.new() #peer2 = StreamPeerTCP.new() #stream2.stream_peer = peer2 # #peer2.connect_to_host(character_server_information.get_server_ip(), character_server_information.server_port) #while peer2.get_status() != StreamPeerTCP.STATUS_CONNECTED: #print("status: ", peer2.get_status(), " polling: ", peer2.poll()) #print("working status: ", peer2.get_status()) # #var character_server_login_packet = CharacterServerLoginPacket.new() #character_server_login_packet.account_id = p.account_id #character_server_login_packet.login_id1 = p.login_id1 #character_server_login_packet.login_id2 = p.login_id2 #character_server_login_packet.gender = p.gender # #print(inst_to_dict(character_server_login_packet)) #peer2.put_data(character_server_login_packet.to_bytes()) # #var c = CharacterServerLoginSuccessPacket.from_bytes_via_peer(peer2) #print(inst_to_dict(c)) # ## get character list #var request_character_list_packet = RequestCharacterListPacket.new() #peer2.put_data(request_character_list_packet.to_bytes()) # #var rcl = RequestCharacterListSuccessPacket.from_bytes_via_peer(peer2) #var character_information: CharacterInformation = rcl.character_information[0] #print(inst_to_dict(rcl), inst_to_dict(character_information)) # ## select character #var select_character_packet = SelectCharacterPacket.new() #select_character_packet.selected_slot = 0 #peer2.put_data(select_character_packet.to_bytes()) # #var css = CharacterSelectionSuccessPacket.from_bytes_via_peer(peer2) #print(inst_to_dict(css)) # # #stream3 = PacketPeerStream.new() #peer3 = StreamPeerTCP.new() #stream3.stream_peer = peer3 # #peer3.connect_to_host(css.get_map_server_ip(), css.map_server_port) #while peer3.get_status() != StreamPeerTCP.STATUS_CONNECTED: #print("status: ", peer3.get_status(), " polling: ", peer3.poll()) #print("working status: ", peer3.get_status()) # #var map_server_login_packet = MapServerLoginPacket.new() #map_server_login_packet.account_id = p.account_id #map_server_login_packet.character_id = css.character_id #map_server_login_packet.login_id1 = p.login_id1 #map_server_login_packet.gender = p.gender # #peer3.put_data(map_server_login_packet.to_bytes()) # #print(peer3.get_data(6))#in-between packet #print(peer3.get_data(4))#in-between packet # #var msls = MapServerLoginSuccessPacket.from_bytes_via_peer(peer3) #print(inst_to_dict(msls)) #print(msls.get_position()) var file = FileAccess.open("res://data/data.grf", FileAccess.READ) var header = GRF.Header.from_file(file) print(inst_to_dict(header)) func _process(_delta: float) -> void: if login_server: login_server.listen() if character_server: character_server.listen() if map_server: map_server.listen()