mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-10-02 15:40:18 -04:00
server: online mode: don't log in client until username verification
This commit is contained in:
parent
1ca600d756
commit
76339a4b84
8
index.js
8
index.js
@ -30,7 +30,7 @@ function createServer(options) {
|
|||||||
var checkTimeoutInterval = options.checkTimeoutInterval || 4 * 1000;
|
var checkTimeoutInterval = options.checkTimeoutInterval || 4 * 1000;
|
||||||
var motd = options.motd || "A Minecraft server";
|
var motd = options.motd || "A Minecraft server";
|
||||||
var onlineMode = options['online-mode'] == null ? true : options['online-mode'];
|
var onlineMode = options['online-mode'] == null ? true : options['online-mode'];
|
||||||
var encryptionEnabled = options['encryption'] == null ? true : options['encryption'];
|
var encryptionEnabled = options.encryption == null ? true : options.encryption;
|
||||||
|
|
||||||
var serverKey = ursa.generatePrivateKey(1024);
|
var serverKey = ursa.generatePrivateKey(1024);
|
||||||
|
|
||||||
@ -146,7 +146,7 @@ function createServer(options) {
|
|||||||
var myErr;
|
var myErr;
|
||||||
if (err) {
|
if (err) {
|
||||||
server.emit('error', err);
|
server.emit('error', err);
|
||||||
client.end('InternalError');
|
client.end('McSessionUnavailable');
|
||||||
} else if (resp.serverError) {
|
} else if (resp.serverError) {
|
||||||
myErr = new Error("session.minecraft.net is broken: " + resp.status);
|
myErr = new Error("session.minecraft.net is broken: " + resp.status);
|
||||||
myErr.code = 'EMCSESSION500';
|
myErr.code = 'EMCSESSION500';
|
||||||
@ -159,6 +159,8 @@ function createServer(options) {
|
|||||||
client.end('McSessionRejectedAuthRequest');
|
client.end('McSessionRejectedAuthRequest');
|
||||||
} else if (resp.text !== "YES") {
|
} else if (resp.text !== "YES") {
|
||||||
client.end('FailedToVerifyUsername');
|
client.end('FailedToVerifyUsername');
|
||||||
|
} else {
|
||||||
|
loginClient();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -167,7 +169,7 @@ function createServer(options) {
|
|||||||
verifyToken: new Buffer(0)
|
verifyToken: new Buffer(0)
|
||||||
});
|
});
|
||||||
client.encryptionEnabled = true;
|
client.encryptionEnabled = true;
|
||||||
loginClient();
|
if (! onlineMode) loginClient();
|
||||||
} else {
|
} else {
|
||||||
client.end('DidNotEncryptVerifyTokenProperly');
|
client.end('DidNotEncryptVerifyTokenProperly');
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user