Compare commits
9 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fa6acab0f3 |
||
|
|
b48518a6e7 |
||
|
|
407756b938 |
||
|
|
0b9c49fedc |
||
|
|
6b1474d2c6 |
||
|
|
6c659feb5d |
||
|
|
06fb3de3a0 |
||
|
|
6f06a8996e |
||
|
|
14daa2d95a |
6 changed files with 23 additions and 10 deletions
13
HISTORY.md
13
HISTORY.md
|
|
@ -1,3 +1,16 @@
|
||||||
|
## 3.49.0
|
||||||
|
* [1.21.111 (#649)](https://github.com/PrismarineJS/bedrock-protocol/commit/b48518a6e79e72101fe7136433cbd6277339fc5c) (thanks @Slauh)
|
||||||
|
* [Skin Data Changes (#647)](https://github.com/PrismarineJS/bedrock-protocol/commit/407756b93880cdda4fdbff194fc4163ceedf4e82) (thanks @thejfkvis)
|
||||||
|
|
||||||
|
## 3.48.1
|
||||||
|
* [Update login client skinData (#635)](https://github.com/PrismarineJS/bedrock-protocol/commit/6b1474d2c6f93b47dee9d4816de59579f82ed5a9) (thanks @TSL534)
|
||||||
|
|
||||||
|
## 3.48.0
|
||||||
|
* [1.21.100 (#632)](https://github.com/PrismarineJS/bedrock-protocol/commit/06fb3de3a0023d03201dbcee7e9178c269462766) (thanks @extremeheat)
|
||||||
|
|
||||||
|
## 3.47.0
|
||||||
|
* [1.21.93 support (#623)](https://github.com/PrismarineJS/bedrock-protocol/commit/14daa2d95aac90ffcc7b42d625e270020ec2f162) (thanks @CreeperG16)
|
||||||
|
|
||||||
## 3.46.0
|
## 3.46.0
|
||||||
* [1.21.90 support (#617)](https://github.com/PrismarineJS/bedrock-protocol/commit/c66cdd3d62d2fa9c581693d8c70d7b41f355b63e) (thanks @CreeperG16)
|
* [1.21.90 support (#617)](https://github.com/PrismarineJS/bedrock-protocol/commit/c66cdd3d62d2fa9c581693d8c70d7b41f355b63e) (thanks @CreeperG16)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ Minecraft Bedrock Edition (aka MCPE) protocol library, supporting authentication
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
|
|
||||||
- Supports Minecraft Bedrock version 1.16.201, 1.16.210, 1.16.220, 1.17.0, 1.17.10, 1.17.30, 1.17.40, 1.18.0, 1.18.11, 1.18.30, 1.19.1, 1.19.10, 1.19.20, 1.19.21, 1.19.30, 1.19.40, 1.19.41, 1.19.50, 1.19.60, 1.19.62, 1.19.63, 1.19.70, 1.19.80, 1.20.0, 1.20.10, 1.20.30, 1.20.40, 1.20.50, 1.20.61, 1.20.71, 1.20.80, 1.21.0, 1.21.2, 1.21.21, 1.21.30, 1.21.42, 1.21.50, 1.21.60, 1.21.70, 1.21.80, 1.21.90
|
- Supports Minecraft Bedrock version 1.16.201, 1.16.210, 1.16.220, 1.17.0, 1.17.10, 1.17.30, 1.17.40, 1.18.0, 1.18.11, 1.18.30, 1.19.1, 1.19.10, 1.19.20, 1.19.21, 1.19.30, 1.19.40, 1.19.41, 1.19.50, 1.19.60, 1.19.62, 1.19.63, 1.19.70, 1.19.80, 1.20.0, 1.20.10, 1.20.30, 1.20.40, 1.20.50, 1.20.61, 1.20.71, 1.20.80, 1.21.0, 1.21.2, 1.21.21, 1.21.30, 1.21.42, 1.21.50, 1.21.60, 1.21.70, 1.21.80, 1.21.90, 1.21.93, 1.21.100, 1.21.111
|
||||||
- Parse and serialize packets as JavaScript objects
|
- Parse and serialize packets as JavaScript objects
|
||||||
- Automatically respond to keep-alive packets
|
- Automatically respond to keep-alive packets
|
||||||
- [Proxy and mitm connections](docs/API.md#proxy-docs)
|
- [Proxy and mitm connections](docs/API.md#proxy-docs)
|
||||||
|
|
|
||||||
2
index.d.ts
vendored
2
index.d.ts
vendored
|
|
@ -3,7 +3,7 @@ import { Realm } from 'prismarine-realms'
|
||||||
import { ServerDeviceCodeResponse } from 'prismarine-auth'
|
import { ServerDeviceCodeResponse } from 'prismarine-auth'
|
||||||
|
|
||||||
declare module 'bedrock-protocol' {
|
declare module 'bedrock-protocol' {
|
||||||
type Version = '1.21.70' | '1.21.60' | '1.21.50' | '1.21.42' | '1.21.30' | '1.21.2' | '1.21.0' | '1.20.80' | '1.20.71' | '1.20.61' | '1.20.50' | '1.20.40' | '1.20.30' | '1.20.10' | '1.20.0' | '1.19.80' | '1.19.70' | '1.19.63' | '1.19.62' | '1.19.60' | '1.19.51' | '1.19.50' | '1.19.41' | '1.19.40' | '1.19.31' | '1.19.30' | '1.19.22' | '1.19.21' | '1.19.20' | '1.19.11' | '1.19.10' | '1.19.2' | '1.19.1' | '1.18.31' | '1.18.30' | '1.18.12' | '1.18.11' | '1.18.10' | '1.18.2' | '1.18.1' | '1.18.0' | '1.17.41' | '1.17.40' | '1.17.34' | '1.17.30' | '1.17.11' | '1.17.10' | '1.17.0' | '1.16.220' | '1.16.210' | '1.16.201'
|
type Version = '1.21.93' | '1.21.90' | '1.21.80' | '1.21.70' | '1.21.60' | '1.21.50' | '1.21.42' | '1.21.30' | '1.21.2' | '1.21.0' | '1.20.80' | '1.20.71' | '1.20.61' | '1.20.50' | '1.20.40' | '1.20.30' | '1.20.10' | '1.20.0' | '1.19.80' | '1.19.70' | '1.19.63' | '1.19.62' | '1.19.60' | '1.19.51' | '1.19.50' | '1.19.41' | '1.19.40' | '1.19.31' | '1.19.30' | '1.19.22' | '1.19.21' | '1.19.20' | '1.19.11' | '1.19.10' | '1.19.2' | '1.19.1' | '1.18.31' | '1.18.30' | '1.18.12' | '1.18.11' | '1.18.10' | '1.18.2' | '1.18.1' | '1.18.0' | '1.17.41' | '1.17.40' | '1.17.34' | '1.17.30' | '1.17.11' | '1.17.10' | '1.17.0' | '1.16.220' | '1.16.210' | '1.16.201'
|
||||||
|
|
||||||
export interface Options {
|
export interface Options {
|
||||||
// The string version to start the client or server as
|
// The string version to start the client or server as
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "bedrock-protocol",
|
"name": "bedrock-protocol",
|
||||||
"version": "3.46.0",
|
"version": "3.49.0",
|
||||||
"description": "Minecraft Bedrock Edition protocol library",
|
"description": "Minecraft Bedrock Edition protocol library",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,6 @@ module.exports = (client, server, options) => {
|
||||||
client.createClientUserChain = (privateKey) => {
|
client.createClientUserChain = (privateKey) => {
|
||||||
let payload = {
|
let payload = {
|
||||||
...skinData,
|
...skinData,
|
||||||
SkinGeometryDataEngineVersion: client.versionGreaterThanOrEqualTo('1.17.30') ? '' : undefined,
|
|
||||||
|
|
||||||
ClientRandomId: Date.now(),
|
ClientRandomId: Date.now(),
|
||||||
CurrentInputMode: 1,
|
CurrentInputMode: 1,
|
||||||
|
|
@ -47,19 +46,20 @@ module.exports = (client, server, options) => {
|
||||||
GameVersion: options.version || '1.16.201',
|
GameVersion: options.version || '1.16.201',
|
||||||
GuiScale: -1,
|
GuiScale: -1,
|
||||||
LanguageCode: 'en_GB', // TODO locale
|
LanguageCode: 'en_GB', // TODO locale
|
||||||
|
GraphicsMode: 1, // 1:simple, 2:fancy, 3:advanced, 4:ray_traced
|
||||||
|
|
||||||
PlatformOfflineId: '',
|
PlatformOfflineId: '',
|
||||||
PlatformOnlineId: '', // chat
|
PlatformOnlineId: '', // chat
|
||||||
// PlayFabID is the PlayFab ID produced for the skin. PlayFab is the company that hosts the Marketplace,
|
// PlayFabID is the PlayFab ID produced for the skin. PlayFab is the company that hosts the Marketplace,
|
||||||
// skins and other related features from the game. This ID is the ID of the skin used to store the skin
|
// skins and other related features from the game. This ID is the ID of the skin used to store the skin
|
||||||
// inside of PlayFab.
|
// inside of PlayFab.The playfab ID is always lowercased.
|
||||||
PlayFabId: nextUUID().replace(/-/g, '').slice(0, 16), // 1.16.210
|
PlayFabId: nextUUID().replace(/-/g, '').slice(0, 16).toLowerCase(), // 1.16.210
|
||||||
|
|
||||||
SelfSignedId: nextUUID(),
|
SelfSignedId: nextUUID(),
|
||||||
ServerAddress: `${options.host}:${options.port}`,
|
ServerAddress: `${options.host}:${options.port}`,
|
||||||
|
|
||||||
ThirdPartyName: client.profile.name,
|
ThirdPartyName: client.profile.name, // Gamertag
|
||||||
ThirdPartyNameOnly: false,
|
ThirdPartyNameOnly: client.versionGreaterThanOrEqualTo('1.21.90') ? undefined : false,
|
||||||
UIProfile: 0,
|
UIProfile: 0,
|
||||||
|
|
||||||
IsEditorMode: false,
|
IsEditorMode: false,
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,12 @@ const mcData = require('minecraft-data')
|
||||||
// Minimum supported version (< will be kicked)
|
// Minimum supported version (< will be kicked)
|
||||||
const MIN_VERSION = '1.16.201'
|
const MIN_VERSION = '1.16.201'
|
||||||
// Currently supported verson. Note, clients with newer versions can still connect as long as data is in minecraft-data
|
// Currently supported verson. Note, clients with newer versions can still connect as long as data is in minecraft-data
|
||||||
const CURRENT_VERSION = '1.21.90'
|
const CURRENT_VERSION = '1.21.111'
|
||||||
|
|
||||||
const Versions = Object.fromEntries(mcData.versions.bedrock.filter(e => e.releaseType === 'release').map(e => [e.minecraftVersion, e.version]))
|
const Versions = Object.fromEntries(mcData.versions.bedrock.filter(e => e.releaseType === 'release').map(e => [e.minecraftVersion, e.version]))
|
||||||
|
|
||||||
// Skip some low priority versions (middle major) on Github Actions to allow faster CI
|
// Skip some low priority versions (middle major) on Github Actions to allow faster CI
|
||||||
const skippedVersionsOnGithubCI = ['1.16.210', '1.17.10', '1.17.30', '1.18.11', '1.19.10', '1.19.20', '1.19.30', '1.19.40', '1.19.50', '1.19.60', '1.19.63', '1.19.70', '1.20.10', '1.20.15', '1.20.30', '1.20.40', '1.20.50', '1.20.61', '1.20.71', '1.21.2', '1.21.20', '1.21.30', '1.21.42']
|
const skippedVersionsOnGithubCI = ['1.16.210', '1.17.10', '1.17.30', '1.18.11', '1.19.10', '1.19.20', '1.19.30', '1.19.40', '1.19.50', '1.19.60', '1.19.63', '1.19.70', '1.20.10', '1.20.15', '1.20.30', '1.20.40', '1.20.50', '1.20.61', '1.20.71', '1.21.2', '1.21.20', '1.21.30', '1.21.42', '1.21.50', '1.21.60', '1.21.70', '1.21.80', '1.21.90']
|
||||||
const testedVersions = process.env.CI ? Object.keys(Versions).filter(v => !skippedVersionsOnGithubCI.includes(v)) : Object.keys(Versions)
|
const testedVersions = process.env.CI ? Object.keys(Versions).filter(v => !skippedVersionsOnGithubCI.includes(v)) : Object.keys(Versions)
|
||||||
|
|
||||||
const defaultOptions = {
|
const defaultOptions = {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue