TickThreading - concurrent entity/tile entity ticks and other optimisations

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

Koschei

New Member
Jul 29, 2019
3
0
0
Will have to get the server owner to try, and wait for it to happen... it's not really predictable.
 

Kusinagie

New Member
Jul 29, 2019
10
0
0
Hey there Nallar,
With build 1197 i get this error in the log when entering the nether. More specifically loading the nether. If its kept loaded (Player/chunk loader/what have you) it does not throw the error.
[SEVERE] [TickThreading] Exception ticking world Nether/-1
java.lang.NullPointerException
at codechicken.xycraftcopy.core.world.WorldExtensionManager.preTick(WorldExtensionManager.java:242)
at codechicken.xycraftcopy.core.world.WorldExtensionManager.access$400(WorldExtensionManager.java:25)
at codechicken.xycraftcopy.core.world.WorldExtensionManager$WorldExtensionServerTickHandler.tickStart(WorldExtensionManager.java:157)
at cpw.mods.fml.common.SingleIntervalHandler.tickStart(SingleIntervalHandler.java:16)
at cpw.mods.fml.common.FMLCommonHandler.tickStart(FMLCommonHandler.java:59)
at cpw.mods.fml.common.FMLCommonHandler.onPreWorldTick(FMLCommonHandler.java:296)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:440)
at me.nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:544)
at me.nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:41)
at me.nallar.tickthreading.minecraft.ThreadManager$ServerWorkThread.run(ThreadManager.java:157)

Also i noticed something when traveling between dimensions.
I went to the nether placed a pump,endertank, and some torches. I jumped back to the overworld to get a couple engines and when i returned the things i placed were gone.
So i placed some torches jump through the portal put some torches there and jumped back and forth to notice they were gone.
Placed a chunkloader and anything i did within its boundaries did not disappear so im guessing the chunks are not saving before they unload.
Thanks for the great work
 

nallar

New Member
Jul 29, 2019
270
0
0
Hey there Nallar,
With build 1197 i get this error in the log when entering the nether. More specifically loading the nether. If its kept loaded (Player/chunk loader/what have you) it does not throw the error.
[SEVERE] [TickThreading] Exception ticking world Nether/-1
java.lang.NullPointerException
at codechicken.xycraftcopy.core.world.WorldExtensionManager.preTick(WorldExtensionManager.java:242)
at codechicken.xycraftcopy.core.world.WorldExtensionManager.access$400(WorldExtensionManager.java:25)
at codechicken.xycraftcopy.core.world.WorldExtensionManager$WorldExtensionServerTickHandler.tickStart(WorldExtensionManager.java:157)
at cpw.mods.fml.common.SingleIntervalHandler.tickStart(SingleIntervalHandler.java:16)
at cpw.mods.fml.common.FMLCommonHandler.tickStart(FMLCommonHandler.java:59)
at cpw.mods.fml.common.FMLCommonHandler.onPreWorldTick(FMLCommonHandler.java:296)
at net.minecraft.server.MinecraftServer.doWorldTick(MinecraftServer.java:440)
at me.nallar.patched.server.PatchMinecraftServer$TickRunnable.run(PatchMinecraftServer.java:544)
at me.nallar.tickthreading.minecraft.ThreadManager$1.run(ThreadManager.java:41)
at me.nallar.tickthreading.minecraft.ThreadManager$ServerWorkThread.run(ThreadManager.java:157)

Also i noticed something when traveling between dimensions.
I went to the nether placed a pump,endertank, and some torches. I jumped back to the overworld to get a couple engines and when i returned the things i placed were gone.
So i placed some torches jump through the portal put some torches there and jumped back and forth to notice they were gone.
Placed a chunkloader and anything i did within its boundaries did not disappear so im guessing the chunks are not saving before they unload.
Thanks for the great work

Chunks sometimes not saving on world unload should be fixed as of build 1212, thanks for the report. Not sure about the xycraft NPE, for now turn off world unloading in TT's config.
 

Droosk

New Member
Jul 29, 2019
20
0
0
nallar,

With the last few versions of TT, we've run into this issue that occurs when we place blocks at certain points:

http://pastebin.com/mmAPCNTf

If we roll back TT significantly (like, back to 1127), this issue goes away, but of course other issues pop up that are addressed in later releases. The only change that is required is rolling back TT to make it stop. The places it occurs at seems entirely random, but affects the entire Y level of the chunk within which it occurs. The issue is easily replicated by other players when it is found.
 

nallar

New Member
Jul 29, 2019
270
0
0
nallar,

With the last few versions of TT, we've run into this issue that occurs when we place blocks at certain points:

http://pastebin.com/mmAPCNTf

If we roll back TT significantly (like, back to 1127), this issue goes away, but of course other issues pop up that are addressed in later releases. The only change that is required is rolling back TT to make it stop. The places it occurs at seems entirely random, but affects the entire Y level of the chunk within which it occurs. The issue is easily replicated by other players when it is found.

This is a BukkitForge bug, see https://github.com/keepcalm/BukkitF...kkit/forgeHandler/ForgeEventHandler.java#L283. It's using Y instead of Z.

edit: Made an issue. https://github.com/keepcalm/BukkitForge/issues/593

edit 2: Added a workaround config option, get latest and turn on 'generateChunkOnProvideRequest'.
 

Droosk

New Member
Jul 29, 2019
20
0
0
nallar, your workaround is awesome.

Don't suppose you could do some selfish self promotion and provide a link to where I could donate for your hard work? :)
 

LazySmurf

New Member
Jul 29, 2019
37
0
0
nallar, your workaround is awesome.

Don't suppose you could do some selfish self promotion and provide a link to where I could donate for your hard work? :)


Now we have thing show up in place of items like redwood tree turing to sticky piston and redstone ore report


03-27 23:44:20 [WARNING] [ForgeModLoader] Chunk file at -22,-20 is in the wrong location; relocating. (Expected -22, -20, got -18, -18)
03-27 23:44:20 [SEVERE] [TickThreading] Chunk at -18,-18 was stored at -22,-20
Resetting this chunk.
 

nallar

New Member
Jul 29, 2019
270
0
0
Now we have thing show up in place of items like redwood tree turing to sticky piston and redstone ore report


03-27 23:44:20 [WARNING] [ForgeModLoader] Chunk file at -22,-20 is in the wrong location; relocating. (Expected -22, -20, got -18, -18)
03-27 23:44:20 [SEVERE] [TickThreading] Chunk at -18,-18 was stored at -22,-20
Resetting this chunk.

Did you use a map editor, or did they just randomly change? Do they go back to normal after relogging?

edit: Looks like there's a Mojang issue, preventing chunks from being relocated. Fixed in https://github.com/nallar/TickThreading/commit/cc1ffe296c3214900336475a9eca7feddd1e5e69.

edit: And made a Mojira issue at https://mojang.atlassian.net/browse/MC-12932
 

nallar

New Member
Jul 29, 2019
270
0
0
I will be away without internet access until Saturday, and no access to my development computer for the next 14 days.
 

Droosk

New Member
Jul 29, 2019
20
0
0
nallar,

Is it possible to assign specific functions to specific processor IDs (preferably in linux)? For example, If I wanted the overworld to tick on CPU threads 0,1,2,3, and then Mystcraft use 4,5, and everything else 6,7 (8 core setup)? Just hoping to find ways to give more processing power to my overworld, which of course is higher usage.
 

Puremin0rez

New Member
Jul 29, 2019
90
0
0
Does anyone know if the TT auto save interval overrides the MCPC auto save interval? Just making sure the world is saving...
 

Dox

New Member
Jul 29, 2019
9
0
0
So in plain english will this reduce any rubber banding or lag? I host from my house looking to reduce bandwidth.
 

Matheniel

New Member
Jul 29, 2019
2
0
0
Any word on whether there is a way to get this working with Treecapitator? The owner of the server I manage really likes Treecapitator because he's too lazy to chop down trees, but he also really likes what TT has done for his server performance. Any advice at all on getting them to play nice with each other would be amazing :3[DOUBLEPOST=1365094213][/DOUBLEPOST]
So in plain english will this reduce any rubber banding or lag? I host from my house looking to reduce bandwidth.

No, not really. As far as what this does, it's on the end of the spectrum that deals with CPU usage and making sure the server runs smoothly. "Rubber banding" is more on the spectrum that deals with low bandwidth or bad routing practices. As far as fixing your rubber banding issue, upgrading your home connection's upstream speed is about the only thing you can do.