Schematica

Schematica

8M Downloads

Printer fails to place blocks on multiplayer server

AccidentallyLezlie opened this issue ยท 6 comments

commented

Multiple users on our server are reporting that the Printer works, but "misses" about 10-50% of blocks it attempts to place. The blocks appear placed to the client, but not to the server; relogging or leaving and returning will update the chunks and the unplaced blocks will disappear. It's sort of the opposite of ghost blocks: the client shows the blocks there but the server does not. Attempting to mine the phantom blocks will also make them disappear, if you can figure out which ones they are.

The issue gets worse the faster the printer runs. A placement delay of 20 will only miss maybe 5% of blocks, but a placement delay of 1 will fail to place blocks about half the time. It also seems to get worse the more blocks you place (you'll start out placing most blocks, and miss more and more as you continue printing), but this may be my imagination.

The server is running Spigot 1.12.2 (whatever the latest stable build is), with Coreprotect, Prism, and Dynmap, but no other anticheat mods. The server TPS was above 19 and my ping was less than 100ms. My client is Forge 1.12.2-14.23.0.2491 and I'm using Schematica 1.12.1-1.8.0.164 with no other mods.

commented

I don't have this problem when I place blocks manually though, even if I'm placing them extremely fast, such as with an autoclicker. Does Schematica send a different packet for "Lukeonia1 placed block A at coordinate XYZ" than when I place blocks manually?

commented

The problem is ping. For some weird reason either the server ignores some of the packets or the client doesn't send them at all if they're coming in too fast.

commented

That kind of auto clicker are we talking about?

commented

Just a macro on my mouse that can click up to 10 times per second. Otherwise I can spam click my mouse button manually to place 2-3 blocks per second with no problems. But with the printer, I can set it to maximum delay and place one block every 1-2 seconds, and still get missed blocks like I described above.

commented

The most obvious difference between the two is where the blocks are being placed relative to the mouse cursor.

Schematica has to simulate block placement events and with the player moving around these events might get skewed a bit under certain (unknown) conditions, causing the block to not place properly on the server side.

commented

I have the same problem with the printer. In the SP printer puts blocks well, but on the server blocks are not put. I established ForgeOptiFine 1.11.2, LunatriusCore_1.11_1.1.2.39, Schematica_1.11_1.7.8.161, Java x64bits jre1.8.0_151 (I gave access to all networks). At the first start the printer worked on the server without mistakes. When I closed restarted a game, the printer ceased to work. He puts 1-2 blocks and nearby tries to deliver other blocks, but blocks at once disappear. Unloading of the scheme, restart of a game, change of speed of statement of blocks do not help.
Adding logs, fml-client-1.log - printer is work, fml-client-2.log - don't work. Windows firewall is off, antivirus is off. Ping to server 20-25ms. Help me please.
fml-client-1.log
fml-client-2.log