1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
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()
|