bergerhealer / Light-Cleaner

Regenerates light levels in chunks or entire worlds to clean up dark spots. Continuation of NoLagg Lighting.
MIT License
41 stars 6 forks source link

LightCleaner-1.16.1-v1-SNAPSHOT is not working #27

Open Tsoccerguy3 opened 4 years ago

Tsoccerguy3 commented 4 years ago

I tested LightCleaner-1.16.1-v1-SNAPSHOT.jar with BKCommonLib-1.16.1-v1-SNAPSHOT.jar , No error , but does not fix the ighting errors either

2020-07-06_17 11 31

bergerkiller commented 4 years ago

What build of bkcommonlib? And what server version (1.16?) Paper?

Andre601 commented 4 years ago

Please give us the actual, exact version of both plugins (There should be a /lightcleaner version command or similar)

Also, keep in mind that those versions are still considered unstable and such results may be the result.

Tsoccerguy3 commented 4 years ago

Paper 1.16.1 build 74 Bkcommonlib build 807 and commit , https://github.com/bergerhealer/BKCommonLib/commit/0262617b22d9945900c0878e4a1e4a7df8ee35af Light-cleaner build 72 and commit , https://github.com/bergerhealer/Light-Cleaner/commit/6eda8d2189adf6c895b0c6991e6d93aaba4a5b89

bergerkiller commented 4 years ago

I just verified with paper 1.16.1 #76 BKCommonLib #807 and light-cleaner 1.16.1-v1 that it does in fact work. At least, when I corrupt an area light cleaner successfully repairs it. Maybe it doesn't work only for that very specific area there?

Is it a flat world gen? Do you get the same issues on normal overworlds, if they exist? Flatworlds worked for me, but maybe it fails to detect it has sky light or some such.

Tsoccerguy3 commented 4 years ago

did a quick test . on our server we have placed barrier blocks on a grid pattern at level 256 . We have done this to stop a bug in minecraft that cause a slight pause moving from chunk to chunk . Someone discovered that when the builds varied in height to much this pause happened . The bug still there in 1.16.1 . Light cleaner was able to clean those shadows in 1.15.2 . someone laid down a snow layer and i found that i cant remove the shadow from a snow layer

2020-07-06_21 24 51 when i remove the snow i can clean the shadows .

but i see that if i issue a /snow 50 command it does not place snow under a barrier block and with the snow layer in place it can not calculate lighting for a snow layer . so cleanlight fails 2020-07-06_21 21 36

bergerkiller commented 4 years ago

Do you use fast async worldedit to cause these shadows to appear?

bergerkiller commented 4 years ago

Yeah I got them to appear but light cleaner also fixes them just fine. Do I need to create a very extremely large area of snow until I find a spot this happens in? What caused those shadows to begin with?

It also helps to know: whats the Y-level of the snow?

Tsoccerguy3 commented 4 years ago

The server is Sanacraft 81.19.208.15:26165

The dynmap is at http://81.19.208.15:25666/ , look on grandblue FLAT map .It was a Flat map with bedrock and 20 layers of water and we created the city in the middle . Fawe was tried out a few days ago but it happens with WE too . The shadows are random , i have seen them after some edits . I think that these shadows are created by the barrier blocks we have put at level 256 to stop the chunk lag bug . I can clean the shadows , but not from a snow layer at Y - level 20

Tsoccerguy3 commented 4 years ago

After more testing , I found that the speed of Light-cleaner is very slow in 1.16.1 and it does not like to fix the lighting of snow layers . Doing /cleanlight world takes a lot longer now

Tsoccerguy3 commented 4 years ago

barrier blocks may interfere with fixing the light

bergerkiller commented 4 years ago

The slow fixing has to do with slow loading of chunks. Somehow they managed to make the loading of chunks even slower now. Perhaps lowering load concurrency in light cleaner config helps reduce this issue.

I do want to fix this problem before next release, but there's also some other 1.16 issues I have to look at. Thanks for diving deep into what exactly causes it, it'll help me a lot

leviem1 commented 4 years ago

@bergerkiller Maybe use PaperAPI's Async chunk stuff? It has graceful fallback methods for when those methods aren't available (on non-paper servers), but will give the speed boost when possible. All you have to do is setup your depends properly and it will handle cross-compatibility.

I don't think the speed thing is really your problem if nms, bukkit, or spigot is what introduced the latest speed issue. Of course, there's a million reasons as to why the code might be running slower, so I won't tell you how to write your code! 😄

bergerkiller commented 4 years ago

I don't think the speed thing is really your problem if nms, bukkit, or spigot is what introduced the latest speed issue.

I did a worldwide cleaning operation and after a while it just got stuck. When I teleported to the location it was cleaning, it eventually resumed. Something isn't working right in the asynchronous chunk loading / ticketing system BKCommonLib uses, which uses the same NMS api the rest of the server uses. I can't rule out a bug on my end though.

bergerkiller commented 4 years ago

Just a note: so far I still haven't been able to repro this main issue. I made a test area and did some tests with snow/barriers and FAWE but I couldn't get it into a state that shadows appear and stay. There's a hidden variable behind this that I haven't found yet, and I worry a full world download is about the only way to debug it.

bergerkiller commented 4 years ago

It might be worth checking if these builds fixed any of these issues. I found that since 1.14 the heightmap it calculated was incorrect, for one, it didn't include slabs. Snow might be a similar story.

https://ci.mg-dev.eu/job/BKCommonLib/869/ https://ci.mg-dev.eu/job/Light-Cleaner/79/

leviem1 commented 4 years ago

I did find that there's some occasional issues with lighting fixes in a super flat world that looks similar, usually redoing the clean light command and relogging helps, but I did happen upon one I couldn't fix.

These are the best steps I have to reproduce:

  1. Create a non-vanilla world with a large, flat area
  2. "Cut" a region with lighting sources using FAWE
  3. Some lighting errors won't be resolved after running /cleanlight
bergerkiller commented 4 years ago

Were these findings with the builds I linked up above, or prior?

leviem1 commented 4 years ago

Sorry to leave that part out, I'll have to double check when I'm close to my computer what build I'm on, I do vaguely remember seeing the issues go away in recent updates. But if you care to try to beat me to it those are the same steps I'm gonna follow to test.

Just figured I'd help trying to reproduce.

bergerkiller commented 4 years ago

Well, I made some provable fixes a couple hours ago, so for sure there should be some differences this time :)

But it might be some issues you had were not caused by things that have been fixed. But a broken/incorrect heightmap definitely caused some strange behavior, as that heightmap wasn't based on what sky light hits first, but something else entirely. Like where mobs can be spawned, for example. It caused areas to light up that should be covered in shadow.

leviem1 commented 4 years ago

So I couldn't reproduce any the above lighting issues, but I did encounter another one (#30). That being said let's leave it to @Tsoccerguy3 to confirm if the fixes work!

leviem1 commented 4 years ago

Not sure if this is the same exact thing, but looks pretty similar. Running the command doesn't resolve the issue. This was discovered after I deleted some nearby plots.

2020-08-19_20 42 28

bergerkiller commented 4 years ago

And doing a manual clean nearby doesnt remove those weird sourceless lighted areas? Thats weird, never seen the plugin keep light around like that

leviem1 commented 4 years ago

Yeah, I've been noticing some really weird behavior in this version, but I'm thinking a good deal of this is client/server mismatch. Those spots went away after the chunks were reloaded.

Here's another example of the mismatch behavior. This is covered by barrier blocks. 2020-08-20_03 08 11

After running cleanlight over it, it looks like this. 2020-08-20_03 08 30

But rejoining the server returns it to being dark.

bergerkiller commented 4 years ago

Oh with that barrier issue, try updating if you haven't, since yesterday I pushed some fixes for this. Glass/barriers/leaves were considered fully opaque and it caused some strange issues like this.

leviem1 commented 4 years ago

Long time no see. Tried a recent patch and noticed trapdoors aren't considered transparent.

I stumbled across another issue that only presents itself on the player's texture. There's no other evidence of lighting issues other than that the player becomes dark. 2020-08-30_04 26 45

I should probably be opening new issues at this point but I don't want to spam the repo with one-line snapshot build issues