@jsprismarine/client 0.1.0-rc.49 → 0.1.0-rc.51

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/Client.d.ts CHANGED
@@ -1,8 +1,10 @@
1
- /// <reference types="node" />
2
- import { Connection, InetAddress, RakNetListener } from '@jsprismarine/raknet';
3
- import { Socket } from 'dgram';
1
+ /// <reference types="node" resolution-mode="require"/>
2
+ /// <reference types="node" resolution-mode="require"/>
3
+ /// <reference types="node" resolution-mode="require"/>
4
+ import { InetAddress, RakNetSession } from '@jsprismarine/raknet';
5
+ import { type Socket } from 'dgram';
4
6
  import { EventEmitter } from 'events';
5
- export default class Client extends EventEmitter implements RakNetListener {
7
+ export default class Client extends EventEmitter {
6
8
  private clientGUID;
7
9
  private readonly logger;
8
10
  private readonly address;
@@ -33,6 +35,6 @@ export default class Client extends EventEmitter implements RakNetListener {
33
35
  sendBuffer(buffer: Buffer): Promise<void>;
34
36
  getSocket(): Socket;
35
37
  getAddress(): InetAddress;
36
- removeConnection(connection: Connection, reason: string): void;
38
+ removeConnection(connection: RakNetSession, reason?: string): Promise<void>;
37
39
  }
38
40
  //# sourceMappingURL=Client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAsB,WAAW,EAAY,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC7G,OAAc,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAKtC,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAmBtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAa,YAAW,cAAc;IACtE,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;;IAQ7B;;OAEG;IACU,OAAO,CAAC,OAAO,SAAY,EAAE,IAAI,SAAQ;YA6CxC,MAAM;IAyBb,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAuBpC,0BAA0B,CAAC,MAAM,EAAE,MAAM;IA0BzC,0BAA0B,CAAC,MAAM,EAAE,MAAM;IA2BhD;;;;;;OAMG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,IAAI,MAAM;IAInB,UAAU,IAAI,WAAW;IAIzB,gBAAgB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAGxE"}
1
+ {"version":3,"file":"Client.d.ts","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":";;;AAAA,OAAO,EAAsB,WAAW,EAAY,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAChG,OAAc,EAAE,KAAK,MAAM,EAAE,MAAM,OAAO,CAAC;AAK3C,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAoBtC,MAAM,CAAC,OAAO,OAAO,MAAO,SAAQ,YAAY;IAC5C,OAAO,CAAC,UAAU,CAA0C;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAc;IACtC,OAAO,CAAC,aAAa,CAAe;IACpC,OAAO,CAAC,UAAU,CAA8B;IAChD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAwC;IAC/D,OAAO,KAAK,MAAM,GAEjB;IAED,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,YAAY,CAAS;;IAQ7B;;OAEG;IACU,OAAO,CAAC,OAAO,SAAY,EAAE,IAAI,SAAQ;YA6CxC,MAAM;IAyBb,qBAAqB,CAAC,MAAM,EAAE,MAAM;IAuBpC,0BAA0B,CAAC,MAAM,EAAE,MAAM;IAoCzC,0BAA0B,CAAC,MAAM,EAAE,MAAM;IA2BhD;;;;;;OAMG;IACU,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/C,SAAS,IAAI,MAAM;IAInB,UAAU,IAAI,WAAW;IAInB,gBAAgB,CAAC,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3F"}
package/dist/Client.js CHANGED
@@ -1,14 +1,10 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const raknet_1 = require("@jsprismarine/raknet");
7
- const dgram_1 = __importDefault(require("dgram"));
8
- const prismarine_1 = require("@jsprismarine/prismarine");
9
- const dynamic_1 = require("set-interval-async/dynamic");
10
- const crypto_1 = __importDefault(require("crypto"));
11
- const events_1 = require("events");
1
+ import { ConnectionPriority, InetAddress, Protocol, RakNetSession } from '@jsprismarine/raknet';
2
+ import Dgram from 'dgram';
3
+ import { Protocol as JSPProtocol, Logger } from '@jsprismarine/prismarine';
4
+ import { clearIntervalAsync, setIntervalAsync } from 'set-interval-async/dynamic';
5
+ import Crypto, { randomBytes } from 'crypto';
6
+ import { EventEmitter } from 'events';
7
+ import { RakNetPriority } from '@jsprismarine/raknet/src/Session.js';
12
8
  // https://stackoverflow.com/a/1527820/3142553
13
9
  const getRandomInt = (min, max) => {
14
10
  min = Math.ceil(min);
@@ -22,78 +18,80 @@ const DEF_MTU_SIZE = 1455;
22
18
  // Raknet ticks
23
19
  const RAKNET_TPS = 100;
24
20
  const RAKNET_TICK_LENGTH = 1 / RAKNET_TPS;
25
- class Client extends events_1.EventEmitter {
21
+ export default class Client extends EventEmitter {
22
+ clientGUID = Crypto.randomBytes(8).readBigInt64BE();
23
+ logger = new Logger();
24
+ address;
25
+ targetAddress;
26
+ connection = null;
27
+ socket = Dgram.createSocket({ type: 'udp4' });
28
+ get closed() {
29
+ return false;
30
+ }
31
+ connecting = false;
32
+ connected = false;
33
+ offlineHandled = false;
34
+ loginHandled = false;
26
35
  constructor() {
27
36
  super();
28
- this.clientGUID = crypto_1.default.randomBytes(8).readBigInt64BE();
29
- this.logger = new prismarine_1.Logger();
30
- this.connection = null;
31
- this.socket = dgram_1.default.createSocket({ type: 'udp4' });
32
- this.connecting = false;
33
- this.connected = false;
34
- this.offlineHandled = false;
35
- this.loginHandled = false;
36
- this.address = new raknet_1.InetAddress('0.0.0.0', getRandomInt(46000, 49999));
37
+ this.address = new InetAddress('0.0.0.0', getRandomInt(46000, 49999));
37
38
  this.socket.bind(this.address.getPort(), this.address.getAddress());
38
39
  }
39
- get closed() {
40
- return false;
41
- }
42
40
  /**
43
41
  * Creates a packet listener on given address and port.
44
42
  */
45
43
  async connect(address = '0.0.0.0', port = 19132) {
46
- this.targetAddress = new raknet_1.InetAddress(address, port);
44
+ this.targetAddress = new InetAddress(address, port);
47
45
  this.socket.on('message', (buffer) => {
48
46
  void this.handle(buffer);
49
47
  });
50
48
  if (this.connection)
51
49
  throw new Error('Already connected/connecting to server.');
52
50
  this.logger.info('JSPrismarine client is now attempting to connect...');
53
- const timer = dynamic_1.setIntervalAsync(async () => {
51
+ const timer = setIntervalAsync(async () => {
54
52
  if (this.closed) {
55
- await dynamic_1.clearIntervalAsync(timer);
53
+ await clearIntervalAsync(timer);
56
54
  return;
57
55
  }
58
56
  // Send a client packet to the server
59
57
  // so the server goes in target mode
60
58
  // and the login process starts
61
59
  if (!this.connecting) {
62
- const pk = new raknet_1.Protocol.UnconnectedPing();
63
- pk.sendTimestamp = BigInt(Date.now());
64
- pk.clientGUID = this.clientGUID;
60
+ const pk = new Protocol.UnconnectedPing();
61
+ pk.timestamp = BigInt(Date.now());
62
+ // TODO: can be omitted... pk. = this.clientGUID;
65
63
  pk.encode();
66
64
  await this.sendBuffer(pk.getBuffer());
67
65
  }
68
66
  if (this.connected && !this.loginHandled) {
69
- const pk = new prismarine_1.Protocol.Packets.LoginPacket();
67
+ const pk = new JSPProtocol.Packets.LoginPacket();
70
68
  pk.encode();
71
- const sendPk = new raknet_1.Protocol.EncapsulatedPacket();
69
+ const sendPk = new Protocol.Frame();
72
70
  sendPk.reliability = 0;
73
- sendPk.buffer = pk.getBuffer();
74
- await this.connection.addEncapsulatedToQueue(sendPk, raknet_1.ConnectionPriority.NORMAL); // Packet needs to be splitted
71
+ sendPk.content = pk.getBuffer();
72
+ this.connection.sendFrame(sendPk, ConnectionPriority.NORMAL); // Packet needs to be splitted
75
73
  this.loginHandled = true;
76
74
  }
77
- await this.connection?.update(Date.now());
75
+ this.connection?.update(Date.now());
78
76
  }, RAKNET_TICK_LENGTH * 1000);
79
77
  return this;
80
78
  }
81
79
  async handle(buffer) {
82
80
  const header = buffer.readUInt8(); // Read packet header
83
81
  if (this.connection && this.offlineHandled) {
84
- return this.connection.receive(buffer);
82
+ return this.connection.handle(buffer);
85
83
  }
86
84
  let buf;
87
85
  switch (header) {
88
- case raknet_1.Protocol.Identifiers.UnconnectedPong:
86
+ case Protocol.MessageIdentifiers.UNCONNECTED_PONG:
89
87
  buf = this.handleUnconnectedPong(buffer);
90
88
  await this.sendBuffer(buf);
91
89
  break;
92
- case raknet_1.Protocol.Identifiers.OpenConnectionReply1:
90
+ case Protocol.MessageIdentifiers.OPEN_CONNECTION_REPLY_1:
93
91
  buf = this.handleOpenConnectionReply1(buffer);
94
92
  await this.sendBuffer(buf);
95
93
  break;
96
- case raknet_1.Protocol.Identifiers.OpenConnectionReply2:
94
+ case Protocol.MessageIdentifiers.OPEN_CONNECTION_REPLY_2:
97
95
  this.handleOpenConnectionReply2(buffer);
98
96
  break;
99
97
  default:
@@ -102,7 +100,7 @@ class Client extends events_1.EventEmitter {
102
100
  }
103
101
  handleUnconnectedPong(buffer) {
104
102
  // Decode server packet
105
- const decodedPacket = new raknet_1.Protocol.UnconnectedPong(buffer);
103
+ const decodedPacket = new Protocol.UnconnectedPong(buffer);
106
104
  decodedPacket.decode();
107
105
  // Check packet validity
108
106
  // To refactor
@@ -110,7 +108,7 @@ class Client extends events_1.EventEmitter {
110
108
  throw new Error('Received an invalid offline message');
111
109
  }
112
110
  // Encode response
113
- const packet = new raknet_1.Protocol.OpenConnectionRequest1();
111
+ const packet = new Protocol.OpenConnectionRequest1();
114
112
  packet.protocol = PROTOCOL;
115
113
  packet.mtuSize = DEF_MTU_SIZE;
116
114
  packet.encode();
@@ -120,7 +118,7 @@ class Client extends events_1.EventEmitter {
120
118
  }
121
119
  handleOpenConnectionReply1(buffer) {
122
120
  // Decode server packet
123
- const decodedPacket = new raknet_1.Protocol.OpenConnectionReply1(buffer);
121
+ const decodedPacket = new Protocol.OpenConnectionReply1(buffer);
124
122
  decodedPacket.decode();
125
123
  // Check packet validity
126
124
  // To refactor
@@ -128,7 +126,7 @@ class Client extends events_1.EventEmitter {
128
126
  throw new Error('Received an invalid offline message');
129
127
  }
130
128
  // Encode response
131
- const packet = new raknet_1.Protocol.OpenConnectionRequest2();
129
+ const packet = new Protocol.OpenConnectionRequest2();
132
130
  packet.serverAddress = this.targetAddress;
133
131
  packet.mtuSize = DEF_MTU_SIZE;
134
132
  packet.clientGUID = this.clientGUID;
@@ -136,12 +134,17 @@ class Client extends events_1.EventEmitter {
136
134
  // Update session status
137
135
  this.connecting = true;
138
136
  // This.status = ConnectionStatus.Connected;
139
- this.connection = new raknet_1.Connection(this, DEF_MTU_SIZE, this.targetAddress);
137
+ this.connection = new RakNetSession(this, DEF_MTU_SIZE, {
138
+ address: this.address.getAddress(),
139
+ port: this.address.getPort(),
140
+ family: 'IPv4',
141
+ size: 0
142
+ }, randomBytes(8).readBigInt64BE());
140
143
  return packet.getBuffer();
141
144
  }
142
145
  handleOpenConnectionReply2(buffer) {
143
146
  // Decode server packet
144
- const decodedPacket = new raknet_1.Protocol.OpenConnectionReply2(buffer);
147
+ const decodedPacket = new Protocol.OpenConnectionReply2(buffer);
145
148
  decodedPacket.decode();
146
149
  // Check packet validity
147
150
  // To refactor
@@ -149,14 +152,14 @@ class Client extends events_1.EventEmitter {
149
152
  throw new Error('Received an invalid offline message');
150
153
  }
151
154
  // Encode response (encapsulated)
152
- const packet = new raknet_1.Protocol.ConnectionRequest();
155
+ const packet = new Protocol.ConnectionRequest();
153
156
  packet.clientGUID = this.clientGUID;
154
157
  packet.requestTimestamp = BigInt(Date.now());
155
158
  packet.encode();
156
- const sendPacket = new raknet_1.Protocol.EncapsulatedPacket();
159
+ const sendPacket = new Protocol.Frame();
157
160
  sendPacket.reliability = 0;
158
- sendPacket.buffer = packet.getBuffer();
159
- void this.connection?.addToQueue(sendPacket, 1);
161
+ sendPacket.content = packet.getBuffer();
162
+ this.connection?.sendFrame(sendPacket, RakNetPriority.NORMAL);
160
163
  this.offlineHandled = true;
161
164
  this.connected = true; // Should be... we can't rely on it
162
165
  }
@@ -176,9 +179,8 @@ class Client extends events_1.EventEmitter {
176
179
  getAddress() {
177
180
  return this.address;
178
181
  }
179
- removeConnection(connection, reason) {
182
+ async removeConnection(connection, reason) {
180
183
  throw new Error('Method not implemented.');
181
184
  }
182
185
  }
183
- exports.default = Client;
184
186
  //# sourceMappingURL=Client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Client.js","sourceRoot":"","sources":["../src/Client.ts"],"names":[],"mappings":"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"}