From d2c4430833a8aad64b87e07d7eb0a2e204342a19 Mon Sep 17 00:00:00 2001 From: extremeheat Date: Sun, 25 Jun 2023 14:20:50 -0400 Subject: [PATCH] Add missing data to client login user chain (#420) Fix connecting to pocketmine servers --- .gitignore | 2 +- src/handshake/login.js | 6 ++++-- tools/installPMMP.sh | 8 ++++++++ 3 files changed, 13 insertions(+), 3 deletions(-) create mode 100644 tools/installPMMP.sh diff --git a/.gitignore b/.gitignore index bc2d2f9..c14d132 100644 --- a/.gitignore +++ b/.gitignore @@ -5,4 +5,4 @@ __* # Runtime generated data data/ tools/bds* -*.txt \ No newline at end of file +tools/pmmp* \ No newline at end of file diff --git a/src/handshake/login.js b/src/handshake/login.js index 3c47e47..0a921fb 100644 --- a/src/handshake/login.js +++ b/src/handshake/login.js @@ -36,7 +36,7 @@ module.exports = (client, server, options) => { client.createClientUserChain = (privateKey) => { let payload = { ...skinData, - SkinGeometryDataEngineVersion: '', // 1.17.30 + SkinGeometryDataEngineVersion: client.versionGreaterThanOrEqualTo('1.17.30') ? '' : undefined, ClientRandomId: Date.now(), CurrentInputMode: 1, @@ -63,7 +63,9 @@ module.exports = (client, server, options) => { UIProfile: 0, IsEditorMode: false, - TrustedSkin: false + TrustedSkin: client.versionGreaterThanOrEqualTo('1.19.20') ? false : undefined, + OverrideSkin: client.versionGreaterThanOrEqualTo('1.19.62') ? false : undefined, + CompatibleWithClientSideChunkGen: client.versionGreaterThanOrEqualTo('1.19.80') ? false : undefined } const customPayload = options.skinData || {} payload = { ...payload, ...customPayload } diff --git a/tools/installPMMP.sh b/tools/installPMMP.sh new file mode 100644 index 0000000..28a7101 --- /dev/null +++ b/tools/installPMMP.sh @@ -0,0 +1,8 @@ +rm -fr pmmp +mkdir pmmp && cd pmmp +wget https://github.com/pmmp/PHP-Binaries/releases/download/php-8.1-latest/PHP-Linux-x86_64-PM5.tar.gz +tar -xvf PHP-Linux-x86_64-PM5.tar.gz bin/ +git clone https://github.com/pmmp/PocketMine-MP.git +cd PocketMine-MP +../bin/php7/bin/php /usr/bin/composer install +../bin/php7/bin/php src/PocketMine.php --no-wizard --xbox-auth=0 --settings.enable-dev-builds=1 --anonymous-statistics.enabled=0 --disable-readline --debug.level=2 \ No newline at end of file