monitor freeze when logout or teleport near the monitor on server
bastiencantet opened this issue · 14 comments
Minecraft Version
1.19.x
Version
1.101.3
Details
Server Logs :
[15août2023 12:19:44.849] [User Authenticator #1/INFO] [net.minecraft.server.network.ServerLoginPacketListenerImpl/]: UUID of player PaumeDeTeh is 540dae4b-6e16-491c-b389-7526a4f3bd68
[15août2023 12:19:50.011] [Server thread/INFO] [net.minecraftforge.common.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@b7f27ab
[15août2023 12:19:50.075] [Server thread/INFO] [net.minecraft.server.players.PlayerList/]: PaumeDeTeh[/176.173.68.217:57332] logged in with entity id 178 at (4309.232417807825, 133.0, -4480.376075555424)
[15août2023 12:19:50.162] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: PaumeDeTeh joined the game
[15août2023 12:19:50.316] [Server thread/INFO] [Jade/]: Syncing config to PaumeDeTeh (540dae4b-6e16-491c-b389-7526a4f3bd68)
[15août2023 12:19:54.169] [Server thread/INFO] [net.minecraftforge.common.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@2c51d251
[15août2023 12:20:27.302] [Server thread/INFO] [net.minecraft.server.network.ServerGamePacketListenerImpl/]: PaumeDeTeh lost connection: Disconnected
[15août2023 12:20:27.302] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: PaumeDeTeh left the game
[15août2023 12:20:34.976] [User Authenticator #2/INFO] [net.minecraft.server.network.ServerLoginPacketListenerImpl/]: UUID of player PaumeDeTeh is 540dae4b-6e16-491c-b389-7526a4f3bd68
[15août2023 12:20:40.015] [Server thread/INFO] [net.minecraftforge.common.AdvancementLoadFix/]: Using new advancement loading for net.minecraft.server.PlayerAdvancements@75cb3205
[15août2023 12:20:40.035] [Server thread/INFO] [net.minecraft.server.players.PlayerList/]: PaumeDeTeh[/176.173.68.217:57397] logged in with entity id 469 at (4310.405682787419, 133.0, -4480.176270753296)
[15août2023 12:20:40.060] [Server thread/INFO] [net.minecraft.server.MinecraftServer/]: PaumeDeTeh joined the game
[15août2023 12:20:40.094] [Server thread/INFO] [Jade/]: Syncing config to PaumeDeTeh (540dae4b-6e16-491c-b389-7526a4f3bd68)
Logs are short and not seem to be usefull
Reproduction step :
- Connect to a server
- Place a computer and a monitor
- Create a program ( blinking text for example)
- run this program as startup.lua
- Logout
- Come back
Complementaries Informations :
if your are two on the server if one is very far ans one is logout and comeback near one monitor the monitor will be freeze for everyone
I'm using clients mods like :
- Rubidium
- Oculus
than can maybe change the way the game is rendered and can maybe affect CC:T
but it Work on Client / Singleplayer game
related/duplicate #1428
As with #1428, I'm afraid I cannot reproduce this. I have tested all combinations of the following:
- Logging in/out and teleporting to and from the monitor.
- Monitors in spawn chunks (so permanently loaded) and 1k blocks away from spawn.
- Monitors constantly changing and set to a constant piece of text (to check the monitor is sent when loading the chunk).
- Forge 1.19.2 and Fabric 1.19.4.
MC 1.19.2 / Forge 43.2.14 / CC 1.101.3 - No other mods
I have the same issue. Singleplayer and Multiplayer.
But I could recreate this on a fresh install.
- Place computers / monitors away from spawn chunks
- Load program that simply changes a single char on the monitor each second in startup.lua
- teleport 1k blocks away and back
- monitor stuck
Unfortunatly, to fix it you have to replace the monitor or resize it (by placing another monitor next to it, not programatically)
Hmmm, seems pretty inconsistent. Just loaded another world. Same setup -> Monitor works fine.
In the other world it still gets stuck...
Hmmm, seems pretty inconsistent. Just loaded another world. Same setup -> Monitor works fine.
In the other world it still gets stuck...
Maybe if i reset the mod config folder and data it will work
If practical, can you guys share the world where it does happen? I wonder if SquidDev will be able to reproduce it then.
MC 1.20.1 | ATM-9 | CC: Tweaked 1.109.0
I am running into the same issue where my monitors freeze after leaving them for a while. Not sure if it is chunk-loaded since chunk-loading on my group's server has been iffy. Running https://github.com/MikaylaFischler/cc-mek-scada on my computers and after a few hours of doing different things and leaving the area with the computers the monitors freeze and the time on them stays static however on the actual computers the heartbeat is active and responsive to what happens with the reactors. I can try and share as much as I can obtain. I can't get the world download.
MC 1.20.1 | ATM-9 | CC: Tweaked 1.109.0
I am running into the same issue where my monitors freeze after leaving them for a while. Not sure if it is chunk-loaded since chunk-loading on my group's server has been iffy. Running https://github.com/MikaylaFischler/cc-mek-scada on my computers and after a few hours of doing different things and leaving the area with the computers the monitors freeze and the time on them stays static however on the actual computers the heartbeat is active and responsive to what happens with the reactors. I can try and share as much as I can obtain. I can't get the world download.
Almost the same here, also in ATM9, also running SCADA.
However, I have to say I dont have any Issues with SCADA in loaded chunks itself, but instead with a new Computer I placed in my "MineColony" for automating requests. Since the Citizens only work when the Town owner (myself) is Online, I didnt Chunkload any of it, and now My Monitor there also regularly "freezes".
I can observe the same behaviour, after teleporting some 300 blocks or further away for a while and then coming back.
The minecolony-script will keep running, but the Monitor doesnt update.
Additionally, resizing the monitor does not work for me. I have to fully break all the monitor blocks and re-place them.
So I guess for now I will simply try to force-load the single colony chunk with the computer in it, and hope it works.
Another thing I noticed is, when the Server restarts, SCADA also works just fine (I assume because they wrap their "peripheral" calls seperately in a try-catch?), but other Computers in the base might Error-out when trying to do anything with Peripherals.
E.g.: my custom fusion-reactor monitoring script will regularly crash after server restarts, due to peripheral functions (like the Monitor.write, or Mekanism ones) being "nil".
It also seems like they actually continue their "instructions" exactly where they left off before the restart?
But my guess is, somehow the peripherals are not initialized correctly yet, so it fails?
Sadly my world Size is beyond good and evil, so sharing it wont be easy 😅
Hope this helps a little anyways.
I just had this happen on an ATM9 (0.2.37, CC:Tweaked 1.109.3) world as well. I had originally set out to try to reproduce it due to the above and other reports of it occurring with my SCADA coordinator application, but this was actually caught by accident as I was working on other things. I had the computer & 1 monitor in one force loaded chunk them the other two in another two, non-force loaded chunks. All three monitors froze at some point after I got off last night. Restarting the computer or breaking one block of the monitor didn't do anything, and this persisted with and without shaders present (I disconnected and reconnected as well), which aligns with above and in mentioned GitHub issues. I had to completely break and re-place every block of the monitor. I left the other two frozen for now to test things, see below.
And yes @hexxone, it uses Lua pcall
s on all peripheral calls to avoid crashes. This is done by replacing the functions in the peripheral's table on "mount" with versions that do some extra stuff plus use pcall
to call the underlying function.
I'll try again to do this in a single player world that can be shared without being huge. I wonder if there is something going on here with some form of caching or some interaction with graphics engines? Normally when a monitor breaks w/ my software running, displays get all messed up and only update the parts that get newly written to (as I don't yet handle monitor_resize
events... that's a todo). In this case though with these frozen screens, the full screen thing just pops back to normal as though nothing happened.
I noticed some things while playing with the two monitors that I didn't fully break and replace. Adding or removing rows vertically causes stretch resizing of the last rendered frame. The same happens with adding/removing columns. The only exception is that if the bottom left monitor is broken, it resets. I assume this is due to it being the base block in terms of what differentiates the object of any particular multiblock monitor. I'm not sure if this information is helpful, but I wanted to share in case it was.
Edit: the front monitor had frozen again, even with being force loaded in the same chunk with the computer. My friend confirmed it was frozen in his game as well, so it's apparently something server side. This time I had shaders disabled on load in and at logout last night.
More digging around:
I was looking at tag diffs for the original issue opened for tag 1.101.2, and what is interesting is this change for example looks to my unfamiliar eyes like something that could have mattered, except it is a few days after that tag: a5bda74
The only other renderer related thing I see in a diff vs 1.100.10 is this c8e15f2, though that was a lot to scroll through so I may have missed something, or I may be searching for the wrong things.
UPDATE: For this and my last comment, the chunks weren't actually staying loaded. The force loading config was set to only load if at least one person was online.
Update Feb 12: Monitors never freeze as long as they are chunk loaded, including across disconnects and server restarts.
Hey, so i had again and again this problem. I'v always use FTB chuck and a lot of mod don't like this mod. I'm just wondering if its ftb chunck that can cause this bug too.