diff options
author | Daniel Weipert <git@mail.dweipert.de> | 2024-11-28 00:45:30 +0100 |
---|---|---|
committer | Daniel Weipert <git@mail.dweipert.de> | 2024-11-28 00:45:30 +0100 |
commit | c89f25f59aa493d95bcac8e75ca5cdd57a0403e7 (patch) | |
tree | e1eb14f3b27ab8bcce68551424fe49a4f7d376af /main.gd |
initial commit
Diffstat (limited to 'main.gd')
-rw-r--r-- | main.gd | 94 |
1 files changed, 94 insertions, 0 deletions
@@ -0,0 +1,94 @@ +extends Node2D + + +class LoginServer: + var host: String + var port: int = 6900 + +class CharacterServer: + var host: String + var port: int = 6121 + +class MapServer: + var host: String + var port: int = 5121 + +var stream: PacketPeerStream +var peer: StreamPeerTCP + +var stream2: PacketPeerStream +var peer2: StreamPeerTCP + +var stream3: PacketPeerStream +var peer3: StreamPeerTCP + + +func _ready() -> void: + stream = PacketPeerStream.new() + peer = StreamPeerTCP.new() + stream.stream_peer = peer + + peer.connect_to_host("127.0.0.1", 6900) + while peer.get_status() != StreamPeerTCP.STATUS_CONNECTED: + print("status: ", peer.get_status(), " polling: ", peer.poll()) + print("working status: ", peer.get_status()) + + 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 first + 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)) + + + #stream3 = PacketPeerStream.new() + #peer3 = StreamPeerTCP.new() + #stream3.stream_peer = peer3 + # + #peer3.connect_to_host(character_server_information.get_server_ip(), character_server_information.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 = character_information.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()) + #peer3.get_data(1) + #peer3.get_data(peer3.get_available_bytes()) |