Imprex-Development / orebfuscator

Orebfuscator - High-Performance Anti X-Ray plugin
https://modrinth.com/plugin/orebfuscator
GNU General Public License v3.0
128 stars 24 forks source link

Can't receive chunks #60

Closed molor closed 2 years ago

molor commented 4 years ago

Please fill out the following information

Describe the bug I'm just fastly reconnected to the server 1-2 times and chunks won't received even after two minutes of waiting..

2020-10-25_13 31 41

Then I type stop command in server console because there was nothing else I could do :/

[2020-10-25 13:26:59 | Server thread] [ProtocolLib] Disabling ProtocolLib v4.6.0-SNAPSHOT-b480
[2020-10-25 13:26:58 | Server thread] [Orebfuscator] Disabling Orebfuscator v5.1.1
[2020-10-25 13:26:59 | ofc-chunk-serializer] Exception in thread "ofc-chunk-serializer" java.lang.NullPointerException
[2020-10-25 13:26:59 | ofc-chunk-serializer]    at net.imprex.orebfuscator.cache.AsyncChunkSerializer.run(AsyncChunkSerializer.java:95)
[2020-10-25 13:26:59 | ofc-chunk-serializer]    at java.lang.Thread.run(Unknown Source)
Ingrim4 commented 4 years ago

Did this just happen this one time or is it a recurring thing? Where there any other exceptions, did you modify the config, is this a normal world, any other plugins that could interfere?

Ingrim4 commented 4 years ago

Should this ever recur please send us a screenshot of your F3 debug screen like below. debug screen

molor commented 4 years ago

recurring thing

This is.

Where there any other exceptions

None.

did you modify the config

https://pastebin.com/680QKbEv

this a normal world

Yes, sometimes nether have same issue.

please send us a screenshot of your F3 debug screen

@Ingrim4, just now:

image

Ingrim4 commented 4 years ago

Does deleting the cache (when the server isn't running) fix the issue? Does your cache folder have write permissions?

molor commented 4 years ago

Does deleting the cache (when the server isn't running) fix the issue?

No :c

Steps that I do: removed cache folder, started server, joined the game (in Creative mode while flying above ground, so I can't move until chunks received by client), disconnected, quickly repeat last 2 steps 2-4 times in a row and got "Waiting for chunk...". CPU isn't overloaded (~30%), RAM use 20%.

Does your cache folder have write permissions?

Of course. By the way, regarding cache folder, please return back the ability to move it outside of the server "worlds" folder. Previously (Orebfuscator4) I could move it to RAM-disk, but now I can't.

Ingrim4 commented 4 years ago

Steps that I do: removed cache folder, started server, joined the game (in Creative mode while flying above ground, so I can't move until chunks received by client), disconnected, quickly repeat last 2 steps 2-4 times in a row and got "Waiting for chunk...". CPU isn't overloaded (~30%), RAM use 20%.

Since I can't reproduce this, I've written a hackish debug version that I would like you to use. Should the bug occur just type /debug to open a debug inventory and send use the data in it. link expired

Of course. By the way, regarding cache folder, please return back the ability to move it outside of the server "worlds" folder. Previously (Orebfuscator4) I could move it to RAM-disk, but now I can't.

Will add this in the next version. (could maybe try to use symlink till then)

molor commented 4 years ago

@Ingrim4,

image image image

molor commented 4 years ago

I also has a orebfuscator.bypass permission, if it's important

Ingrim4 commented 4 years ago

The orebfuscator.bypass permission changes everything this looks like a client problem since we don't even touch packets of bypassed players. Maybe optifine will fix it for you. If other players should expirience the same problem then it's probably a problem with ofc.

NgLoader commented 4 years ago

Have you ever tested it without OFC?

molor commented 4 years ago

Have you ever tested it without OFC?

Sure, and everything is working fine every time

NgLoader commented 4 years ago

Have you any other plugins on your server?

Ingrim4 commented 4 years ago

If you disable the cache does that maybe fix the issue?

molor commented 4 years ago

When I noticed this problem, I started deleting plugins one by one in order to find the causer. Stopped at OFC, without it everything is good.

In addition, if I stop the server with the stop command while the client is "waiting for chunks" — before disconnecting from the server, but after disabling OFC, chunks are immediately loaded. So it's not a client issue

molor commented 4 years ago

If you disable the cache does that maybe fix the issue?

Hmm, without cache everything is works fine and all chunks loads instantly after connection.. Thanks, this will work as a temporary solution. But I would still like to understand what this problem is and fix it completely.

Ingrim4 commented 4 years ago

Probably something with ProtocolLib not sending packets when you simply return. (Maybe it's the new ProtocolLib version that causes this issue since I used 4.5.0 for testing)

Ingrim4 commented 4 years ago

I've now tested your setup with ProtocolLib v4.6.0-b480 and Paper b240. Sometimes the chunks next to the player don't load maybe this is paper thing but it's not as bad as what you're expiriencing.

molor commented 4 years ago

I will try ProtocolLib 4.5 tomorrow and tell if something has changed

molor commented 4 years ago

Nothing changed with PL 4.5

Ingrim4 commented 4 years ago

and does it work without paper cause that's what i suspect

molor commented 4 years ago

and does it work without paper cause that's what i suspect

On Spigot it works fine with enabled cache..

Ingrim4 commented 4 years ago

Then I'm sorry to say that we currently only maintain spigot support but we do have plans to support forks of it at a later time. There are a few things you can still try, update Paper and ProtocolLib to the latest dev builds or use our latest dev build.

molor commented 4 years ago

I can't stop using Paper, as it will loads at least twice as fast as Spigot, allows me to configure a lot of things I need, and almost all other plugins (even WorldEdit!) recommends it. But I understood you, for now I disable cache and will wait for full support.. Thanks.

Ingrim4 commented 3 years ago

Could you maybe check if the new 5.1.3 release fixed this issue since I can't reproduce it.

molor commented 3 years ago

Can't check this because now I'm using Paper built-in Anti X-Ray and only use Orebfuscator because of Proximity Hider. You can close this issue if you want to.

Pianist20005 commented 3 years ago

Hello, I want to inform you that I have/had the same problem: Server: Spigot 1.16.4 (with a bungeecord network) Plugins: ProtocolLib 4.5.1, Orebfuscator 5.1.3, Luckperms + Luckpermchat, Varo

If I join from my main server to the server where ofc is installed, then some mobs are visible as molo already send pictures, but the chunks don't load. (I waited for half an hour, but nothing changed, -> Players cannot move and mobs are bugging around). After I switch to my main server an rejoin the server with ofc, then it is working without any issues. (sometimes I have to rejoin twice.) I use the normal Minecraft-Launcher no modification or something like that. (This problem also appears also in the whole server team an other players)

-> After I disabled the cache everything works fine. Is it possible that it may lag a little more without the cache?

One more question: When I am on the server with the standard resourcepack it does not lag. But if I activate a x-ray pack it is really laggy -> Is this from the server or from the client?

Thanks for helping and answering!

Ingrim4 commented 3 years ago

Hello, I want to inform you that I have/had the same problem:

I'm sorry to say that I can't fix the issue without the ability to reproduce it.

-> After I disabled the cache everything works fine. Is it possible that it may lag a little more without the cache?

Yes most definitely but it depends on the amount of players.

One more question: When I am on the server with the standard resourcepack it does not lag. But if I activate a x-ray pack it is really laggy -> Is this from the server or from the client?

Should be client lag since the renderer can't handle all the air blocks.

Pianist20005 commented 3 years ago

Thanks for the information!

I can show it to you on my server, or you can try it on your own, but I don't want to poste my serveradress in here, because my server is not finished yet. Is there an other way how I can give/send it to you? Then you can try out, and probably you find the issue.

Okay but it should not be a big deal for the server: There are 16GB Ram for a maximum of 30 players.

Okay that's very good!

Ingrim4 commented 3 years ago

Just add me on discord: Maurice#7519

kyle-vasilia commented 3 years ago

I am having this issue aswell on the latest version on a 1.16.4 server - it worked fine for nearly a month until this point - emptying cache did nothing, I'll disable it for now

Ingrim4 commented 3 years ago

Are you using the latest version of ProtocolLib? https://ci.dmulloy2.net/job/ProtocolLib/

pintoso commented 3 years ago

Its fixed for me using latest ProtocolLib version.

paperna commented 2 years ago

So this problem is solved by disabling the Orebusacator cache?

Ingrim4 commented 2 years ago

Could you try if this fixed it for you: https://github.com/Imprex-Development/Orebfuscator/suites/4878107752/artifacts/139481868 (source: https://github.com/Imprex-Development/Orebfuscator/tree/test-fix-for-chunk-not-loading)