mirror of
https://github.com/unmojang/node-minecraft-protocol.git
synced 2025-09-30 14:41:27 -04:00
Add an unlimited string length for server chat packet
This commit is contained in:
parent
5c8f29bdff
commit
6a530522a6
@ -2,6 +2,7 @@ var assert = require('assert');
|
|||||||
var util = require('util');
|
var util = require('util');
|
||||||
|
|
||||||
var STRING_MAX_LENGTH = 240;
|
var STRING_MAX_LENGTH = 240;
|
||||||
|
var SRV_STRING_MAX_LENGTH = 32767;
|
||||||
|
|
||||||
var packets = {
|
var packets = {
|
||||||
0x00: [
|
0x00: [
|
||||||
@ -22,9 +23,14 @@ var packets = {
|
|||||||
{ name: "serverHost", type: "string" },
|
{ name: "serverHost", type: "string" },
|
||||||
{ name: "serverPort", type: "int" }
|
{ name: "serverPort", type: "int" }
|
||||||
],
|
],
|
||||||
0x03: [
|
0x03: {
|
||||||
|
toServer: [
|
||||||
{ name: "message", type: "string" }
|
{ name: "message", type: "string" }
|
||||||
],
|
],
|
||||||
|
toClient: [
|
||||||
|
{ name: "message", type: "ustring" }
|
||||||
|
]
|
||||||
|
},
|
||||||
0x04: [
|
0x04: [
|
||||||
{ name: "age", type: "long" },
|
{ name: "age", type: "long" },
|
||||||
{ name: "time", type: "long" }
|
{ name: "time", type: "long" }
|
||||||
@ -517,6 +523,7 @@ var types = {
|
|||||||
'byte': [readByte, writeByte, 1],
|
'byte': [readByte, writeByte, 1],
|
||||||
'ubyte': [readUByte, writeUByte, 1],
|
'ubyte': [readUByte, writeUByte, 1],
|
||||||
'string': [readString, writeString, sizeOfString],
|
'string': [readString, writeString, sizeOfString],
|
||||||
|
'ustring': [readString, writeString, sizeOfUString],
|
||||||
'byteArray16': [readByteArray16, writeByteArray16, sizeOfByteArray16],
|
'byteArray16': [readByteArray16, writeByteArray16, sizeOfByteArray16],
|
||||||
'bool': [readBool, writeBool, 1],
|
'bool': [readBool, writeBool, 1],
|
||||||
'double': [readDouble, writeDouble, 8],
|
'double': [readDouble, writeDouble, 8],
|
||||||
@ -1270,6 +1277,11 @@ function sizeOfString(value) {
|
|||||||
return 2 + 2 * value.length;
|
return 2 + 2 * value.length;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function sizeOfUString(value) {
|
||||||
|
assert.ok(value.length < SRV_STRING_MAX_LENGTH, "string greater than max length");
|
||||||
|
return 2 + 2 * value.length;
|
||||||
|
}
|
||||||
|
|
||||||
function writeString(value, buffer, offset) {
|
function writeString(value, buffer, offset) {
|
||||||
buffer.writeInt16BE(value.length, offset);
|
buffer.writeInt16BE(value.length, offset);
|
||||||
offset += 2;
|
offset += 2;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user