Signs Become Empty On Older Servers #3137
Labels
No Label
#P1 CRITICAL
#P2: HIGH
#P3: elevated
#P4 priority: medium
#P6: low
#Review
annoying
API
bug
code quality
combat
commands
compatibility
configurability
contribution inside
controls
core feature
creative mode
delayed for engine release
documentation
duplicate
enhancement
environment
feature request
gameplay
graphics
ground content conflict
GUI/HUD
help wanted
incomplete feature
invalid / won't fix
items
looking for contributor
mapgen
meta
mineclone2+
Minecraft >= 1.13
Minecraft >= 1.17
missing feature
mobile
mobs
mod support
model needed
multiplayer
Needs adoption
needs discussion
needs engine change
needs more information
needs research
nodes
non-mob entities
performance
player
possible close
redstone
release notes
schematics
Skyblock
sounds
Testing / Retest
tools
translation
unconfirmed
mcl5
mcla
Media missing
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: VoxeLibre/VoxeLibre#3137
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
No idea why, but on older servers, signs seem to just turn empty for no reason and placing any new signs to write things on won't work either.
The only solution to this that I have found is to create a new world entirely, then the signs work on that world, but they still don't work on the old world.
The signs eventually stop working on the newer world as well, forcing you to once again create a new world.
By placing new signs, do you mean digging up and placing again? Or making a new one from scratch?
error logs?
version numbers of the MCL of the server?
etc.
I need to know what to look for.
I just placed a new one from the creative inventory.
This had been a problem for a while now. It has been a problem for months. It is only now that I had decided to open an issue for it, after remembering the problem. Version probably doesn't matter here.
As for error logs, what do you mean by this? I got no errors in the chat when placing signs.
I mean that if the signs fail, it states an error.
Depending though, minetest can report an error as a warning, and it doesn't show up in the chat log.
Debug.txt from the minetest directory.
Do you know when it started happening?
And the reason I asked you about the server's Mineclone version that it was, is because it will tell me needed information about the signs that were there.
So yeah, it does matter, thanks :)
I read the debug.txt, and it only mentions me placing the signs. It doesn't even mention any issues.
It started happening since a couple of months ago. I don't remember very well.
As for the version, it's difficult to say, since I am using a custom branch that I use to mess around with certain fixes. I'd still say that it's about one version before the mcl_hoppers fixes.
@FossFanatic so, are you using the Master-InDev? or is it a release branch?
The reason that it's important to know, is that I need to be able to grab the version that the signs were made in, and then upgrade that to the version that is being used, minus mods and minus different tweaks that you have made. That way, I can test it, and see what's going on.
Also, it would be helpful to know if it is wall signs, standing signs, or both that are affected. Another piece of data that I need to be able to see -- does a restart of the server / single player game fix it? or do they regenerate after a couple of minutes? do they stop working after a specified amount of time?
The way that the signs work has been upgraded and we did test it with version 0.78 and 0.79 being upgraded.
Both. Both are affected.
No.
No.
Yes.
Which is coincidentally when the problems began. I had this problem since 0.79.
Well, 0.81 is when the new signs code went into play. It was merged into 0.81-indev about 1/3 of the way to 0.82-indev.
The current version that was released in 0.81 (and, even more so now as it has the checker for clearblocks) actually goes through and regenerates the signs every minute or two.
The only things that would prevent that, is if 1) the sign was placed without anything written on it. 2) the map file became corrupted. 3) it was converted from MCL5 -> MCL2. (That last one specifically states "YMMV")
I might have to play the latest stable release then, until I encounter this problem again and can confirm that the problem still exists.
I would. that or try it with the last signs commit.
I have found another lead. That lead is that the sign letters disappear when shaders are turned off?
This is more apparent on multiplayer servers.
Thank you for this.
This is why I said that entities need shaders turned on. What clued me in was the item frame maps where the maps didn't display. (Mind you that maps are their own can of worms.) Smooth lighting requires shaders.
Entities (the sign's lettering) are very ... finicky and can break really easily. And, almost every time, it's not our code. it's either the user's hardware, or the engine.
I do have hopes that we can get to the bottom of this, and then state what is required in the requirements.
If you have ideas on how to fix this, I am very open to hearing them, and will help in any way I can to fix it.
Broken signs have a built in fix. Punching them updates the sign's writing. I just re-reviewed the code for it, and it was something that was built in, in the original sign code. After testing it for the rewrite, I left it in as a manual way to fix the sign. I had assumed that it was because of not having an automated
/clearobjects
fix. But, it could have been because they somehow lose their entity. Another fix is to move far enough away for the nodes to be unloaded, allow them to unload, and then come back so that they are loaded back up.The latter fix will restart the nodetimer on the signs so that they regenerate the sign entity every X seconds (like 35 or 40 seconds).
If, it is a shaders issue, though, they will probably stay blank. So, we need to ascertain if that is what is happening, or if the node timer failed. So, can you try punching it and see if that fixes the affected signs? (as this will answer the questions.)
I punched the signs with shaders turned off, and the letters don't come back.
This is likely an issue with disabling shaders. The same also happens to paintings and maps.
Minetest will likely force shaders to be used in the future (as it should, since shaders are required if one wants to get anywhere graphically), so this problem won't really be encountered anymore.
erlehmann suggested that https://github.com/minetest/minetest/pull/12906 may fix this, so I'm thinking we can retest this after 5.7.