Litematica (Forge)

Litematica (Forge)

336k Downloads

Block placement corruption

gsl-christopherimbert opened this issue ยท 6 comments

commented

Hi,

Minecraft version - 1.19.2
Mod version and malilib version - litematica-fabric-1.19.2-0.12.5.jar & malilib-fabric-1.19.2-0.13.0.jar
Paper Server

When i "Paste in the World" a schematic, my server seems to get corrupted. I had to rollback it once already and my second attempt with a different schematics (more lighter) just had the same effect.

Symptoms
In creative mode in a survival world, I place blocks, after a certain time or if i destroy a block, every other block placed gets erase. They vanish instantly.
Same thing if i disconnect my client or if i try to place blocks in survival again.
Same thing if i unload the chunck from distance.

I try to jump on a block placed that way and the server kick me after few second for "Flying is not allowed" as if my block weren't there at all. And when i try to reconnect, they have vanished of course.

There is nothing in the server log at all. No message, no warning, no nothing. The server is not overloading, still have memory, cpu are normal. No tick behind.

Thanks.

commented

This doesn't make sense to me. Are you using the vanilla (/setblock and /fill) or the World Edit command mode while pasting? And you are saying the pasted blocks first appear on your client too? But if you then disconnect and re-connect, then all of them vanish? And after that even just placing some blocks normally in the world (not related to schematics at all) just makes ghost blocks that vanish when right clicked or if you disconnect and re-connect?

Normally when setblock and similar commands are used, the block is only synced to the client once it already exists in the server world. The only way I can think of that they would then just spontaneously vanish/revert after that, is if your server has saving disabled (/save off) and you reload the chunk. Although I assumed having saving disabled would also prevent the chunk from unloading entirely, pretty sure it at least used to back in 1.12.2 and earlier.

commented

The "Paste in the world" actually works as intended. The structure fills and stay.

All my travel right here =

  • I load schematics
  • I move it in the world to find the perfect place
  • I switch to mode "Paste Schematics in the world"
  • Use the ExecuteOperation hotkey previously configured

It's all the block that i place after that, that keep disapearing.

And (as i'm trying different things to debug this right now) after a certain time idle, i'm able to place block that DON'T vanish, like for 2 or 3 seconds. I was able to place 5 block in a row that stays there. After that, next ones got removed in the same circumstances as mentionned before.

Where can i see the /save config on the server ?

I had to change the paper.yml to allow a shitload of packet to prevent server for kicking me but i don't see any connection with the bug.

packet-limiter:
all-packets:
action: DROP
interval: 7.0
max-packet-rate: 50000.0
kick-message: lang:disconnect.exceeded_packet_rate
overrides:
ServerboundPlaceRecipePacket:
action: DROP
interval: 4.0
max-packet-rate: 50000.0

I've tried to reproduce the problem localy but of course, it doesn't happen. Its not the same configuration at all.

Forgot to mention that litematica is the only mod installed. Nothing on the serv either

I'm adding this interesting fact : placing a water bucket with that problem : the water doesn't flow at all. It stay as a block, which is a weird sight to see

commented

/save off and the corresponding /save on (or I forget if it's /save-off) are vanilla commands for disabling and enabling world saving, there is no persistent config for that flag. it's useful for making world backups from a running server, and not having the backup getting corrupted due to a write happening as the world is being copied to the backup.

Usually you would lower the commandLimitPerTick config in Litematica's Generic configs, the default of 64 commands per tick is usually too high, and especially Spigot/Paper servers sometimes have really strict rate limits. Even if you raise the limits, depending on your build and the location where you paste it (mostly the height, for light updates), that might be too much for the server to handle, mostly due to light updates. Getting ghost blocks when trying to place blocks normally sounds like the server not being able to handle everything. Not sure why that would happen after pasting, unless it's something like a ton of light updates being queued up and being executed after the main paste is done.

When you say "nothing on the server", do you mean you don't even run any plugins? If that is the case, then is there a reason why you are running Paper at all then? Usually Spigot and Paper are the most problematic server variants for many things due to their aggressive changes and optimizations that sometimes even break lots of vanilla behavior.

commented

No mods/plugins on the server, yet. Considering my past having hard times managing a 300-mod server, I did consider trying litematica without any other mod to prevent crossfire the safe way to go.
For paper, no reason particularly, I've bought an server from a friend of mine on mtxserver.com and she choose paper as default.

The screenshot of the non-flowing water : https://ibb.co/Ryng694

For the light update, what could cause it ? actually the schematic i've loaded is quite small and doesn't contain much light. I've seen such a mess happening from 2b2t as a weapon of mass destruction but thats all.

Is there a way to see the light update queue somehow ?

Weird thing is that everything else seems working properly. Mobs spawn, doesn't lag. Weather change regularly. Day and night flows without trouble.

commented

Does that water actually exist on the server, or is it placed against client-side ghost blocks? Does it exist if you re-log?

These issues are basically really strange and I can't think of any other reasons for them other than what I already mentioned. If you don't specifically need Paper and some plugins, I'd suggest at least trying a Fabric server with the Lithium and Starlight mods instead, to see if this is some Paper-specific weirdness. A Fabric server with those mods is a known working combination that most "tech players" and also "vanilla but not vanilla purist" players use. And for example tech players use Litematica extensively for pasting and copying stuff on such servers.

commented

That water is client-side. I updated the chunck with another block and all the diorite tower and the water vanished.

Actually, i was logging this issue in the hope that you've heard about the same problem at some point and did found a solution. I know how tricky real debug can be.
I'll probably move to fabric if i can. Paper is really not a good experience so far.

I really thank you for your time. And i use this thread to congrats you for the work done for this amazing mod anyway. Event if it's not working for me right now, you gave me the sparkles when i first pasted my structure.
If i find an idea, i'll let you know.
Cheers.