Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Resource pack sending overloads low-bandwidth connections #3127

Closed
DaisukeDaisuke opened this issue Sep 24, 2019 · 13 comments
Closed

Resource pack sending overloads low-bandwidth connections #3127

DaisukeDaisuke opened this issue Sep 24, 2019 · 13 comments
Labels
Category: Network Related to the internal network architecture Status: Debugged Cause of the bug has been found, but not fixed

Comments

@DaisukeDaisuke
Copy link

DaisukeDaisuke commented Sep 24, 2019

(I use Google Translate.)

Issue description

(Android(Server) => Windows(Client))
(Windows => Windows)
I'm sorry, but I couldn't reproduce it in the above environment.

(This problem is very similar to #2026.)

Expected result: resource pack is successfully sent to the client.
Actual result: The transmission of resourcepack will stop at 1MB and after a few seconds the player will be kicked out in an timeout.(A resourcepack of 1MB or less will be sent to the client normally.)

Steps to reproduce the issue

 1. Download https://aka.ms/resourcepacktemplate and go to the resource_packs folder.
 2. Write `-Vanilla_Resource_Pack_1.12.0.zip` on resource_packs.yml to activate the resource pack.
 3. Start the server and log in to the server.
 4. When `Download World Resource Packs?` Is displayed, click `Download & Join`.
 5. The console says "Blocked 192.168.0.22 for 300 seconds", the download pack stops at 1 MB, and after a few seconds the player is kicked out with a timeout

OS and versions

PocketMine-MP: 3.9.4
PHP: php 7.2.19 (Built by php-build-scripts)
Server OS: Android
Game version: PE (Android => Android)(loopback)
Minecraft Version: 1.12.0

APP: https://play.google.com/store/apps/details?id=jackpal.androidterm

Plugins

No plugins are installed.

Crashdump, backtrace or other files

None

php Version

PHP 7.2.19 (cli) (built: Jul 15 2019 19:55:21) ( ZTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies

Console Output

u0_a342@SOT31:/ $ cd /sdcard/www/PocketMine4/
env TMPDIR='/storage/emulated/0/PocketMine/tmp' LESMI_RESOLV_CONF_DIR=/sdcard/PocketMine/resolv.conf /data/data/jackpal.androidterm/app_HOME/php-7.2.19 -c /sdcard/PocketMine/config/php.ini /sdcard/www/PocketMine3/PocketMine-MP.phar
[06:48:55] [Server thread/WARNING]: ChunkUtils extension is missing. Anvil-format worlds will experience degraded performance.
[06:48:55] [Server thread/INFO]: Loading pocketmine.yml...
[06:48:55] [Server thread/INFO]: Loading server properties...
[06:48:55] [Server thread/ERROR]: Missing required language file phar:///storage/emulated/0/www/PocketMine3/PocketMine-MP.phar/src/pocketmine/lang/locale/us.ini
[06:48:55] [Server thread/INFO]: Selected English (us) as the base language
[06:48:55] [Server thread/INFO]: Starting Minecraft: Bedrock Edition server version v1.12.0
[06:48:55] [Server thread/NOTICE]: Online mode is enabled. The server will verify that players are authenticated to Xbox Live.
[06:48:55] [Server thread/NOTICE]: To disable authentication, set "xbox-auth" to "false" in server.properties.
[06:48:55] [Server thread/INFO]: Opening server on 0.0.0.0:19132
[06:48:55] [Server thread/DEBUG]: Server unique id: ba2aefde-c3cb-b5f3-1aa1-57341c7e8697
[06:48:55] [Server thread/DEBUG]: Machine unique id: ba1ac2d8-3b61-0aa0-f2fc-3918c85a7f47
[06:48:55] [Server thread/INFO]: This server is running PocketMine-MP version 3.9.4
[06:48:55] [Server thread/INFO]: PocketMine-MP is distributed under the LGPL License
[06:48:56] [Server thread/INFO]: Loading resource packs...
[06:48:56] [Server thread/DEBUG]: Successfully loaded 1 resource packs
[06:48:56] [Asynchronous Worker #0 thread/DEBUG]: Set memory limit to 256 MB
[06:48:56] [Server thread/INFO]: Preparing world "world"
[06:48:56] [Server thread/INFO]: Starting GS4 status listener
[06:48:56] [Server thread/INFO]: Setting query port to 19132
[06:48:56] [Server thread/INFO]: Query running on 0.0.0.0:19132
[06:48:56] [Server thread/INFO]: Default game type: Survival Mode
[06:48:56] [Server thread/INFO]: Done (0.804s)! For help, type "help" or "?"
[06:49:01] [Server thread/DEBUG]: [AutoUpdater] Async update check failed due to "Resolving timed out after 4000 milliseconds"
[06:49:12] [RakLibServer thread/DEBUG]: Created session for 192.168.0.22 41678 with MTU size 1492
[06:49:12] [Server thread/DEBUG]: Radish12345a is logged into Xbox Live
[06:49:12] [Server thread/DEBUG]: Unhandled ClientCacheStatusPacket received from Radish12345a: gQEB
[06:49:14] [RakLibServer thread/NOTICE]: Blocked 192.168.0.22 for 300 seconds
[06:49:24] [RakLibServer thread/DEBUG]: Closed session for 192.168.0.22 41678
[06:49:24] [Server thread/INFO]: Radish12345a[/192.168.0.22:41678] logged out due to timeout

Other images

Screenshot_20190925-064920

Screenshot_20190925-064929
_20190925_074623

@dktapps
Copy link
Member

dktapps commented Sep 25, 2019

relates to pmmp/RakLib#32

@dktapps dktapps added Category: Network Related to the internal network architecture Status: Debugged Cause of the bug has been found, but not fixed labels Sep 25, 2019
@dktapps dktapps changed the title If you try to send a resource pack larger than 1mb, a timeout will occur. Resource pack sending overloads low-bandwidth connections Oct 16, 2019
@ProCompTEAM
Copy link

In this version, the main part of my players can't download resources with 5.4 mb's, some players see progress bar with 2.01 mb's status and progress stopped, but some players are immediately disconnected.

@dktapps
Copy link
Member

dktapps commented Dec 9, 2019

The basic problem here is that resource pack sending is happening without any restrictions, and the client is requesting too many resource pack chunks at the same time.

Prior to 1.13 this issue would appear when multiple large resource packs were loaded; now, it appears with any single large resource pack because the client requests all downloads at the same time instead of one-by-one like it used to.

Fixing this problem is non-trivial and requires several changes to resolve.

@fuyutsuki
Copy link
Contributor

To improve quality of server, this issue would be a major obstacle...

@Lycol50
Copy link

Lycol50 commented Dec 15, 2021

is this issue will be fixed on pm4? @dktapps

@dktapps
Copy link
Member

dktapps commented Dec 15, 2021

No, this remains a problem (hence, the issue is still open).

@none283
Copy link

none283 commented Dec 22, 2021

Is there anyway to fix it? Or is there any alternative solution?
image

@NTT1906
Copy link
Contributor

NTT1906 commented Dec 31, 2021

Is there anyway to fix it? Or is there any alternative solution? image

splits the pack into multiple packs?

@Lycol50
Copy link

Lycol50 commented Dec 31, 2021

@none283
Copy link

none283 commented Dec 31, 2021

Is there anyway to fix it? Or is there any alternative solution? image

splits the pack into multiple packs?

If i simply split multipack it will still download all multi pack in one time

@none283
Copy link

none283 commented Dec 31, 2021

https://github.com/phoshp/RPSolution

I think this will work, thank you for solution

@Kepler174d
Copy link

image
Endless loading. I have an Internet of 500 megabits per second, an Internet server of 1 gigabit per second. How to fix it?

@Kepler174d
Copy link

This plugin helped me solve the problem https://github.com/xLordShadow/RPSolution/tree/master

@dktapps dktapps closed this as completed in b9a1ef1 Apr 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category: Network Related to the internal network architecture Status: Debugged Cause of the bug has been found, but not fixed
Projects
None yet
Development

No branches or pull requests

8 participants