@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.
- package/LICENSE +373 -0
- package/dist/ClientSocket.cjs.js +3 -0
- package/dist/ClientSocket.es.js +2 -0
- package/dist/Constants.cjs.js +23 -0
- package/dist/Constants.d.ts +9 -0
- package/dist/Constants.d.ts.map +1 -0
- package/dist/Constants.es.js +13 -0
- package/dist/Protocol-B7Z_wJaK.js +51 -0
- package/dist/Protocol-Bik5hgGW.cjs +53 -0
- package/dist/RakNet.cjs.js +83 -0
- package/dist/RakNet.d.ts +12 -14
- package/dist/RakNet.d.ts.map +1 -1
- package/dist/RakNet.es.js +38 -0
- package/dist/ServerSocket.cjs.js +160 -0
- package/dist/ServerSocket.d.ts +5 -5
- package/dist/ServerSocket.d.ts.map +1 -1
- package/dist/ServerSocket.es.js +152 -0
- package/dist/Session.cjs.js +386 -0
- package/dist/Session.d.ts +5 -5
- package/dist/Session.d.ts.map +1 -1
- package/dist/Session.es.js +375 -0
- package/dist/protocol/ACK.cjs.js +18 -0
- package/dist/protocol/ACK.d.ts +2 -2
- package/dist/protocol/ACK.d.ts.map +1 -1
- package/dist/protocol/ACK.es.js +14 -0
- package/dist/protocol/AcknowledgePacket.cjs.js +75 -0
- package/dist/protocol/AcknowledgePacket.d.ts +1 -1
- package/dist/protocol/AcknowledgePacket.d.ts.map +1 -1
- package/dist/protocol/AcknowledgePacket.es.js +67 -0
- package/dist/protocol/BitFlags.cjs.js +15 -0
- package/dist/protocol/BitFlags.es.js +10 -0
- package/dist/protocol/DisconnectNotification.cjs.js +19 -0
- package/dist/protocol/DisconnectNotification.d.ts +1 -1
- package/dist/protocol/DisconnectNotification.d.ts.map +1 -1
- package/dist/protocol/DisconnectNotification.es.js +15 -0
- package/dist/protocol/Frame.cjs.js +110 -0
- package/dist/protocol/Frame.d.ts +2 -2
- package/dist/protocol/Frame.d.ts.map +1 -1
- package/dist/protocol/Frame.es.js +100 -0
- package/dist/protocol/FrameReliability.cjs.js +19 -0
- package/dist/protocol/FrameReliability.es.js +14 -0
- package/dist/protocol/FrameSet.cjs.js +45 -0
- package/dist/protocol/FrameSet.d.ts +3 -3
- package/dist/protocol/FrameSet.d.ts.map +1 -1
- package/dist/protocol/FrameSet.es.js +40 -0
- package/dist/protocol/MessageIdentifiers.cjs.js +47 -0
- package/dist/protocol/MessageIdentifiers.es.js +43 -0
- package/dist/protocol/NACK.cjs.js +18 -0
- package/dist/protocol/NACK.d.ts +2 -2
- package/dist/protocol/NACK.d.ts.map +1 -1
- package/dist/protocol/NACK.es.js +14 -0
- package/dist/protocol/OfflineHandler.cjs.js +110 -0
- package/dist/protocol/OfflineHandler.d.ts +4 -4
- package/dist/protocol/OfflineHandler.d.ts.map +1 -1
- package/dist/protocol/OfflineHandler.es.js +102 -0
- package/dist/protocol/OfflinePacket.cjs.js +25 -0
- package/dist/protocol/OfflinePacket.d.ts +1 -1
- package/dist/protocol/OfflinePacket.d.ts.map +1 -1
- package/dist/protocol/OfflinePacket.es.js +21 -0
- package/dist/protocol/Packet.cjs.js +67 -0
- package/dist/protocol/Packet.d.ts +2 -2
- package/dist/protocol/Packet.d.ts.map +1 -1
- package/dist/protocol/Packet.es.js +59 -0
- package/dist/protocol/PacketPool.cjs.js +45 -0
- package/dist/protocol/PacketPool.d.ts +3 -3
- package/dist/protocol/PacketPool.d.ts.map +1 -1
- package/dist/protocol/PacketPool.es.js +41 -0
- package/dist/protocol/Protocol.cjs.js +57 -0
- package/dist/protocol/Protocol.d.ts +23 -25
- package/dist/protocol/Protocol.d.ts.map +1 -1
- package/dist/protocol/Protocol.es.js +28 -0
- package/dist/protocol/connection/ConnectedPing.cjs.js +24 -0
- package/dist/protocol/connection/ConnectedPing.d.ts +2 -2
- package/dist/protocol/connection/ConnectedPing.d.ts.map +1 -1
- package/dist/protocol/connection/ConnectedPing.es.js +20 -0
- package/dist/protocol/connection/ConnectedPong.cjs.js +23 -0
- package/dist/protocol/connection/ConnectedPong.d.ts +1 -1
- package/dist/protocol/connection/ConnectedPong.d.ts.map +1 -1
- package/dist/protocol/connection/ConnectedPong.es.js +19 -0
- package/dist/protocol/connection/IncompatibleProtocolVersion.cjs.js +26 -0
- package/dist/protocol/connection/IncompatibleProtocolVersion.d.ts +1 -1
- package/dist/protocol/connection/IncompatibleProtocolVersion.d.ts.map +1 -1
- package/dist/protocol/connection/IncompatibleProtocolVersion.es.js +22 -0
- package/dist/protocol/connection/NewIncomingConnection.cjs.js +37 -0
- package/dist/protocol/connection/NewIncomingConnection.d.ts +3 -3
- package/dist/protocol/connection/NewIncomingConnection.d.ts.map +1 -1
- package/dist/protocol/connection/NewIncomingConnection.es.js +33 -0
- package/dist/protocol/connection/OpenConnectionReply1.cjs.js +33 -0
- package/dist/protocol/connection/OpenConnectionReply1.d.ts +2 -2
- package/dist/protocol/connection/OpenConnectionReply1.d.ts.map +1 -1
- package/dist/protocol/connection/OpenConnectionReply1.es.js +29 -0
- package/dist/protocol/connection/OpenConnectionReply2.cjs.js +36 -0
- package/dist/protocol/connection/OpenConnectionReply2.d.ts +3 -3
- package/dist/protocol/connection/OpenConnectionReply2.d.ts.map +1 -1
- package/dist/protocol/connection/OpenConnectionReply2.es.js +32 -0
- package/dist/protocol/connection/OpenConnectionRequest1.cjs.js +31 -0
- package/dist/protocol/connection/OpenConnectionRequest1.d.ts +2 -2
- package/dist/protocol/connection/OpenConnectionRequest1.d.ts.map +1 -1
- package/dist/protocol/connection/OpenConnectionRequest1.es.js +27 -0
- package/dist/protocol/connection/OpenConnectionRequest2.cjs.js +34 -0
- package/dist/protocol/connection/OpenConnectionRequest2.d.ts +3 -3
- package/dist/protocol/connection/OpenConnectionRequest2.d.ts.map +1 -1
- package/dist/protocol/connection/OpenConnectionRequest2.es.js +30 -0
- package/dist/protocol/login/ConnectionRequest.cjs.js +29 -0
- package/dist/protocol/login/ConnectionRequest.d.ts +2 -2
- package/dist/protocol/login/ConnectionRequest.d.ts.map +1 -1
- package/dist/protocol/login/ConnectionRequest.es.js +25 -0
- package/dist/protocol/login/ConnectionRequestAccepted.cjs.js +39 -0
- package/dist/protocol/login/ConnectionRequestAccepted.d.ts +3 -3
- package/dist/protocol/login/ConnectionRequestAccepted.d.ts.map +1 -1
- package/dist/protocol/login/ConnectionRequestAccepted.es.js +35 -0
- package/dist/protocol/offline/UnconnectedPing.cjs.js +29 -0
- package/dist/protocol/offline/UnconnectedPing.d.ts +2 -2
- package/dist/protocol/offline/UnconnectedPing.d.ts.map +1 -1
- package/dist/protocol/offline/UnconnectedPing.es.js +25 -0
- package/dist/protocol/offline/UnconnectedPong.cjs.js +34 -0
- package/dist/protocol/offline/UnconnectedPong.d.ts +2 -2
- package/dist/protocol/offline/UnconnectedPong.d.ts.map +1 -1
- package/dist/protocol/offline/UnconnectedPong.es.js +30 -0
- package/dist/utils/InetAddress.cjs.js +29 -0
- package/dist/utils/InetAddress.es.js +25 -0
- package/dist/utils/ServerName.cjs.js +83 -0
- package/dist/utils/ServerName.es.js +79 -0
- package/package.json +51 -29
- package/dist/ClientSocket.js +0 -3
- package/dist/ClientSocket.js.map +0 -1
- package/dist/RakNet.js +0 -15
- package/dist/RakNet.js.map +0 -1
- package/dist/ServerSocket.js +0 -129
- package/dist/ServerSocket.js.map +0 -1
- package/dist/Session.js +0 -408
- package/dist/Session.js.map +0 -1
- package/dist/protocol/ACK.js +0 -8
- package/dist/protocol/ACK.js.map +0 -1
- package/dist/protocol/AcknowledgePacket.js +0 -69
- package/dist/protocol/AcknowledgePacket.js.map +0 -1
- package/dist/protocol/BitFlags.js +0 -9
- package/dist/protocol/BitFlags.js.map +0 -1
- package/dist/protocol/DisconnectNotification.js +0 -8
- package/dist/protocol/DisconnectNotification.js.map +0 -1
- package/dist/protocol/Frame.js +0 -103
- package/dist/protocol/Frame.js.map +0 -1
- package/dist/protocol/FrameReliability.js +0 -14
- package/dist/protocol/FrameReliability.js.map +0 -1
- package/dist/protocol/FrameSet.js +0 -34
- package/dist/protocol/FrameSet.js.map +0 -1
- package/dist/protocol/MessageIdentifiers.js +0 -42
- package/dist/protocol/MessageIdentifiers.js.map +0 -1
- package/dist/protocol/NACK.js +0 -8
- package/dist/protocol/NACK.js.map +0 -1
- package/dist/protocol/OfflineHandler.js +0 -103
- package/dist/protocol/OfflineHandler.js.map +0 -1
- package/dist/protocol/OfflinePacket.js +0 -16
- package/dist/protocol/OfflinePacket.js.map +0 -1
- package/dist/protocol/Packet.js +0 -59
- package/dist/protocol/Packet.js.map +0 -1
- package/dist/protocol/PacketPool.js +0 -29
- package/dist/protocol/PacketPool.js.map +0 -1
- package/dist/protocol/Protocol.js +0 -26
- package/dist/protocol/Protocol.js.map +0 -1
- package/dist/protocol/connection/ConnectedPing.js +0 -15
- package/dist/protocol/connection/ConnectedPing.js.map +0 -1
- package/dist/protocol/connection/ConnectedPong.js +0 -14
- package/dist/protocol/connection/ConnectedPong.js.map +0 -1
- package/dist/protocol/connection/IncompatibleProtocolVersion.js +0 -15
- package/dist/protocol/connection/IncompatibleProtocolVersion.js.map +0 -1
- package/dist/protocol/connection/NewIncomingConnection.js +0 -30
- package/dist/protocol/connection/NewIncomingConnection.js.map +0 -1
- package/dist/protocol/connection/OpenConnectionReply1.js +0 -22
- package/dist/protocol/connection/OpenConnectionReply1.js.map +0 -1
- package/dist/protocol/connection/OpenConnectionReply2.js +0 -25
- package/dist/protocol/connection/OpenConnectionReply2.js.map +0 -1
- package/dist/protocol/connection/OpenConnectionRequest1.js +0 -20
- package/dist/protocol/connection/OpenConnectionRequest1.js.map +0 -1
- package/dist/protocol/connection/OpenConnectionRequest2.js +0 -23
- package/dist/protocol/connection/OpenConnectionRequest2.js.map +0 -1
- package/dist/protocol/login/ConnectionRequest.js +0 -20
- package/dist/protocol/login/ConnectionRequest.js.map +0 -1
- package/dist/protocol/login/ConnectionRequestAccepted.js +0 -31
- package/dist/protocol/login/ConnectionRequestAccepted.js.map +0 -1
- package/dist/protocol/offline/UnconnectedPing.js +0 -20
- package/dist/protocol/offline/UnconnectedPing.js.map +0 -1
- package/dist/protocol/offline/UnconnectedPong.js +0 -23
- package/dist/protocol/offline/UnconnectedPong.js.map +0 -1
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/utils/InetAddress.js +0 -23
- package/dist/utils/InetAddress.js.map +0 -1
- package/dist/utils/ServerName.js +0 -77
- 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"
|
|
2
|
-
import OfflinePacket from '../OfflinePacket
|
|
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,
|
|
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
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
"
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
"
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
"./*": {
|
|
20
|
+
"import": "./dist/*.es.js",
|
|
21
|
+
"module": "./dist/*.es.js",
|
|
22
|
+
"require": "./dist/*.cjs.js",
|
|
23
|
+
"types": "./dist/*.d.ts"
|
|
15
24
|
},
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
"
|
|
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
|
+
}
|
package/dist/ClientSocket.js
DELETED
package/dist/ClientSocket.js.map
DELETED
|
@@ -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
|
package/dist/RakNet.js.map
DELETED
|
@@ -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"}
|
package/dist/ServerSocket.js
DELETED
|
@@ -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
|
package/dist/ServerSocket.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerSocket.js","sourceRoot":"","sources":["../src/ServerSocket.ts"],"names":[],"mappings":"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"}
|