BuildCraft|Core

BuildCraft|Core

7M Downloads

BuildCraft and JEI cause massive server connection time increase

Drakonas opened this issue ยท 22 comments

commented

Not sure what is incompatible, but after the 7.2.3 update, with the same mods on our server, BC caused so much time to pass during initializing the map for the client that the server disconnects the client because it believes it timed out.

I then proceded to create a fresh server/client and try again with an adjusted mod list.

Server Log: https://gist.github.com/Drakonas/fffa46ad759c64097ed4
Trimmed Client Log: https://gist.github.com/Drakonas/0171c33235661a7dc2bc

NOTE: This log is from a clean FML 1794 server, but I have added new mods since we had the problem. The mods that I have added, which can be removed without fixing the issue, are as follows:

  • Chisel
  • ExtraUtilities (Yes, I know of BC's past incompatibilities. The issue still occurs without it)
  • ComputerCraft
  • AppleCore

I will note that the excessive load times occur on Single Player too, but since there is no timeout, it eventually loads.. but after about ~30 seconds of the window not responding and about ~25 seconds of no output in the console.

Any insight into if I am doing something wrong would be nice feedback if anyone has it. I am open to suggestions if you think this is not a Buildcraft problem, but everything points to it, as the time to connect to the server is cut by 3/4's when removing Buildcraft and Buildcraft-compat. (The ~25 seconds of no output mentioned above are fixed when removing the BC mods)

commented

Please try removing JEI. We've had some reports about it, but it wasn't very reproducible.

Any extra configuration options?

commented

removed jei and it fixed timeouts for me :D

commented

Yeah. Removing JEI but keeping Buildcraft fixed the issue as well. Is this JEI's fault? Do I need to report this to them? I have changed no client settings or mod configuration from the defaults except no Taint spread in Thaumcraft and Required sleeper percentage in Morpheus.

commented

I also should not that there's some weird stuff going on when I disabled JEI in the Curse Launcher... Dependencies with it must be screwy, as once I did, and tried enabling it again, it auto-disabled Buildcraft-compat, and Vice Versa. Not only that, when I removed Buildcraft-compat, it forced a lot of my other mods off including JEI, to turn off and I couldn't turn them on again until I reinstalled them all. I have a feeling installing Buildcraft from Curse was a bad idea.. lol.

commented

The Curse version of BuildCraft is a not-exactly-official mirror since late 2014 - I am not responsible for issues with the Curse launcher, however I am responsible for BuildCraft issues.

We know of this issue, but thanks for reproducing it! Calling @mezz

commented

I had a feeling that the Curse listing was unofficial. You guys said you couldn't add it to Curse because of license issues.

commented

@Drakonas the BC releases on curse are the same as the ones on the BC site, i download them from the BC site and put them on curse as a mirror so they are the exact same files. curse isn't always up to date as i don't always have time or a new release is comming very soon but i uploaded yesterday so it is up to date atm

commented

@Drakonas - actually, the Curse listing is not unofficial per se, it's not official either, however. Just call it a mirror. The licensing is not a problem, I'm just focusing on the official BuildCraft website and repository personally.

commented

This is probably from the massive number of facades that crash when I check if they have an item model. Chisel already has many broken ones but the facades compound the issue greatly. One solution would be to avoid creating broken facades. I may be able to do some work on Jei's side but it would be more of a workaround for the underlying issue.

commented

@mezz A lot of other mods have configuration options that disable them showing up in JEI. Would adding something like that prevent the issue?

commented

Yes, assuming facades are the problem, blacklisting them in Jei's API should fix this issue.

commented

Please try this version: http://asie.pl/bc724a.jar

commented

Still too long of a connection time. I use JEIAddons as well. Should you need to look into that?

commented

Is it shorter, though?

2016-03-27 8:41 GMT+02:00 3rdN3rd [email protected]:

Still too long of a connection time.

โ€”
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)

commented

Not by much if it is.

commented

Okay, try this release, should reduce it much further (it will only be fully fixed in 8.0.x):

http://asie.pl/bc724b.jar

If it's still a problem, get the client-side console log and the server-side console log. There's two lines next to each other starting with "FACADEDEBUG" in both, copy them over.

commented

Still getting timeouts.

Clientside:
[04:43:28] [Client thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: CST: 7969
[04:43:28] [Client thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: SST: 0

Serverside:
[04:43:21] [Server thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: CST: 0
[04:43:21] [Server thread/WARN] [BuildCraft/BuildCraft|Transport]: FACADEDEBUG: SST: 13975

commented

Okay, so the server has ~2x the amount of recipes the client does. This should still be a far cry from the ~10-20x it had before.

Why is it still timing out? o_o

commented

I suspect it may just be a JEI scaling issue with tons and tons of blocks and a slower computer. I'll look into profiling and improving the performance, then we can try again.

commented

Do try to compare 7.2.3 with the build I made.

2016-03-28 8:35 GMT+02:00 mezz [email protected]:

I suspect it may just be a JEI scaling issue with tons and tons of blocks
and a slower computer. I'll look into profiling and improving the
performance, then we can try again.

โ€”
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)

commented

Updated JEI with much better startup performance. Please try it out.

The slowest thing in startup is now Buildcraft compat, the HandlerAssemblyTable.isRecipeValid() call is unexpectedly slow.
Asie, I recommend changing AssemblyRecipeManager assemblyRecipes to a HashBiMap.create(); instead of HashMap. Right now getRecipes() returns assemblyRecipes.values() which has extremely slow .contains() performance. That should clear up the issue completely.

commented

Oh. I... haven't realized that. Fixing...

2016-03-28 10:01 GMT+02:00 mezz [email protected]:

Updated JEI with much better startup performance. Please try it out.
http://minecraft.curseforge.com/projects/just-enough-items-jei/files/2290377

The slowest thing in startup is now Buildcraft compat, the
HandlerAssemblyTable.isRecipeValid() call is unexpectedly slow.
Asie, I recommend changing AssemblyRecipeManager assemblyRecipes to a
HashBiMap.create(); instead of HashMap. Right now getRecipes() returns
assemblyRecipes.values() which has extremely slow .contains() performance.

โ€”
You are receiving this because you were assigned.
Reply to this email directly or view it on GitHub
#3273 (comment)