mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-28 05:35:56 -04:00
use minecraftVersion in tests, stop if no varint in framer
This commit is contained in:
parent
51a5e2c6d0
commit
a129d13cf1
@ -49,6 +49,7 @@ class Splitter extends Transform {
|
|||||||
|
|
||||||
let offset = 0;
|
let offset = 0;
|
||||||
let value, size, error;
|
let value, size, error;
|
||||||
|
let stop=false;
|
||||||
try {
|
try {
|
||||||
({ value, size, error } = readVarInt(this.buffer, offset));
|
({ value, size, error } = readVarInt(this.buffer, offset));
|
||||||
}
|
}
|
||||||
@ -56,8 +57,10 @@ class Splitter extends Transform {
|
|||||||
if(!(e instanceof PartialReadError)) {
|
if(!(e instanceof PartialReadError)) {
|
||||||
throw e;
|
throw e;
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
stop=true;
|
||||||
}
|
}
|
||||||
while (this.buffer.length >= offset + size + value)
|
if(!stop) while (this.buffer.length >= offset + size + value)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
this.push(this.buffer.slice(offset + size, offset + size + value));
|
this.push(this.buffer.slice(offset + size, offset + size + value));
|
||||||
|
@ -48,7 +48,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
|
|||||||
if(err)
|
if(err)
|
||||||
return done(err);
|
return done(err);
|
||||||
mc.ping({
|
mc.ping({
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
}, function(err, results) {
|
}, function(err, results) {
|
||||||
if(err) return done(err);
|
if(err) return done(err);
|
||||||
assert.ok(results.latency >= 0);
|
assert.ok(results.latency >= 0);
|
||||||
@ -73,7 +73,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
|
|||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: process.env.MC_USERNAME,
|
username: process.env.MC_USERNAME,
|
||||||
password: process.env.MC_PASSWORD,
|
password: process.env.MC_PASSWORD,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var lineListener = function(line) {
|
var lineListener = function(line) {
|
||||||
var match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/);
|
var match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/);
|
||||||
@ -110,7 +110,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
|
|||||||
return done(err);
|
return done(err);
|
||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: 'Player',
|
username: 'Player',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var lineListener = function(line) {
|
var lineListener = function(line) {
|
||||||
var match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/);
|
var match = line.match(/\[Server thread\/INFO\]: <(.+?)> (.+)/);
|
||||||
@ -159,7 +159,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
|
|||||||
return done(err);
|
return done(err);
|
||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: 'Player',
|
username: 'Player',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var gotKicked = false;
|
var gotKicked = false;
|
||||||
client.on('disconnect', function(packet) {
|
client.on('disconnect', function(packet) {
|
||||||
@ -178,7 +178,7 @@ mc.supportedVersions.forEach(function(supportedVersion) {
|
|||||||
return done(err);
|
return done(err);
|
||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: 'Player',
|
username: 'Player',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
client.on("login", function(packet) {
|
client.on("login", function(packet) {
|
||||||
client.write("chat", {
|
client.write("chat", {
|
||||||
|
@ -136,13 +136,13 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
describe("packets "+version.minecraftVersion, function() {
|
describe("packets "+version.minecraftVersion, function() {
|
||||||
var client, server, serverClient;
|
var client, server, serverClient;
|
||||||
before(function(done) {
|
before(function(done) {
|
||||||
server = new Server(version.majorVersion);
|
server = new Server(version.minecraftVersion);
|
||||||
server.once('listening', function() {
|
server.once('listening', function() {
|
||||||
server.once('connection', function(c) {
|
server.once('connection', function(c) {
|
||||||
serverClient = c;
|
serverClient = c;
|
||||||
done();
|
done();
|
||||||
});
|
});
|
||||||
client = new Client(false,version.majorVersion);
|
client = new Client(false,version.minecraftVersion);
|
||||||
client.setSocket(net.connect(25565, 'localhost'));
|
client.setSocket(net.connect(25565, 'localhost'));
|
||||||
});
|
});
|
||||||
server.listen(25565, 'localhost');
|
server.listen(25565, 'localhost');
|
||||||
|
@ -9,7 +9,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
it("starts listening and shuts down cleanly", function(done) {
|
it("starts listening and shuts down cleanly", function(done) {
|
||||||
var server = mc.createServer({
|
var server = mc.createServer({
|
||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var listening = false;
|
var listening = false;
|
||||||
server.on('listening', function() {
|
server.on('listening', function() {
|
||||||
@ -26,7 +26,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
kickTimeout: 100,
|
kickTimeout: 100,
|
||||||
checkTimeoutInterval: 10,
|
checkTimeoutInterval: 10,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var count = 2;
|
var count = 2;
|
||||||
server.on('connection', function(client) {
|
server.on('connection', function(client) {
|
||||||
@ -39,7 +39,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
server.on('listening', function() {
|
server.on('listening', function() {
|
||||||
var client = new mc.Client(false,version.majorVersion);
|
var client = new mc.Client(false,version.minecraftVersion);
|
||||||
client.on('end', function() {
|
client.on('end', function() {
|
||||||
resolve();
|
resolve();
|
||||||
});
|
});
|
||||||
@ -56,7 +56,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
kickTimeout: 100,
|
kickTimeout: 100,
|
||||||
checkTimeoutInterval: 10,
|
checkTimeoutInterval: 10,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var count = 2;
|
var count = 2;
|
||||||
server.on('connection', function(client) {
|
server.on('connection', function(client) {
|
||||||
@ -74,7 +74,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
host: '127.0.0.1',
|
host: '127.0.0.1',
|
||||||
port: 25565,
|
port: 25565,
|
||||||
keepAlive: false,
|
keepAlive: false,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
client.on('end', function() {
|
client.on('end', function() {
|
||||||
resolve();
|
resolve();
|
||||||
@ -90,12 +90,12 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
motd: 'test1234',
|
motd: 'test1234',
|
||||||
'max-players': 120,
|
'max-players': 120,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
server.on('listening', function() {
|
server.on('listening', function() {
|
||||||
mc.ping({
|
mc.ping({
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
}, function(err, results) {
|
}, function(err, results) {
|
||||||
if(err) return done(err);
|
if(err) return done(err);
|
||||||
assert.ok(results.latency >= 0);
|
assert.ok(results.latency >= 0);
|
||||||
@ -121,7 +121,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
it("clients can log in and chat", function(done) {
|
it("clients can log in and chat", function(done) {
|
||||||
var server = mc.createServer({
|
var server = mc.createServer({
|
||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var username = ['player1', 'player2'];
|
var username = ['player1', 'player2'];
|
||||||
var index = 0;
|
var index = 0;
|
||||||
@ -152,7 +152,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
var player1 = mc.createClient({
|
var player1 = mc.createClient({
|
||||||
username: 'player1',
|
username: 'player1',
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
player1.on('login', function(packet) {
|
player1.on('login', function(packet) {
|
||||||
assert.strictEqual(packet.gameMode, 1);
|
assert.strictEqual(packet.gameMode, 1);
|
||||||
@ -184,7 +184,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
var player2 = mc.createClient({
|
var player2 = mc.createClient({
|
||||||
username: 'player2',
|
username: 'player2',
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
@ -202,7 +202,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
it("kicks clients when invalid credentials", function(done) {
|
it("kicks clients when invalid credentials", function(done) {
|
||||||
this.timeout(10000);
|
this.timeout(10000);
|
||||||
var server = mc.createServer({
|
var server = mc.createServer({
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var count = 4;
|
var count = 4;
|
||||||
server.on('connection', function(client) {
|
server.on('connection', function(client) {
|
||||||
@ -219,7 +219,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: 'lalalal',
|
username: 'lalalal',
|
||||||
host: "127.0.0.1",
|
host: "127.0.0.1",
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
client.on('end', function() {
|
client.on('end', function() {
|
||||||
resolve();
|
resolve();
|
||||||
@ -233,7 +233,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
it("gives correct reason for kicking clients when shutting down", function(done) {
|
it("gives correct reason for kicking clients when shutting down", function(done) {
|
||||||
var server = mc.createServer({
|
var server = mc.createServer({
|
||||||
'online-mode': false,
|
'online-mode': false,
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
var count = 2;
|
var count = 2;
|
||||||
server.on('login', function(client) {
|
server.on('login', function(client) {
|
||||||
@ -258,7 +258,7 @@ mc.supportedVersions.forEach(function(supportedVersion){
|
|||||||
var client = mc.createClient({
|
var client = mc.createClient({
|
||||||
username: 'lalalal',
|
username: 'lalalal',
|
||||||
host: '127.0.0.1',
|
host: '127.0.0.1',
|
||||||
version: version.majorVersion
|
version: version.minecraftVersion
|
||||||
});
|
});
|
||||||
client.on('login', function() {
|
client.on('login', function() {
|
||||||
server.close();
|
server.close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user