Reactors and Turbines sometimes do not assemble properly on the client side, causing weird behavior
ReaperCast opened this issue · 56 comments
Not sure if you've run into this or not but I installed Big Reactors onto a server and for some reason the turbines are bugged. They work fine in SP but this is what we get server side.
http://i.imgur.com/Ff1abFi.png
http://i.imgur.com/RDtSGqx.png
The turbine still produces power but it shows 0RPM and the textures do not load.
At the moment, no. I'm pursuing a line of inquiry with KL/CoFH, as it seems that CoFHCore B6 may still have some client-side oredict issues.
Do we know how to fix existing worlds to support non-vanilla materials in the turbines yet?
Good news on this front. CoFHCore-3.0.0B7 has fixed the issue behind this, so it should be resolved once that comes out, and you should not need to create new worlds.
Which version of Big Reactors are you using?
Is your SMP setup using Cauldron or vanilla Forge?
Does this issue happen 100% of the time, or only sometimes?
This is likely caused by the same issue behind #288.
Using cauldron with latest forge version on server.
Big Reactors 0.4.0rc3
SP is using just latest forge.
And server side it can be replicated 100% of the time i created over a dozen turbines with the same result even after restarting the server itself. Have not run into it in single player at all yet.
Does this happen for reactors too, or just turbines? Is there anything in your server log that looks suspicious - any exceptions? Search for "netty", and see if there's any networking-related stacktraces in your log.
its only for turbines. the reactors work fine even for steam production. i've looked in both local and server logs.
No calls or errors of any kind involving netty or big reactors when building or starting the turbines, as well as during start up.
http://i.imgur.com/e7m9akt.png
this shows up in the client console but nothing is showing in the server side
and that might just be me spawning things in >.<
Hmm, that's odd. It's showing classnames for BR GUIs. That shouldn't be related to this, though. I'm probably going to have to make a debugging tool to help diagnose this issue. Stay tuned.
OK, here's an experimental version containing a mostly-completed version of a new debugging tool.
http://big-reactors.com/download/experimental/BigReactors-0.4.0rc4.jar
Use this tool by rightclicking or shift+rightclicking on a malfunctioning machine. It will barf a huge amount of information at you via the chat system (which should also be logged, for easy copy/pasting).
Rightclicking = get info from server. Shift+rightclicking = get info from client.
Compare the info on the server and the client, and post up pastes of both client & server data from malfunctioning turbines, please.
Sorry takes a bit to get the server and client up and running since our launcher is still in development.
[16:58:39] [Client thread/INFO]: [CHAT] [SERVER] Beef Debug Tool:
[16:58:39] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityTurbinePartStandard
[16:58:39] [Client thread/INFO]: [CHAT] Assembled: true
[16:58:39] [Client thread/INFO]: [CHAT] Attached Blocks: 105
[16:58:39] [Client thread/INFO]: [CHAT]
[16:58:39] [Client thread/INFO]: [CHAT] Active: false
[16:58:39] [Client thread/INFO]: [CHAT] Stored Energy: 0.0
[16:58:39] [Client thread/INFO]: [CHAT] Rotor Energy: 0.0
[16:58:39] [Client thread/INFO]: [CHAT] Rotor Speed: 0.0 rpm
[16:58:39] [Client thread/INFO]: [CHAT] Inductor Engaged: true
[16:58:39] [Client thread/INFO]: [CHAT] Vent Status: VentOverflow
[16:58:39] [Client thread/INFO]: [CHAT] Max Intake Rate: 2000
[16:58:39] [Client thread/INFO]: [CHAT] Coil Size: 8
[16:58:39] [Client thread/INFO]: [CHAT] Rotor Mass: 70
[16:58:39] [Client thread/INFO]: [CHAT] Blade SurfArea: 4
[16:58:39] [Client thread/INFO]: [CHAT] # Blades: 4
[16:58:39] [Client thread/INFO]: [CHAT] # Shafts: 3
[16:58:39] [Client thread/INFO]: [CHAT] Rotor Drag CoEff: 0.01
[16:58:39] [Client thread/INFO]: [CHAT] Blade Drag CoEff: 2.5E-4
[16:58:39] [Client thread/INFO]: [CHAT] Frict Drag CoEff: 0.7
[16:58:39] [Client thread/INFO]: [CHAT]
[16:58:39] [Client thread/INFO]: [CHAT] Fluid Tanks:
[16:58:39] [Client thread/INFO]: [CHAT] [0] inlet empty
[16:58:39] [Client thread/INFO]: [CHAT] [1] outlet empty
[16:58:44] [Client thread/INFO]: net.minecraft.client.gui.GuiChat
[16:58:55] [Client thread/INFO]: [CHAT] [CLIENT] Beef Debug Tool:
[16:58:55] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityTurbinePartStandard
[16:58:55] [Client thread/INFO]: [CHAT] Assembled: false
[16:58:55] [Client thread/INFO]: [CHAT] Attached Blocks: 105
[16:58:55] [Client thread/INFO]: [CHAT] Validation Exception:
[16:58:55] [Client thread/INFO]: [CHAT] -66, 54, -5 is invalid for a turbine interior. Only rotor parts, metal blocks and empty space are allowed.
-66, 54, -5 is a bottom corner of the turbine and that's a turbine casing block
Ouch, that's what I was afraid of. Looks like the 1.7 upgrade did have some nasty low-level impacts on how blocks were loaded, which is screwing up machine assembly on the client. This is going to be a long, tough slog.
It seems odd though that only turbines are effected...the reactors themselves work just fine. And even odder that it only effects on server since SMP they are working just fine even the couple massive ones i built...well before i nuked them in annoyance at railcraft boilers.
It's likely a timing issue which is exacerbated by your specific server setup. Timing issues do weird things. I've got another guy reporting similarly-weird behavior, but only for reactors.
As I see it, the likely problem is that the client-side machine isn't re-evaluating itself for assembly at the right time for some reason. Once I figure out why that it, it should be an easy fix. The problem is, well, figuring out the actual problem.
dunno if this will help..but i turned on one of the broken turbines while it was hooked up and tried clicking it again. Still not connecting but it reads it as functioning somewhere.
[07:43:03] [Client thread/INFO]: [CHAT] [SERVER] Beef Debug Tool:
[07:43:03] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityTurbinePartStandard
[07:43:03] [Client thread/INFO]: [CHAT] Assembled: true
[07:43:03] [Client thread/INFO]: [CHAT] Attached Blocks: 168
[07:43:03] [Client thread/INFO]: [CHAT]
[07:43:03] [Client thread/INFO]: [CHAT] Active: true
[07:43:03] [Client thread/INFO]: [CHAT] Stored Energy: 1000000.0
[07:43:03] [Client thread/INFO]: [CHAT] Rotor Energy: 84726.43
[07:43:03] [Client thread/INFO]: [CHAT] Rotor Speed: 24.07001 rpm
[07:43:03] [Client thread/INFO]: [CHAT] Inductor Engaged: true
[07:43:03] [Client thread/INFO]: [CHAT] Vent Status: VentOverflow
[07:43:03] [Client thread/INFO]: [CHAT] Max Intake Rate: 1770
[07:43:03] [Client thread/INFO]: [CHAT] Coil Size: 16
[07:43:03] [Client thread/INFO]: [CHAT] Rotor Mass: 220
[07:43:03] [Client thread/INFO]: [CHAT] Blade SurfArea: 16
[07:43:03] [Client thread/INFO]: [CHAT] # Blades: 16
[07:43:03] [Client thread/INFO]: [CHAT] # Shafts: 6
[07:43:03] [Client thread/INFO]: [CHAT] Rotor Drag CoEff: 0.01
[07:43:03] [Client thread/INFO]: [CHAT] Blade Drag CoEff: 2.5E-4
[07:43:03] [Client thread/INFO]: [CHAT] Frict Drag CoEff: 2.2
[07:43:03] [Client thread/INFO]: [CHAT]
[07:43:03] [Client thread/INFO]: [CHAT] Fluid Tanks:
[07:43:03] [Client thread/INFO]: [CHAT] [0] inlet empty
[07:43:03] [Client thread/INFO]: [CHAT] [1] outlet water, 4000 mB
[07:43:18] [Client thread/INFO]: [CHAT] [CLIENT] Beef Debug Tool:
[07:43:18] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityTurbinePartStandard
[07:43:18] [Client thread/INFO]: [CHAT] Assembled: false
[07:43:18] [Client thread/INFO]: [CHAT] Attached Blocks: 168
[07:43:18] [Client thread/INFO]: [CHAT] Validation Exception:
[07:43:18] [Client thread/INFO]: [CHAT] -75, 55, -24 is invalid for a turbine interior. Only rotor parts, metal blocks and empty space are allowed.
Yeah, same problem. The client's got an inaccurate view, because the client-side machine didn't properly assemble for some strange reason.
Unsure if this is part of the issue, but I was running into this very same issue earlier with a mini turbine I have set up. I "resolved" the issue by pulling out the steel block that was in the turbine and replacing it with an iron block as part of shaft coil. It then fully formed and worked fine. I had also seen the issue with reactors when I tried to use graphite in a passively cooled reactor, same thing, remove the graphite replace with diamond, worked fine (though not the efficiency setup I wanted, but I can live, this is a mod-in-progress grin).
In both cases the exact same turbine designs work fine for SSP, but in SMP with exactly the same mod setup (client and server), it does not appear to function when using non-vanilla blocks. In my case to make it clear, I do not have any of thermal expansion other than CofHCore, as we're trying to cut down the amount of mods on the server and so far no one is complaining about not having the TE stuff...
Glad to have helped, wasn't sure it would. Just to mention also, the steel block I tried was from railcraft, just for more information.
That is very interesting, particularly in light of the new information in #288. I will pursue this line of inquiry further. Thanks!
@ReaperCast - For all of those blocks, do you also get the message [CHAT] [CLIENT] Canonical ore name for tile.thermalfoundation.storage: Unknown
?
Doing a pastebin on it now give me a couple min, but yeah
http://pastebin.com/nLPA5qKu
There we go. Oh and just for the hell of it here is a photo of all the blocks i checked:
http://i.imgur.com/JBTRgPM.png
Right: Working Blocks
Middle Errored Blocks
Left Blocks that I checked cause why not
This is either a problem with the way I use CoFH's oredict helpers, or a problem with their helpers themselves. Discussing it now with them.
Right, bizarre temporary workaround. Enter SSP in your modpack before joining your server. Simply loading up a world in SSP will initialize the oredict caches properly, and the problem will then disappear.
Working on a proper fix.
lol as of right now there is no big rush on our end. we still have alot of work before we can release the modpack. anyway happy to have helped. O.o just noticed updated to CoFh so will try those :D
Right. This does appear to be an issue with CoFHCore's oredict helpers. I've reported it to them and it should be fixed in their next release.
lol so all that stressing just to find out its not even your code...don't you love it
Here's another nonpublished RC, based off rc5. It includes a logline when reactors or turbines encounter an unknown reactor or turbine part, which you should be able to find in your client/server logs.
I also added ore dict queries to the BeefTronic Debugging Tool; rightclick to query for canonical and full ore name lists on client or server.
What I'd like you to do is try out rc6 and get this bug reproduced on your server. Then, figure out which block is acting up on the client and use the debug tool to get ore name lists for both client & server.
That should help clear up if this is a weird ordering/canonical ore-name issue.
http://big-reactors.com/download/experimental/BigReactors-0.4.0rc6.jar
k will try it now and let you know what happens...
ok so after some testing with it here is the problem block:
[11:38:02] [Client thread/INFO]: [CHAT] [SERVER] Canonical ore name for tile.thermalfoundation.storage: blockEnderium
[11:38:02] [Client thread/INFO]: [CHAT] [SERVER] All ore names (1):
[11:38:02] [Client thread/INFO]: [CHAT] blockEnderium
[11:38:06] [Client thread/INFO]: [CHAT] [CLIENT] Canonical ore name for tile.thermalfoundation.storage: Unknown
[11:38:06] [Client thread/INFO]: [CHAT] getAllOreNames returned null
if i take the enderium out as a coil and just use blocks of iron it works properly. going to go through and see what other blocks work and don't work. Btw I am using enderium on SMP and it works fine.
Final edit: Ok ran through every block i could think of that might possibly work...only vanilla iron block and gold block will let it actually form properly.
Turbine doesn't work but it shows the UI for the controller:(getAllOreNames returned null)
-IndustrialCraft 2: Lead Block, Refined Iron Block, Copper Block, and Bronze Block
-Tinkers Construct: Block of Copper, Block of Bronze, Block of Aluminum, Block of Steel
-Thermal Foundation: Copper Block, Electrum Block, Invar Block, Tinker's Alloy Block, Enderium Block, Shiny Block, Mana Infused Block, Lead Block, Silver Block
-RailCraft: Block of Steel
-Redstone Arsonal: Fluxed Electrum Block
[B#439] [12:10:10] [Client thread/INFO]: erogenousbeef.bigreactors.client.gui.GuiReactorStatus
[B#439] [12:10:10] [Client thread/INFO]: erogenousbeef.bigreactors.gui.container.ContainerReactorController
[B#439] [12:10:17] [Client thread/INFO]: net.minecraft.client.gui.inventory.GuiContainerCreative
[B#439] [12:10:17] [Client thread/INFO]: net.minecraft.client.gui.inventory.GuiContainerCreative$ContainerCreative
[B#439] [12:10:52] [Client thread/INFO]: [CHAT] Given [BeefTronic™ Diagnostics Tool] * 1 to warlockgs
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] [SERVER] Beef Debug Tool:
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityReactorPart
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Assembled: true
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Attached Blocks: 238
[B#439] [12:10:54] [Client thread/INFO]: [CHAT]
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Active: true
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Stored Energy: 1720347.5
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Casing Heat: 632.163
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Fuel Heat: 628.63745
[B#439] [12:10:54] [Client thread/INFO]: [CHAT]
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Reactant Tanks:
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Capacity: 80000[0] fuel: yellorium, 77633 mB
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] [1] waste: cyanite, 367 mB
[B#439] [12:10:54] [Client thread/INFO]: [CHAT]
[B#439] [12:10:54] [Client thread/INFO]: [CHAT]
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Actively Cooled: true
[B#439] [12:10:54] [Client thread/INFO]: [CHAT]
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Coolant Tanks:
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Capacity (per): 21800[0] hot: steam, 20159 mB
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] [1] cold: NULL
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] [CLIENT] Beef Debug Tool:
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] class erogenousbeef.bigreactors.common.multiblock.tileentity.TileEntityReactorPart
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Assembled: false
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Attached Blocks: 238
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] Validation Exception:
[B#439] [12:10:54] [Client thread/INFO]: [CHAT] 2795, 60, 371 - tile.tconstruct.metalblock.name is not valid for the reactor's interior
[B#439] [12:10:57] [Client thread/INFO]: net.minecraft.client.gui.GuiChat
has it been fixed yet? cus COFHcore has had 2 releases while all of the others had 1
Also, non-CoFH blocks are also having this issue, i.e. Manyullyn, which is Tinker's Construct.
If it's Cofh fault, i am using CoFHCore-[1.7.10]3.0.0B5-30 with BigReactors-0.4.0rc5, and turbine is not forming the multiblock. I see 24k RF/t output though with 0 RPM, and blades are not spinning.
Yes, this is a bug up to and including CoFHCore 3.0.0B5 and BR 0.4.0rc5 and rc6. Please have some patience while CoFH and I get it resolved.
I know lol...it's a bit depressing too see how little support some people give for their own mods. Gives me another reason to like beef's mods. That and the fact at one point I had a 9x9x8 reactor powering 16 turbines that produced 16kiRF each :D
Oh yeah beef...have you thought anymore on the water:steam ratio?
The debug tool will be included in all future versions. It'll just be an
item with no recipe, so you'll have to fetch it via /give.
I figure the cost of 1 itemID is sufficient to help debug weirdness in the
future, as I wrote it to be easily extensible. :)
On Wed, Aug 27, 2014 at 3:51 PM, ReaperCast [email protected]
wrote:
speaking of...i should prolly get a version without the debug tool lol
—
Reply to this email directly or view it on GitHub
#292 (comment)
.
ah sounds good lol...though technically its not one item id anymore since minecraft no longer uses them
Water:steam ratio is tracked by #267, but I won't be operating on it until 0.5.
That said, 0.4 is basically done, I just need to get this CoFH issue closed, so 0.5 will not be a six-month wait. (I hope.)
i have an idea: could you maybe add a tv that shows the stats of the reactor (it can or cannot take energy, thats your choice) so you dont have to click on the control to check the stats? and maybe it could be wireless so it can connect to another tv that you can put anywhere, like in your house so you dont have to go all the way to the reactor to see whats wrong if there is a problem
Exactly what I solve with ez-nuke.
From: Nick-77ab2mailto:[email protected]
Sent: 8/27/2014 3:08 PM
To: erogenousbeef/BigReactorsmailto:[email protected]
Cc: mechaetmailto:[email protected]
Subject: Re: [BigReactors] Reactors and Turbines sometimes do not assemble properly on the client side, causing weird behavior (#292)
i have an idea: could you maybe add a tv that shows the stats of the reactor (it can or cannot take energy, thats your choice) so you dont have to click on the control to check the stats? and maybe it could be wireless so it can connect to another tv that you can put anywhere, like in your house so you dont have to go all the way to the rector to see whats wrong if there is a problem
Reply to this email directly or view it on GitHub:
#292 (comment)
I don't have time to test this until much later tonight, but CoFHCore 3.0.0B6 is now out and should fix this issue. Please post here if you've tested it and confirmed that it the problem is resolved.
nope still getting the same error and those blocks still return
[11:38:06] [Client thread/INFO]: [CHAT] [CLIENT] Canonical ore name for tile.thermalfoundation.storage: Unknown
[11:38:06] [Client thread/INFO]: [CHAT] getAllOreNames returned null
Client checks are still failing on COFH B6-32 SMP.
I get the same client lookup failure that ReaperCast is for Enderium.
Throws the following message in console when trying to assemble the multiblocks.
[11:48:22] [Server thread/INFO] [BigReactors/Big Reactors]: [DEBUG] Block @ 1025, 67, 1020 failed validation - no block data for ore name blockEnderium
Server debug check shows assembled, and will register energy, RPM, and energy production.
BR br6
CofhCore/Lib b6-32/26
Thermal Expansion B5-13
Thermal Foundation B3-8
Forge 1208
And that would be the problem...deleted the old map data and madea new one now its working..i guess it just wasn't updating ore dict in the old map file O.o...thank god we havn't started genning the actual world we are going to use
Wouldn't it work by just rebuilding the Enderium coil? I can't try yet because automatic Java update broke my Minecraft, neither server or client starts up :p Not bothered to try fix that yet.
@Zaflis I tried that and it didn;t work for me. It might for you though not sure.
Would be nice to have a solution outside restarting the map. Anyone know if it's possible to rebuild or reinitialize the ore dictionary manually to get this workin?
mechaet ez-nuke says it has to do with computercraft too im just talking about bigreactors alone