summaryrefslogtreecommitdiff
path: root/main.gd
diff options
context:
space:
mode:
Diffstat (limited to 'main.gd')
-rw-r--r--main.gd94
1 files changed, 94 insertions, 0 deletions
diff --git a/main.gd b/main.gd
new file mode 100644
index 0000000..0396244
--- /dev/null
+++ b/main.gd
@@ -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())