@jsprismarine/raknet 0.1.0-rc.53 → 0.1.0

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.
Files changed (189) hide show
  1. package/LICENSE +373 -0
  2. package/dist/ClientSocket.cjs.js +3 -0
  3. package/dist/ClientSocket.es.js +2 -0
  4. package/dist/Constants.cjs.js +23 -0
  5. package/dist/Constants.d.ts +9 -0
  6. package/dist/Constants.d.ts.map +1 -0
  7. package/dist/Constants.es.js +13 -0
  8. package/dist/Protocol-B7Z_wJaK.js +51 -0
  9. package/dist/Protocol-Bik5hgGW.cjs +53 -0
  10. package/dist/RakNet.cjs.js +83 -0
  11. package/dist/RakNet.d.ts +12 -14
  12. package/dist/RakNet.d.ts.map +1 -1
  13. package/dist/RakNet.es.js +38 -0
  14. package/dist/ServerSocket.cjs.js +160 -0
  15. package/dist/ServerSocket.d.ts +5 -5
  16. package/dist/ServerSocket.d.ts.map +1 -1
  17. package/dist/ServerSocket.es.js +152 -0
  18. package/dist/Session.cjs.js +386 -0
  19. package/dist/Session.d.ts +5 -5
  20. package/dist/Session.d.ts.map +1 -1
  21. package/dist/Session.es.js +375 -0
  22. package/dist/protocol/ACK.cjs.js +18 -0
  23. package/dist/protocol/ACK.d.ts +2 -2
  24. package/dist/protocol/ACK.d.ts.map +1 -1
  25. package/dist/protocol/ACK.es.js +14 -0
  26. package/dist/protocol/AcknowledgePacket.cjs.js +75 -0
  27. package/dist/protocol/AcknowledgePacket.d.ts +1 -1
  28. package/dist/protocol/AcknowledgePacket.d.ts.map +1 -1
  29. package/dist/protocol/AcknowledgePacket.es.js +67 -0
  30. package/dist/protocol/BitFlags.cjs.js +15 -0
  31. package/dist/protocol/BitFlags.es.js +10 -0
  32. package/dist/protocol/DisconnectNotification.cjs.js +19 -0
  33. package/dist/protocol/DisconnectNotification.d.ts +1 -1
  34. package/dist/protocol/DisconnectNotification.d.ts.map +1 -1
  35. package/dist/protocol/DisconnectNotification.es.js +15 -0
  36. package/dist/protocol/Frame.cjs.js +110 -0
  37. package/dist/protocol/Frame.d.ts +2 -2
  38. package/dist/protocol/Frame.d.ts.map +1 -1
  39. package/dist/protocol/Frame.es.js +100 -0
  40. package/dist/protocol/FrameReliability.cjs.js +19 -0
  41. package/dist/protocol/FrameReliability.es.js +14 -0
  42. package/dist/protocol/FrameSet.cjs.js +45 -0
  43. package/dist/protocol/FrameSet.d.ts +3 -3
  44. package/dist/protocol/FrameSet.d.ts.map +1 -1
  45. package/dist/protocol/FrameSet.es.js +40 -0
  46. package/dist/protocol/MessageIdentifiers.cjs.js +47 -0
  47. package/dist/protocol/MessageIdentifiers.es.js +43 -0
  48. package/dist/protocol/NACK.cjs.js +18 -0
  49. package/dist/protocol/NACK.d.ts +2 -2
  50. package/dist/protocol/NACK.d.ts.map +1 -1
  51. package/dist/protocol/NACK.es.js +14 -0
  52. package/dist/protocol/OfflineHandler.cjs.js +110 -0
  53. package/dist/protocol/OfflineHandler.d.ts +4 -4
  54. package/dist/protocol/OfflineHandler.d.ts.map +1 -1
  55. package/dist/protocol/OfflineHandler.es.js +102 -0
  56. package/dist/protocol/OfflinePacket.cjs.js +25 -0
  57. package/dist/protocol/OfflinePacket.d.ts +1 -1
  58. package/dist/protocol/OfflinePacket.d.ts.map +1 -1
  59. package/dist/protocol/OfflinePacket.es.js +21 -0
  60. package/dist/protocol/Packet.cjs.js +67 -0
  61. package/dist/protocol/Packet.d.ts +2 -2
  62. package/dist/protocol/Packet.d.ts.map +1 -1
  63. package/dist/protocol/Packet.es.js +59 -0
  64. package/dist/protocol/PacketPool.cjs.js +45 -0
  65. package/dist/protocol/PacketPool.d.ts +3 -3
  66. package/dist/protocol/PacketPool.d.ts.map +1 -1
  67. package/dist/protocol/PacketPool.es.js +41 -0
  68. package/dist/protocol/Protocol.cjs.js +57 -0
  69. package/dist/protocol/Protocol.d.ts +23 -25
  70. package/dist/protocol/Protocol.d.ts.map +1 -1
  71. package/dist/protocol/Protocol.es.js +28 -0
  72. package/dist/protocol/connection/ConnectedPing.cjs.js +24 -0
  73. package/dist/protocol/connection/ConnectedPing.d.ts +2 -2
  74. package/dist/protocol/connection/ConnectedPing.d.ts.map +1 -1
  75. package/dist/protocol/connection/ConnectedPing.es.js +20 -0
  76. package/dist/protocol/connection/ConnectedPong.cjs.js +23 -0
  77. package/dist/protocol/connection/ConnectedPong.d.ts +1 -1
  78. package/dist/protocol/connection/ConnectedPong.d.ts.map +1 -1
  79. package/dist/protocol/connection/ConnectedPong.es.js +19 -0
  80. package/dist/protocol/connection/IncompatibleProtocolVersion.cjs.js +26 -0
  81. package/dist/protocol/connection/IncompatibleProtocolVersion.d.ts +1 -1
  82. package/dist/protocol/connection/IncompatibleProtocolVersion.d.ts.map +1 -1
  83. package/dist/protocol/connection/IncompatibleProtocolVersion.es.js +22 -0
  84. package/dist/protocol/connection/NewIncomingConnection.cjs.js +37 -0
  85. package/dist/protocol/connection/NewIncomingConnection.d.ts +3 -3
  86. package/dist/protocol/connection/NewIncomingConnection.d.ts.map +1 -1
  87. package/dist/protocol/connection/NewIncomingConnection.es.js +33 -0
  88. package/dist/protocol/connection/OpenConnectionReply1.cjs.js +33 -0
  89. package/dist/protocol/connection/OpenConnectionReply1.d.ts +2 -2
  90. package/dist/protocol/connection/OpenConnectionReply1.d.ts.map +1 -1
  91. package/dist/protocol/connection/OpenConnectionReply1.es.js +29 -0
  92. package/dist/protocol/connection/OpenConnectionReply2.cjs.js +36 -0
  93. package/dist/protocol/connection/OpenConnectionReply2.d.ts +3 -3
  94. package/dist/protocol/connection/OpenConnectionReply2.d.ts.map +1 -1
  95. package/dist/protocol/connection/OpenConnectionReply2.es.js +32 -0
  96. package/dist/protocol/connection/OpenConnectionRequest1.cjs.js +31 -0
  97. package/dist/protocol/connection/OpenConnectionRequest1.d.ts +2 -2
  98. package/dist/protocol/connection/OpenConnectionRequest1.d.ts.map +1 -1
  99. package/dist/protocol/connection/OpenConnectionRequest1.es.js +27 -0
  100. package/dist/protocol/connection/OpenConnectionRequest2.cjs.js +34 -0
  101. package/dist/protocol/connection/OpenConnectionRequest2.d.ts +3 -3
  102. package/dist/protocol/connection/OpenConnectionRequest2.d.ts.map +1 -1
  103. package/dist/protocol/connection/OpenConnectionRequest2.es.js +30 -0
  104. package/dist/protocol/login/ConnectionRequest.cjs.js +29 -0
  105. package/dist/protocol/login/ConnectionRequest.d.ts +2 -2
  106. package/dist/protocol/login/ConnectionRequest.d.ts.map +1 -1
  107. package/dist/protocol/login/ConnectionRequest.es.js +25 -0
  108. package/dist/protocol/login/ConnectionRequestAccepted.cjs.js +39 -0
  109. package/dist/protocol/login/ConnectionRequestAccepted.d.ts +3 -3
  110. package/dist/protocol/login/ConnectionRequestAccepted.d.ts.map +1 -1
  111. package/dist/protocol/login/ConnectionRequestAccepted.es.js +35 -0
  112. package/dist/protocol/offline/UnconnectedPing.cjs.js +29 -0
  113. package/dist/protocol/offline/UnconnectedPing.d.ts +2 -2
  114. package/dist/protocol/offline/UnconnectedPing.d.ts.map +1 -1
  115. package/dist/protocol/offline/UnconnectedPing.es.js +25 -0
  116. package/dist/protocol/offline/UnconnectedPong.cjs.js +34 -0
  117. package/dist/protocol/offline/UnconnectedPong.d.ts +2 -2
  118. package/dist/protocol/offline/UnconnectedPong.d.ts.map +1 -1
  119. package/dist/protocol/offline/UnconnectedPong.es.js +30 -0
  120. package/dist/utils/InetAddress.cjs.js +29 -0
  121. package/dist/utils/InetAddress.es.js +25 -0
  122. package/dist/utils/ServerName.cjs.js +83 -0
  123. package/dist/utils/ServerName.es.js +79 -0
  124. package/package.json +51 -29
  125. package/dist/ClientSocket.js +0 -3
  126. package/dist/ClientSocket.js.map +0 -1
  127. package/dist/RakNet.js +0 -15
  128. package/dist/RakNet.js.map +0 -1
  129. package/dist/ServerSocket.js +0 -129
  130. package/dist/ServerSocket.js.map +0 -1
  131. package/dist/Session.js +0 -408
  132. package/dist/Session.js.map +0 -1
  133. package/dist/protocol/ACK.js +0 -8
  134. package/dist/protocol/ACK.js.map +0 -1
  135. package/dist/protocol/AcknowledgePacket.js +0 -69
  136. package/dist/protocol/AcknowledgePacket.js.map +0 -1
  137. package/dist/protocol/BitFlags.js +0 -9
  138. package/dist/protocol/BitFlags.js.map +0 -1
  139. package/dist/protocol/DisconnectNotification.js +0 -8
  140. package/dist/protocol/DisconnectNotification.js.map +0 -1
  141. package/dist/protocol/Frame.js +0 -103
  142. package/dist/protocol/Frame.js.map +0 -1
  143. package/dist/protocol/FrameReliability.js +0 -14
  144. package/dist/protocol/FrameReliability.js.map +0 -1
  145. package/dist/protocol/FrameSet.js +0 -34
  146. package/dist/protocol/FrameSet.js.map +0 -1
  147. package/dist/protocol/MessageIdentifiers.js +0 -42
  148. package/dist/protocol/MessageIdentifiers.js.map +0 -1
  149. package/dist/protocol/NACK.js +0 -8
  150. package/dist/protocol/NACK.js.map +0 -1
  151. package/dist/protocol/OfflineHandler.js +0 -103
  152. package/dist/protocol/OfflineHandler.js.map +0 -1
  153. package/dist/protocol/OfflinePacket.js +0 -16
  154. package/dist/protocol/OfflinePacket.js.map +0 -1
  155. package/dist/protocol/Packet.js +0 -59
  156. package/dist/protocol/Packet.js.map +0 -1
  157. package/dist/protocol/PacketPool.js +0 -29
  158. package/dist/protocol/PacketPool.js.map +0 -1
  159. package/dist/protocol/Protocol.js +0 -26
  160. package/dist/protocol/Protocol.js.map +0 -1
  161. package/dist/protocol/connection/ConnectedPing.js +0 -15
  162. package/dist/protocol/connection/ConnectedPing.js.map +0 -1
  163. package/dist/protocol/connection/ConnectedPong.js +0 -14
  164. package/dist/protocol/connection/ConnectedPong.js.map +0 -1
  165. package/dist/protocol/connection/IncompatibleProtocolVersion.js +0 -15
  166. package/dist/protocol/connection/IncompatibleProtocolVersion.js.map +0 -1
  167. package/dist/protocol/connection/NewIncomingConnection.js +0 -30
  168. package/dist/protocol/connection/NewIncomingConnection.js.map +0 -1
  169. package/dist/protocol/connection/OpenConnectionReply1.js +0 -22
  170. package/dist/protocol/connection/OpenConnectionReply1.js.map +0 -1
  171. package/dist/protocol/connection/OpenConnectionReply2.js +0 -25
  172. package/dist/protocol/connection/OpenConnectionReply2.js.map +0 -1
  173. package/dist/protocol/connection/OpenConnectionRequest1.js +0 -20
  174. package/dist/protocol/connection/OpenConnectionRequest1.js.map +0 -1
  175. package/dist/protocol/connection/OpenConnectionRequest2.js +0 -23
  176. package/dist/protocol/connection/OpenConnectionRequest2.js.map +0 -1
  177. package/dist/protocol/login/ConnectionRequest.js +0 -20
  178. package/dist/protocol/login/ConnectionRequest.js.map +0 -1
  179. package/dist/protocol/login/ConnectionRequestAccepted.js +0 -31
  180. package/dist/protocol/login/ConnectionRequestAccepted.js.map +0 -1
  181. package/dist/protocol/offline/UnconnectedPing.js +0 -20
  182. package/dist/protocol/offline/UnconnectedPing.js.map +0 -1
  183. package/dist/protocol/offline/UnconnectedPong.js +0 -23
  184. package/dist/protocol/offline/UnconnectedPong.js.map +0 -1
  185. package/dist/tsconfig.tsbuildinfo +0 -1
  186. package/dist/utils/InetAddress.js +0 -23
  187. package/dist/utils/InetAddress.js.map +0 -1
  188. package/dist/utils/ServerName.js +0 -77
  189. package/dist/utils/ServerName.js.map +0 -1
@@ -0,0 +1,25 @@
1
+ import { MessageIdentifiers } from '../MessageIdentifiers.es.js';
2
+ import OfflinePacket from '../OfflinePacket.es.js';
3
+ import '../Packet.es.js';
4
+ import '@jsprismarine/jsbinaryutils';
5
+ import '../../utils/InetAddress.es.js';
6
+ import '../../Constants.es.js';
7
+
8
+ class UnconnectedPing extends OfflinePacket {
9
+ constructor(buffer) {
10
+ super(MessageIdentifiers.UNCONNECTED_PING, buffer);
11
+ }
12
+ timestamp;
13
+ // public clientGUID!: bigint;
14
+ decodePayload() {
15
+ this.timestamp = this.readLong();
16
+ this.readMagic();
17
+ }
18
+ encodePayload() {
19
+ this.writeLong(this.timestamp);
20
+ this.writeMagic();
21
+ }
22
+ }
23
+
24
+ export { UnconnectedPing as default };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5jb25uZWN0ZWRQaW5nLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdG9jb2wvb2ZmbGluZS9VbmNvbm5lY3RlZFBpbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZUlkZW50aWZpZXJzIH0gZnJvbSAnLi4vTWVzc2FnZUlkZW50aWZpZXJzJztcbmltcG9ydCBPZmZsaW5lUGFja2V0IGZyb20gJy4uL09mZmxpbmVQYWNrZXQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVbmNvbm5lY3RlZFBpbmcgZXh0ZW5kcyBPZmZsaW5lUGFja2V0IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYnVmZmVyPzogQnVmZmVyKSB7XG4gICAgICAgIHN1cGVyKE1lc3NhZ2VJZGVudGlmaWVycy5VTkNPTk5FQ1RFRF9QSU5HLCBidWZmZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0aW1lc3RhbXAhOiBiaWdpbnQ7XG4gICAgLy8gcHVibGljIGNsaWVudEdVSUQhOiBiaWdpbnQ7XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpIHtcbiAgICAgICAgdGhpcy50aW1lc3RhbXAgPSB0aGlzLnJlYWRMb25nKCk7XG4gICAgICAgIHRoaXMucmVhZE1hZ2ljKCk7XG4gICAgICAgIC8vIHRoaXMuY2xpZW50R1VJRCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZW5jb2RlUGF5bG9hZCgpIHtcbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy50aW1lc3RhbXApO1xuICAgICAgICB0aGlzLndyaXRlTWFnaWMoKTtcbiAgICAgICAgLy8gdGhpcy53cml0ZUxvbmcodGhpcy5jbGllbnRHVUlEKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLE1BQXFCLHdCQUF3QixhQUFjLENBQUE7QUFBQSxFQUNoRCxZQUFZLE1BQWlCLEVBQUE7QUFDaEMsSUFBTSxLQUFBLENBQUEsa0JBQUEsQ0FBbUIsa0JBQWtCLE1BQU0sQ0FBQSxDQUFBO0FBQUEsR0FDckQ7QUFBQSxFQUVPLFNBQUEsQ0FBQTtBQUFBO0FBQUEsRUFHQSxhQUFnQixHQUFBO0FBQ25CLElBQUssSUFBQSxDQUFBLFNBQUEsR0FBWSxLQUFLLFFBQVMsRUFBQSxDQUFBO0FBQy9CLElBQUEsSUFBQSxDQUFLLFNBQVUsRUFBQSxDQUFBO0FBQUEsR0FFbkI7QUFBQSxFQUVPLGFBQWdCLEdBQUE7QUFDbkIsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssU0FBUyxDQUFBLENBQUE7QUFDN0IsSUFBQSxJQUFBLENBQUssVUFBVyxFQUFBLENBQUE7QUFBQSxHQUVwQjtBQUNKOzs7OyJ9
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ const protocol_MessageIdentifiers = require('../MessageIdentifiers.cjs.js');
6
+ const protocol_OfflinePacket = require('../OfflinePacket.cjs.js');
7
+ require('../Packet.cjs.js');
8
+ require('@jsprismarine/jsbinaryutils');
9
+ require('../../utils/InetAddress.cjs.js');
10
+ require('../../Constants.cjs.js');
11
+
12
+ class UnconnectedPong extends protocol_OfflinePacket.default {
13
+ constructor(buffer) {
14
+ super(protocol_MessageIdentifiers.MessageIdentifiers.UNCONNECTED_PONG, buffer);
15
+ }
16
+ timestamp;
17
+ serverGuid;
18
+ serverName;
19
+ decodePayload() {
20
+ this.timestamp = this.readLong();
21
+ this.serverGuid = this.readLong();
22
+ this.readMagic();
23
+ this.serverName = this.readString();
24
+ }
25
+ encodePayload() {
26
+ this.writeLong(this.timestamp);
27
+ this.writeLong(this.serverGuid);
28
+ this.writeMagic();
29
+ this.writeString(this.serverName);
30
+ }
31
+ }
32
+
33
+ exports.default = UnconnectedPong;
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5jb25uZWN0ZWRQb25nLmNqcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Byb3RvY29sL29mZmxpbmUvVW5jb25uZWN0ZWRQb25nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1lc3NhZ2VJZGVudGlmaWVycyB9IGZyb20gJy4uL01lc3NhZ2VJZGVudGlmaWVycyc7XG5pbXBvcnQgT2ZmbGluZVBhY2tldCBmcm9tICcuLi9PZmZsaW5lUGFja2V0JztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVW5jb25uZWN0ZWRQb25nIGV4dGVuZHMgT2ZmbGluZVBhY2tldCB7XG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGJ1ZmZlcj86IEJ1ZmZlcikge1xuICAgICAgICBzdXBlcihNZXNzYWdlSWRlbnRpZmllcnMuVU5DT05ORUNURURfUE9ORywgYnVmZmVyKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdGltZXN0YW1wITogYmlnaW50O1xuICAgIHB1YmxpYyBzZXJ2ZXJHdWlkITogYmlnaW50O1xuICAgIHB1YmxpYyBzZXJ2ZXJOYW1lITogc3RyaW5nO1xuXG4gICAgcHVibGljIGRlY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXN0YW1wID0gdGhpcy5yZWFkTG9uZygpO1xuICAgICAgICB0aGlzLnNlcnZlckd1aWQgPSB0aGlzLnJlYWRMb25nKCk7XG4gICAgICAgIHRoaXMucmVhZE1hZ2ljKCk7XG4gICAgICAgIHRoaXMuc2VydmVyTmFtZSA9IHRoaXMucmVhZFN0cmluZygpO1xuICAgIH1cblxuICAgIHB1YmxpYyBlbmNvZGVQYXlsb2FkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLndyaXRlTG9uZyh0aGlzLnRpbWVzdGFtcCk7XG4gICAgICAgIHRoaXMud3JpdGVMb25nKHRoaXMuc2VydmVyR3VpZCk7XG4gICAgICAgIHRoaXMud3JpdGVNYWdpYygpO1xuICAgICAgICB0aGlzLndyaXRlU3RyaW5nKHRoaXMuc2VydmVyTmFtZSk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbIk9mZmxpbmVQYWNrZXQiLCJNZXNzYWdlSWRlbnRpZmllcnMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR0EsTUFBcUIsd0JBQXdCQSw4QkFBYyxDQUFBO0FBQUEsRUFDaEQsWUFBWSxNQUFpQixFQUFBO0FBQ2hDLElBQU0sS0FBQSxDQUFBQyw4Q0FBQSxDQUFtQixrQkFBa0IsTUFBTSxDQUFBLENBQUE7QUFBQSxHQUNyRDtBQUFBLEVBRU8sU0FBQSxDQUFBO0FBQUEsRUFDQSxVQUFBLENBQUE7QUFBQSxFQUNBLFVBQUEsQ0FBQTtBQUFBLEVBRUEsYUFBc0IsR0FBQTtBQUN6QixJQUFLLElBQUEsQ0FBQSxTQUFBLEdBQVksS0FBSyxRQUFTLEVBQUEsQ0FBQTtBQUMvQixJQUFLLElBQUEsQ0FBQSxVQUFBLEdBQWEsS0FBSyxRQUFTLEVBQUEsQ0FBQTtBQUNoQyxJQUFBLElBQUEsQ0FBSyxTQUFVLEVBQUEsQ0FBQTtBQUNmLElBQUssSUFBQSxDQUFBLFVBQUEsR0FBYSxLQUFLLFVBQVcsRUFBQSxDQUFBO0FBQUEsR0FDdEM7QUFBQSxFQUVPLGFBQXNCLEdBQUE7QUFDekIsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssU0FBUyxDQUFBLENBQUE7QUFDN0IsSUFBSyxJQUFBLENBQUEsU0FBQSxDQUFVLEtBQUssVUFBVSxDQUFBLENBQUE7QUFDOUIsSUFBQSxJQUFBLENBQUssVUFBVyxFQUFBLENBQUE7QUFDaEIsSUFBSyxJQUFBLENBQUEsV0FBQSxDQUFZLEtBQUssVUFBVSxDQUFBLENBQUE7QUFBQSxHQUNwQztBQUNKOzs7OyJ9
@@ -1,5 +1,5 @@
1
- /// <reference types="node" resolution-mode="require"/>
2
- import OfflinePacket from '../OfflinePacket.js';
1
+ /// <reference types="node" />
2
+ import OfflinePacket from '../OfflinePacket';
3
3
  export default class UnconnectedPong extends OfflinePacket {
4
4
  constructor(buffer?: Buffer);
5
5
  timestamp: bigint;
@@ -1 +1 @@
1
- {"version":3,"file":"UnconnectedPong.d.ts","sourceRoot":"","sources":["../../../src/protocol/offline/UnconnectedPong.ts"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;gBACnC,MAAM,CAAC,EAAE,MAAM;IAI3B,SAAS,EAAG,MAAM,CAAC;IACnB,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,CAAC;IAEpB,aAAa,IAAI,IAAI;IAOrB,aAAa,IAAI,IAAI;CAM/B"}
1
+ {"version":3,"file":"UnconnectedPong.d.ts","sourceRoot":"","sources":["../../../src/protocol/offline/UnconnectedPong.ts"],"names":[],"mappings":";AACA,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,aAAa;gBACnC,MAAM,CAAC,EAAE,MAAM;IAI3B,SAAS,EAAG,MAAM,CAAC;IACnB,UAAU,EAAG,MAAM,CAAC;IACpB,UAAU,EAAG,MAAM,CAAC;IAEpB,aAAa,IAAI,IAAI;IAOrB,aAAa,IAAI,IAAI;CAM/B"}
@@ -0,0 +1,30 @@
1
+ import { MessageIdentifiers } from '../MessageIdentifiers.es.js';
2
+ import OfflinePacket from '../OfflinePacket.es.js';
3
+ import '../Packet.es.js';
4
+ import '@jsprismarine/jsbinaryutils';
5
+ import '../../utils/InetAddress.es.js';
6
+ import '../../Constants.es.js';
7
+
8
+ class UnconnectedPong extends OfflinePacket {
9
+ constructor(buffer) {
10
+ super(MessageIdentifiers.UNCONNECTED_PONG, buffer);
11
+ }
12
+ timestamp;
13
+ serverGuid;
14
+ serverName;
15
+ decodePayload() {
16
+ this.timestamp = this.readLong();
17
+ this.serverGuid = this.readLong();
18
+ this.readMagic();
19
+ this.serverName = this.readString();
20
+ }
21
+ encodePayload() {
22
+ this.writeLong(this.timestamp);
23
+ this.writeLong(this.serverGuid);
24
+ this.writeMagic();
25
+ this.writeString(this.serverName);
26
+ }
27
+ }
28
+
29
+ export { UnconnectedPong as default };
30
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVW5jb25uZWN0ZWRQb25nLmVzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcHJvdG9jb2wvb2ZmbGluZS9VbmNvbm5lY3RlZFBvbmcudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZUlkZW50aWZpZXJzIH0gZnJvbSAnLi4vTWVzc2FnZUlkZW50aWZpZXJzJztcbmltcG9ydCBPZmZsaW5lUGFja2V0IGZyb20gJy4uL09mZmxpbmVQYWNrZXQnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBVbmNvbm5lY3RlZFBvbmcgZXh0ZW5kcyBPZmZsaW5lUGFja2V0IHtcbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYnVmZmVyPzogQnVmZmVyKSB7XG4gICAgICAgIHN1cGVyKE1lc3NhZ2VJZGVudGlmaWVycy5VTkNPTk5FQ1RFRF9QT05HLCBidWZmZXIpO1xuICAgIH1cblxuICAgIHB1YmxpYyB0aW1lc3RhbXAhOiBiaWdpbnQ7XG4gICAgcHVibGljIHNlcnZlckd1aWQhOiBiaWdpbnQ7XG4gICAgcHVibGljIHNlcnZlck5hbWUhOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgZGVjb2RlUGF5bG9hZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lc3RhbXAgPSB0aGlzLnJlYWRMb25nKCk7XG4gICAgICAgIHRoaXMuc2VydmVyR3VpZCA9IHRoaXMucmVhZExvbmcoKTtcbiAgICAgICAgdGhpcy5yZWFkTWFnaWMoKTtcbiAgICAgICAgdGhpcy5zZXJ2ZXJOYW1lID0gdGhpcy5yZWFkU3RyaW5nKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGVuY29kZVBheWxvYWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMud3JpdGVMb25nKHRoaXMudGltZXN0YW1wKTtcbiAgICAgICAgdGhpcy53cml0ZUxvbmcodGhpcy5zZXJ2ZXJHdWlkKTtcbiAgICAgICAgdGhpcy53cml0ZU1hZ2ljKCk7XG4gICAgICAgIHRoaXMud3JpdGVTdHJpbmcodGhpcy5zZXJ2ZXJOYW1lKTtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdBLE1BQXFCLHdCQUF3QixhQUFjLENBQUE7QUFBQSxFQUNoRCxZQUFZLE1BQWlCLEVBQUE7QUFDaEMsSUFBTSxLQUFBLENBQUEsa0JBQUEsQ0FBbUIsa0JBQWtCLE1BQU0sQ0FBQSxDQUFBO0FBQUEsR0FDckQ7QUFBQSxFQUVPLFNBQUEsQ0FBQTtBQUFBLEVBQ0EsVUFBQSxDQUFBO0FBQUEsRUFDQSxVQUFBLENBQUE7QUFBQSxFQUVBLGFBQXNCLEdBQUE7QUFDekIsSUFBSyxJQUFBLENBQUEsU0FBQSxHQUFZLEtBQUssUUFBUyxFQUFBLENBQUE7QUFDL0IsSUFBSyxJQUFBLENBQUEsVUFBQSxHQUFhLEtBQUssUUFBUyxFQUFBLENBQUE7QUFDaEMsSUFBQSxJQUFBLENBQUssU0FBVSxFQUFBLENBQUE7QUFDZixJQUFLLElBQUEsQ0FBQSxVQUFBLEdBQWEsS0FBSyxVQUFXLEVBQUEsQ0FBQTtBQUFBLEdBQ3RDO0FBQUEsRUFFTyxhQUFzQixHQUFBO0FBQ3pCLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLFNBQVMsQ0FBQSxDQUFBO0FBQzdCLElBQUssSUFBQSxDQUFBLFNBQUEsQ0FBVSxLQUFLLFVBQVUsQ0FBQSxDQUFBO0FBQzlCLElBQUEsSUFBQSxDQUFLLFVBQVcsRUFBQSxDQUFBO0FBQ2hCLElBQUssSUFBQSxDQUFBLFdBQUEsQ0FBWSxLQUFLLFVBQVUsQ0FBQSxDQUFBO0FBQUEsR0FDcEM7QUFDSjs7OzsifQ==
@@ -0,0 +1,29 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ class InetAddress {
6
+ address;
7
+ port;
8
+ version;
9
+ constructor(address, port, version = 4) {
10
+ this.address = address;
11
+ this.port = port;
12
+ this.version = version;
13
+ }
14
+ getAddress() {
15
+ return this.address;
16
+ }
17
+ getPort() {
18
+ return this.port;
19
+ }
20
+ getVersion() {
21
+ return this.version;
22
+ }
23
+ toToken() {
24
+ return `${this.address}:${this.port}`;
25
+ }
26
+ }
27
+
28
+ exports.default = InetAddress;
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ldEFkZHJlc3MuY2pzLmpzIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvSW5ldEFkZHJlc3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5ldEFkZHJlc3Mge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYWRkcmVzczogc3RyaW5nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcG9ydDogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdmVyc2lvbjogbnVtYmVyO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGFkZHJlc3M6IHN0cmluZywgcG9ydDogbnVtYmVyLCB2ZXJzaW9uID0gNCkge1xuICAgICAgICB0aGlzLmFkZHJlc3MgPSBhZGRyZXNzO1xuICAgICAgICB0aGlzLnBvcnQgPSBwb3J0O1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZHJlc3M7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFBvcnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9ydDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmVyc2lvbigpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1Rva2VuKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLmFkZHJlc3N9OiR7dGhpcy5wb3J0fWA7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFxQixXQUFZLENBQUE7QUFBQSxFQUNaLE9BQUEsQ0FBQTtBQUFBLEVBQ0EsSUFBQSxDQUFBO0FBQUEsRUFDQSxPQUFBLENBQUE7QUFBQSxFQUVWLFdBQVksQ0FBQSxPQUFBLEVBQWlCLElBQWMsRUFBQSxPQUFBLEdBQVUsQ0FBRyxFQUFBO0FBQzNELElBQUEsSUFBQSxDQUFLLE9BQVUsR0FBQSxPQUFBLENBQUE7QUFDZixJQUFBLElBQUEsQ0FBSyxJQUFPLEdBQUEsSUFBQSxDQUFBO0FBQ1osSUFBQSxJQUFBLENBQUssT0FBVSxHQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ25CO0FBQUEsRUFFTyxVQUFxQixHQUFBO0FBQ3hCLElBQUEsT0FBTyxJQUFLLENBQUEsT0FBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLE9BQWtCLEdBQUE7QUFDckIsSUFBQSxPQUFPLElBQUssQ0FBQSxJQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sVUFBcUIsR0FBQTtBQUN4QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxPQUFrQixHQUFBO0FBQ3JCLElBQUEsT0FBTyxDQUFHLEVBQUEsSUFBQSxDQUFLLE9BQU8sQ0FBQSxDQUFBLEVBQUksS0FBSyxJQUFJLENBQUEsQ0FBQSxDQUFBO0FBQUEsR0FDdkM7QUFDSjs7OzsifQ==
@@ -0,0 +1,25 @@
1
+ class InetAddress {
2
+ address;
3
+ port;
4
+ version;
5
+ constructor(address, port, version = 4) {
6
+ this.address = address;
7
+ this.port = port;
8
+ this.version = version;
9
+ }
10
+ getAddress() {
11
+ return this.address;
12
+ }
13
+ getPort() {
14
+ return this.port;
15
+ }
16
+ getVersion() {
17
+ return this.version;
18
+ }
19
+ toToken() {
20
+ return `${this.address}:${this.port}`;
21
+ }
22
+ }
23
+
24
+ export { InetAddress as default };
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5ldEFkZHJlc3MuZXMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9JbmV0QWRkcmVzcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVmYXVsdCBjbGFzcyBJbmV0QWRkcmVzcyB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhZGRyZXNzOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwb3J0OiBudW1iZXI7XG4gICAgcHJpdmF0ZSByZWFkb25seSB2ZXJzaW9uOiBudW1iZXI7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoYWRkcmVzczogc3RyaW5nLCBwb3J0OiBudW1iZXIsIHZlcnNpb24gPSA0KSB7XG4gICAgICAgIHRoaXMuYWRkcmVzcyA9IGFkZHJlc3M7XG4gICAgICAgIHRoaXMucG9ydCA9IHBvcnQ7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFkZHJlc3MoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzcztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UG9ydCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5wb3J0O1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWZXJzaW9uKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gICAgfVxuXG4gICAgcHVibGljIHRvVG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuYWRkcmVzc306JHt0aGlzLnBvcnR9YDtcbiAgICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBcUIsV0FBWSxDQUFBO0FBQUEsRUFDWixPQUFBLENBQUE7QUFBQSxFQUNBLElBQUEsQ0FBQTtBQUFBLEVBQ0EsT0FBQSxDQUFBO0FBQUEsRUFFVixXQUFZLENBQUEsT0FBQSxFQUFpQixJQUFjLEVBQUEsT0FBQSxHQUFVLENBQUcsRUFBQTtBQUMzRCxJQUFBLElBQUEsQ0FBSyxPQUFVLEdBQUEsT0FBQSxDQUFBO0FBQ2YsSUFBQSxJQUFBLENBQUssSUFBTyxHQUFBLElBQUEsQ0FBQTtBQUNaLElBQUEsSUFBQSxDQUFLLE9BQVUsR0FBQSxPQUFBLENBQUE7QUFBQSxHQUNuQjtBQUFBLEVBRU8sVUFBcUIsR0FBQTtBQUN4QixJQUFBLE9BQU8sSUFBSyxDQUFBLE9BQUEsQ0FBQTtBQUFBLEdBQ2hCO0FBQUEsRUFFTyxPQUFrQixHQUFBO0FBQ3JCLElBQUEsT0FBTyxJQUFLLENBQUEsSUFBQSxDQUFBO0FBQUEsR0FDaEI7QUFBQSxFQUVPLFVBQXFCLEdBQUE7QUFDeEIsSUFBQSxPQUFPLElBQUssQ0FBQSxPQUFBLENBQUE7QUFBQSxHQUNoQjtBQUFBLEVBRU8sT0FBa0IsR0FBQTtBQUNyQixJQUFBLE9BQU8sQ0FBRyxFQUFBLElBQUEsQ0FBSyxPQUFPLENBQUEsQ0FBQSxFQUFJLEtBQUssSUFBSSxDQUFBLENBQUEsQ0FBQTtBQUFBLEdBQ3ZDO0FBQ0o7Ozs7In0=
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: 'Module' } });
4
+
5
+ class ServerName {
6
+ server;
7
+ motd;
8
+ name = "JSRakNet";
9
+ protocol;
10
+ version;
11
+ maxPlayers;
12
+ gamemode;
13
+ serverId = 0n;
14
+ constructor(server) {
15
+ this.server = server;
16
+ this.motd = server.getConfig().getMotd();
17
+ this.gamemode = server.getConfig().getGamemode();
18
+ this.maxPlayers = server.getConfig().getMaxPlayers();
19
+ this.protocol = server.getIdentifiers().Protocol;
20
+ this.version = server.getIdentifiers().MinecraftVersion;
21
+ }
22
+ getMotd() {
23
+ return this.motd;
24
+ }
25
+ setMotd(motd) {
26
+ this.motd = motd;
27
+ }
28
+ getName() {
29
+ return this.name;
30
+ }
31
+ setName(name) {
32
+ this.name = name;
33
+ }
34
+ getProtocol() {
35
+ return this.protocol;
36
+ }
37
+ setProtocol(protocol) {
38
+ this.protocol = protocol;
39
+ }
40
+ getVersion() {
41
+ return this.version;
42
+ }
43
+ setVersion(version) {
44
+ this.version = version;
45
+ }
46
+ getOnlinePlayerCount() {
47
+ return this.server.getPlayerManager().getOnlinePlayers().length;
48
+ }
49
+ getMaxPlayerCount() {
50
+ return this.maxPlayers;
51
+ }
52
+ setMaxPlayerCount(count) {
53
+ this.maxPlayers = count;
54
+ }
55
+ getGamemode() {
56
+ return this.gamemode;
57
+ }
58
+ setGamemode(gamemode) {
59
+ this.gamemode = gamemode;
60
+ }
61
+ getServerId() {
62
+ return this.serverId;
63
+ }
64
+ setServerId(id) {
65
+ this.serverId = id;
66
+ }
67
+ toString() {
68
+ return [
69
+ "MCPE",
70
+ this.getMotd() ?? "Example motd",
71
+ this.getProtocol(),
72
+ this.getVersion(),
73
+ this.getOnlinePlayerCount(),
74
+ this.getMaxPlayerCount(),
75
+ this.getServerId(),
76
+ this.getName(),
77
+ this.getGamemode()
78
+ ].join(";") + ";";
79
+ }
80
+ }
81
+
82
+ exports.default = ServerName;
83
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyTmFtZS5janMuanMiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9TZXJ2ZXJOYW1lLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlcnZlck5hbWUge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2VydmVyOiBhbnk7XG4gICAgcHJpdmF0ZSBtb3RkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBuYW1lID0gJ0pTUmFrTmV0JztcbiAgICBwcml2YXRlIHByb3RvY29sO1xuICAgIHByaXZhdGUgdmVyc2lvbjtcbiAgICBwcml2YXRlIG1heFBsYXllcnM6IG51bWJlcjtcbiAgICBwcml2YXRlIGdhbWVtb2RlOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBzZXJ2ZXJJZCA9IDBuO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHNlcnZlcjogYW55KSB7XG4gICAgICAgIHRoaXMuc2VydmVyID0gc2VydmVyO1xuICAgICAgICB0aGlzLm1vdGQgPSBzZXJ2ZXIuZ2V0Q29uZmlnKCkuZ2V0TW90ZCgpO1xuICAgICAgICB0aGlzLmdhbWVtb2RlID0gc2VydmVyLmdldENvbmZpZygpLmdldEdhbWVtb2RlKCk7XG4gICAgICAgIHRoaXMubWF4UGxheWVycyA9IHNlcnZlci5nZXRDb25maWcoKS5nZXRNYXhQbGF5ZXJzKCk7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSAoc2VydmVyIGFzIGFueSkuZ2V0SWRlbnRpZmllcnMoKS5Qcm90b2NvbDtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gKHNlcnZlciBhcyBhbnkpLmdldElkZW50aWZpZXJzKCkuTWluZWNyYWZ0VmVyc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TW90ZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5tb3RkO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRNb3RkKG1vdGQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLm1vdGQgPSBtb3RkO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROYW1lKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE5hbWUobmFtZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFByb3RvY29sKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3RvY29sO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRQcm90b2NvbChwcm90b2NvbDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJvdG9jb2wgPSBwcm90b2NvbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VmVyc2lvbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52ZXJzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRWZXJzaW9uKHZlcnNpb246IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRPbmxpbmVQbGF5ZXJDb3VudCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXIuZ2V0UGxheWVyTWFuYWdlcigpLmdldE9ubGluZVBsYXllcnMoKS5sZW5ndGg7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE1heFBsYXllckNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLm1heFBsYXllcnM7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1heFBsYXllckNvdW50KGNvdW50OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5tYXhQbGF5ZXJzID0gY291bnQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEdhbWVtb2RlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdhbWVtb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRHYW1lbW9kZShnYW1lbW9kZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2FtZW1vZGUgPSBnYW1lbW9kZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2VydmVySWQoKTogYmlnaW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmVySWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFNlcnZlcklkKGlkOiBiaWdpbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXJJZCA9IGlkO1xuICAgIH1cblxuICAgIHB1YmxpYyB0b1N0cmluZygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICdNQ1BFJyxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE1vdGQoKSA/PyAnRXhhbXBsZSBtb3RkJyxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFByb3RvY29sKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRWZXJzaW9uKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRPbmxpbmVQbGF5ZXJDb3VudCgpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TWF4UGxheWVyQ291bnQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFNlcnZlcklkKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXROYW1lKCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRHYW1lbW9kZSgpXG4gICAgICAgICAgICBdLmpvaW4oJzsnKSArICc7J1xuICAgICAgICApO1xuICAgIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsTUFBcUIsVUFBVyxDQUFBO0FBQUEsRUFDWCxNQUFBLENBQUE7QUFBQSxFQUNULElBQUEsQ0FBQTtBQUFBLEVBQ0EsSUFBTyxHQUFBLFVBQUEsQ0FBQTtBQUFBLEVBQ1AsUUFBQSxDQUFBO0FBQUEsRUFDQSxPQUFBLENBQUE7QUFBQSxFQUNBLFVBQUEsQ0FBQTtBQUFBLEVBQ0EsUUFBQSxDQUFBO0FBQUEsRUFD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
@@ -0,0 +1,79 @@
1
+ class ServerName {
2
+ server;
3
+ motd;
4
+ name = "JSRakNet";
5
+ protocol;
6
+ version;
7
+ maxPlayers;
8
+ gamemode;
9
+ serverId = 0n;
10
+ constructor(server) {
11
+ this.server = server;
12
+ this.motd = server.getConfig().getMotd();
13
+ this.gamemode = server.getConfig().getGamemode();
14
+ this.maxPlayers = server.getConfig().getMaxPlayers();
15
+ this.protocol = server.getIdentifiers().Protocol;
16
+ this.version = server.getIdentifiers().MinecraftVersion;
17
+ }
18
+ getMotd() {
19
+ return this.motd;
20
+ }
21
+ setMotd(motd) {
22
+ this.motd = motd;
23
+ }
24
+ getName() {
25
+ return this.name;
26
+ }
27
+ setName(name) {
28
+ this.name = name;
29
+ }
30
+ getProtocol() {
31
+ return this.protocol;
32
+ }
33
+ setProtocol(protocol) {
34
+ this.protocol = protocol;
35
+ }
36
+ getVersion() {
37
+ return this.version;
38
+ }
39
+ setVersion(version) {
40
+ this.version = version;
41
+ }
42
+ getOnlinePlayerCount() {
43
+ return this.server.getPlayerManager().getOnlinePlayers().length;
44
+ }
45
+ getMaxPlayerCount() {
46
+ return this.maxPlayers;
47
+ }
48
+ setMaxPlayerCount(count) {
49
+ this.maxPlayers = count;
50
+ }
51
+ getGamemode() {
52
+ return this.gamemode;
53
+ }
54
+ setGamemode(gamemode) {
55
+ this.gamemode = gamemode;
56
+ }
57
+ getServerId() {
58
+ return this.serverId;
59
+ }
60
+ setServerId(id) {
61
+ this.serverId = id;
62
+ }
63
+ toString() {
64
+ return [
65
+ "MCPE",
66
+ this.getMotd() ?? "Example motd",
67
+ this.getProtocol(),
68
+ this.getVersion(),
69
+ this.getOnlinePlayerCount(),
70
+ this.getMaxPlayerCount(),
71
+ this.getServerId(),
72
+ this.getName(),
73
+ this.getGamemode()
74
+ ].join(";") + ";";
75
+ }
76
+ }
77
+
78
+ export { ServerName as default };
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VydmVyTmFtZS5lcy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL1NlcnZlck5hbWUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VydmVyTmFtZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2ZXI6IGFueTtcbiAgICBwcml2YXRlIG1vdGQ6IHN0cmluZztcbiAgICBwcml2YXRlIG5hbWUgPSAnSlNSYWtOZXQnO1xuICAgIHByaXZhdGUgcHJvdG9jb2w7XG4gICAgcHJpdmF0ZSB2ZXJzaW9uO1xuICAgIHByaXZhdGUgbWF4UGxheWVyczogbnVtYmVyO1xuICAgIHByaXZhdGUgZ2FtZW1vZGU6IHN0cmluZztcbiAgICBwcml2YXRlIHNlcnZlcklkID0gMG47XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3Ioc2VydmVyOiBhbnkpIHtcbiAgICAgICAgdGhpcy5zZXJ2ZXIgPSBzZXJ2ZXI7XG4gICAgICAgIHRoaXMubW90ZCA9IHNlcnZlci5nZXRDb25maWcoKS5nZXRNb3RkKCk7XG4gICAgICAgIHRoaXMuZ2FtZW1vZGUgPSBzZXJ2ZXIuZ2V0Q29uZmlnKCkuZ2V0R2FtZW1vZGUoKTtcbiAgICAgICAgdGhpcy5tYXhQbGF5ZXJzID0gc2VydmVyLmdldENvbmZpZygpLmdldE1heFBsYXllcnMoKTtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IChzZXJ2ZXIgYXMgYW55KS5nZXRJZGVudGlmaWVycygpLlByb3RvY29sO1xuICAgICAgICB0aGlzLnZlcnNpb24gPSAoc2VydmVyIGFzIGFueSkuZ2V0SWRlbnRpZmllcnMoKS5NaW5lY3JhZnRWZXJzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRNb3RkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLm1vdGQ7XG4gICAgfVxuXG4gICAgcHVibGljIHNldE1vdGQobW90ZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMubW90ZCA9IG1vdGQ7XG4gICAgfVxuXG4gICAgcHVibGljIGdldE5hbWUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TmFtZShuYW1lOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0UHJvdG9jb2woKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvdG9jb2w7XG4gICAgfVxuXG4gICAgcHVibGljIHNldFByb3RvY29sKHByb3RvY29sOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcm90b2NvbCA9IHByb3RvY29sO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRWZXJzaW9uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gICAgfVxuXG4gICAgcHVibGljIHNldFZlcnNpb24odmVyc2lvbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmVyc2lvbiA9IHZlcnNpb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldE9ubGluZVBsYXllckNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlcnZlci5nZXRQbGF5ZXJNYW5hZ2VyKCkuZ2V0T25saW5lUGxheWVycygpLmxlbmd0aDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TWF4UGxheWVyQ291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF4UGxheWVycztcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0TWF4UGxheWVyQ291bnQoY291bnQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLm1heFBsYXllcnMgPSBjb3VudDtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0R2FtZW1vZGUoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2FtZW1vZGU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEdhbWVtb2RlKGdhbWVtb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nYW1lbW9kZSA9IGdhbWVtb2RlO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXJ2ZXJJZCgpOiBiaWdpbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXJ2ZXJJZDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0U2VydmVySWQoaWQ6IGJpZ2ludCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNlcnZlcklkID0gaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIHRvU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgJ01DUEUnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0TW90ZCgpID8/ICdFeGFtcGxlIG1vdGQnLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0UHJvdG9jb2woKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldFZlcnNpb24oKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE9ubGluZVBsYXllckNvdW50KCksXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRNYXhQbGF5ZXJDb3VudCgpLFxuICAgICAgICAgICAgICAgIHRoaXMuZ2V0U2VydmVySWQoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldE5hbWUoKSxcbiAgICAgICAgICAgICAgICB0aGlzLmdldEdhbWVtb2RlKClcbiAgICAgICAgICAgIF0uam9pbignOycpICsgJzsnXG4gICAgICAgICk7XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQXFCLFVBQVcsQ0FBQTtBQUFBLEVBQ1gsTUFBQSxDQUFBO0FBQUEsRUFDVCxJQUFBLENBQUE7QUFBQSxFQUNBLElBQU8sR0FBQSxVQUFBLENBQUE7QUFBQSxFQUNQLFFBQUEsQ0FBQTtBQUFBLEVBQ0EsT0FBQSxDQUFBO0FBQUEsRUFDQSxVQUFBLENBQUE7QUFBQSxFQUNBLFFBQUEsQ0FBQTtBQUFBLEVBQ0EsUUFB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
package/package.json CHANGED
@@ -1,32 +1,54 @@
1
1
  {
2
- "name": "@jsprismarine/raknet",
3
- "version": "0.1.0-rc.53",
4
- "description": "Basic RakNet implementation written in TypeScript",
5
- "main": "./dist/RakNet.js",
6
- "types": "./dist/RakNet.d.ts",
7
- "type": "module",
8
- "funding": "https://github.com/sponsors/JSPrismarine",
9
- "scripts": {
10
- "build": "tsc --build src"
2
+ "name": "@jsprismarine/raknet",
3
+ "version": "0.1.0",
4
+ "description": "Basic RakNet implementation written in TypeScript",
5
+ "sideEffects": false,
6
+ "type": "module",
7
+ "files": [
8
+ "dist"
9
+ ],
10
+ "module": "./dist/RakNet.es.js",
11
+ "types": "./dist/RakNet.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "import": "./dist/RakNet.es.js",
15
+ "module": "./dist/RakNet.es.js",
16
+ "require": "./dist/RakNet.cjs.js",
17
+ "types": "./dist/RakNet.d.ts"
11
18
  },
12
- "repository": {
13
- "type": "git",
14
- "url": "git+https://github.com/JSPrismarine/JSPrismarine.git"
19
+ "./*": {
20
+ "import": "./dist/*.es.js",
21
+ "module": "./dist/*.es.js",
22
+ "require": "./dist/*.cjs.js",
23
+ "types": "./dist/*.d.ts"
15
24
  },
16
- "keywords": [
17
- "nodejs",
18
- "raknet"
19
- ],
20
- "author": "JSPrismarine",
21
- "license": "MIT",
22
- "homepage": "https://github.com/JSPrismarine/JSPrismarine/tree/master/packages/raknet",
23
- "dependencies": {
24
- "@jsprismarine/jsbinaryutils": "5.4.4",
25
- "pino": "8.17.2"
26
- },
27
- "devDependencies": {
28
- "pino-pretty": "10.3.1",
29
- "typescript": "5.3.3"
30
- },
31
- "gitHead": "d5c024aee5aa3dfd06ed5cde11d9ac39a4c35bb0"
32
- }
25
+ "./package.json": "./package.json"
26
+ },
27
+ "funding": "https://github.com/sponsors/JSPrismarine",
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "git+https://github.com/JSPrismarine/JSPrismarine.git"
31
+ },
32
+ "keywords": [
33
+ "nodejs",
34
+ "raknet"
35
+ ],
36
+ "author": "JSPrismarine",
37
+ "license": "MIT",
38
+ "homepage": "https://github.com/JSPrismarine/JSPrismarine/tree/master/packages/raknet",
39
+ "dependencies": {
40
+ "@jsprismarine/jsbinaryutils": "5.5.3",
41
+ "pino": "8.19.0"
42
+ },
43
+ "devDependencies": {
44
+ "@types/node": "20.11.30",
45
+ "glob": "10.3.10",
46
+ "typescript": "5.4.3",
47
+ "vite": "5.2.3",
48
+ "vitest": "1.4.0"
49
+ },
50
+ "scripts": {
51
+ "build": "vite build",
52
+ "typecheck": "tsc -noEmit"
53
+ }
54
+ }
@@ -1,3 +0,0 @@
1
- export {};
2
- // TODO: will implement connect() and many more features
3
- //# sourceMappingURL=ClientSocket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ClientSocket.js","sourceRoot":"","sources":["../src/ClientSocket.ts"],"names":[],"mappings":";AAAA,wDAAwD"}
package/dist/RakNet.js DELETED
@@ -1,15 +0,0 @@
1
- import * as Protocol from './protocol/Protocol.js';
2
- import RakNetSession, { RakNetPriority as ConnectionPriority } from './Session.js';
3
- import InetAddress from './utils/InetAddress.js';
4
- import RakNetListener from './ServerSocket.js';
5
- import ServerName from './utils/ServerName.js';
6
- export const RAKNET_TPS = 10;
7
- export const MAX_CHANNELS = 32;
8
- export const MINECRAFT_PROTOCOL_VERSION = 11;
9
- export const UDP_HEADER_SIZE = 28;
10
- export const OFFLINE_MESSAGE_DATA_ID = Buffer.from('\u0000\u00FF\u00FF\u0000\u00FE\u00FE\u00FE\u00FE\u00FD\u00FD\u00FD\u00FD\u0012\u0034\u0056\u0078', 'binary');
11
- // https://github.com/facebookarchive/RakNet/blob/1a169895a900c9fc4841c556e16514182b75faf8/Source/MTUSize.h
12
- export const MAX_MTU_SIZE = 1492;
13
- export const MIN_MTU_SIZE = 400;
14
- export { RakNetSession, ConnectionPriority, Protocol, RakNetListener, InetAddress, ServerName };
15
- //# sourceMappingURL=RakNet.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RakNet.js","sourceRoot":"","sources":["../src/RakNet.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,wBAAwB,CAAC;AAEnD,OAAO,aAAa,EAAE,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEnF,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAE/C,MAAM,CAAC,MAAM,UAAU,GAAG,EAAE,CAAC;AAC7B,MAAM,CAAC,MAAM,YAAY,GAAG,EAAE,CAAC;AAC/B,MAAM,CAAC,MAAM,0BAA0B,GAAG,EAAE,CAAC;AAC7C,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,CAAC;AAClC,MAAM,CAAC,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAC9C,kGAAkG,EAClG,QAAQ,CACX,CAAC;AAEF,2GAA2G;AAC3G,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,CAAC;AACjC,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC"}
@@ -1,129 +0,0 @@
1
- import { pino } from 'pino';
2
- import Dgram from 'node:dgram';
3
- import BitFlags from './protocol/BitFlags.js';
4
- import { EventEmitter } from 'events';
5
- import { RAKNET_TPS } from './RakNet.js';
6
- import RakNetSession from './Session.js';
7
- import OfflineHandler from './protocol/OfflineHandler.js';
8
- export default class ServerSocket extends EventEmitter {
9
- maxConnections;
10
- onlineMode;
11
- socket;
12
- guid;
13
- sessions = new Set();
14
- logger;
15
- ticker;
16
- offlineHandler = new OfflineHandler(this);
17
- constructor(maxConnections, onlineMode) {
18
- super();
19
- this.maxConnections = maxConnections;
20
- this.onlineMode = onlineMode;
21
- this.socket = Dgram.createSocket('udp4');
22
- // Dereferencing the socket will allow
23
- // us closing the process while listening
24
- this.socket.unref();
25
- this.guid = Buffer.allocUnsafe(8).readBigInt64BE();
26
- this.logger = pino({ name: 'RakNet', base: undefined });
27
- this.logger.level = 'trace'; // TODO: via pino-pretty cli
28
- }
29
- start(address, port) {
30
- try {
31
- this.socket.bind(port, address);
32
- }
33
- catch (e) {
34
- if (e instanceof Error) {
35
- this.logger.error('Failed to bind socket, error message=%s', e.message);
36
- }
37
- }
38
- const tick = () => setTimeout(() => {
39
- for (const session of this.sessions.values()) {
40
- session.update(Date.now());
41
- }
42
- tick();
43
- }, RAKNET_TPS);
44
- // Start ticking
45
- this.ticker = tick();
46
- this.ticker.unref();
47
- this.socket.on('message', this.handleMessage.bind(this));
48
- }
49
- handleMessage(msg, rinfo) {
50
- // Directly check if it's a offline message
51
- if ((msg[0] & BitFlags.VALID) === 0) {
52
- this.offlineHandler.process(msg, rinfo);
53
- }
54
- else {
55
- // Normally RakNet ignores unhandled packets, but we still want some logs...
56
- // https://github.com/facebookarchive/RakNet/blob/master/Source/RakPeer.cpp#L5465
57
- let session;
58
- if ((session = this.getSessionByAddress(rinfo)) !== null) {
59
- session.handle(msg);
60
- }
61
- else {
62
- // May be triggered by the ACK of disconnect packet that is received after session is closed
63
- this.logger.debug('Cannot handle Datagram for unconnected client=%s, buffer=%o', `${rinfo.address}:${rinfo.port}`, msg);
64
- }
65
- }
66
- }
67
- kill() {
68
- // Send last remaining packets to all players
69
- for (const session of this.getSessions()) {
70
- session.sendFrameQueue();
71
- }
72
- clearTimeout(this.ticker);
73
- }
74
- /**
75
- * Used to retrive if we are overflowing the maximum
76
- * connections we can allow, value given in the constructor.
77
- * @returns {boolean} if we can hold new connections.
78
- */
79
- allowIncomingConnections() {
80
- return this.sessions.size < this.maxConnections;
81
- }
82
- /**
83
- * Returns the maximum number of incoming connections.
84
- * @returns {number} the maximum connections we can allow.
85
- */
86
- getMaxConnections() {
87
- return this.maxConnections;
88
- }
89
- /**
90
- * Sets the maximum number of allowed incoming connections.
91
- * @param {number} allowed - maximum number of connections.
92
- */
93
- setMaxConnections(allowed) {
94
- this.maxConnections = allowed;
95
- }
96
- addSession(rinfo, mtuSize, incomingGuid) {
97
- this.sessions.add(new RakNetSession(this, mtuSize, rinfo, incomingGuid));
98
- this.logger.debug('Session created for client=%o, mtu=%d', `${rinfo.address}:${rinfo.port}`, mtuSize);
99
- }
100
- removeSession(session, reason) {
101
- if (this.sessions.delete(session)) {
102
- this.emit('closeConnection', session.getAddress(), reason);
103
- this.logger.debug('Closed session for client=%o, reason=%s', session.getAddress(), reason);
104
- }
105
- }
106
- getLogger() {
107
- return this.logger;
108
- }
109
- getSessions() {
110
- return Array.from(this.sessions.values());
111
- }
112
- getSessionByAddress(rinfo) {
113
- return (this.getSessions().find((session) => session.rinfo.address === rinfo.address && session.rinfo.port === rinfo.port) ?? null);
114
- }
115
- getSessionByGUID(guid) {
116
- return this.getSessions().find((session) => session.guid === guid) ?? null;
117
- }
118
- getServerGuid() {
119
- return this.guid;
120
- }
121
- sendPacket(packet, rinfo) {
122
- packet.encode();
123
- this.sendBuffer(packet.getBuffer(), rinfo);
124
- }
125
- sendBuffer(buffer, rinfo) {
126
- this.socket.send(buffer, rinfo.port, rinfo.address);
127
- }
128
- }
129
- //# sourceMappingURL=ServerSocket.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ServerSocket.js","sourceRoot":"","sources":["../src/ServerSocket.ts"],"names":[],"mappings":"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"}