Integrated Dynamics

Integrated Dynamics

63M Downloads

Settings gui sometimes not opening

rubensworks opened this issue ยท 32 comments

commented

Some people seem to have trouble on some servers with opening the part settings guis. Clicking the button does nothing.

commented

Assuming you mean the little + buttons, the pack I play on currently has this bug.

I'm going to do some fooling around to see if I can figure out what's causing it. If you need me to try anything to help you fix it, let me know.

commented

@Tylian Yes, those are the buttons I mean. The part settings button (icon on the top right) will also not work, since they call the same type of code.
I think somehow another mod is blocking opening of these gui's, since this works just fine in both SSP and SMP for this mod by itself.

If you see any client- or server-side console errors while clicking those buttons, be sure to post them here.

commented

Ah, yeah. Those buttons don't work either. Was wondering what they did haha.

And yeah, no errors on both the client and the server. Hm.

Edit: The GUI opens fine in SSP with this pack, too. It's only on SMP that it fails to work. Not sure if you knew that.

commented

Do the buttons work when you try in singleplayer?

Can you link me the pack you are using? I can try removing mods then until I discover the one that breaks it, when I have some free time.

commented

I edited my comment above mentioning that it does indeed work in single player, so I'd guess it's something networking/proxy related.

The pack I'm using is a custom build one, on 1.10.2, using MultiMC. I can upload the entire mods folder, or just toss a list of mods at you, your choice. Which ever would be easier for you.

commented

An upload of the entire mods and config folder would be great! Also make sure to indicate the Forge version. I should be able to have a look at it tomorrow.

commented

Ah crap I just realized I never actually uploaded the file. I'm a complete idiot haha.
Since I still have the issue I've done what I said I'd do... a month and a half ago.

Here: http://woof.tylian.net/test.zip
Forge: 12.18.2.2121
Minecraft: 1.10.2 (if that's needed lol)

The mods RFTrash and Phi are made by me and can probably be removed first while testing, I included them just incase though.

Sorry so much about forgetting!

commented

I just tried your pack, and I can not reproduce the settings buttons not working.
I tried this both in singleplayer and multiplayer.

So this means that it's pack independent, and must be caused by the connection to the server.

Could you provide me some more information about the server you are connecting with?
Is it a remote server or does it run on your local machine?
Is the server behind a proxy? Does it run on another port?
Are you also experiencing this issue when trying it in singleplayer?

commented

We've tried it on two different servers. One was a self hosted server on a VPS, the other is on a server ran by BeastNode. Both were remote servers, and thus I think the problem is introduced by having latency between client and server that's beyond what you'd get from a local connection.

VPS server was ran on original port. BeastNode is ran on a custom port. Both are as far as I'm aware (not sure on Beastnode, 100% sure on VPS) unproxied.

No issues in singleplayer, works as intended.

commented

If you need any more help debugging lemme know.

commented

Ok, thanks for the information.
I'll have a look to see why network latencies break this functionality.

commented

I did some small changes that might resolve this issue.
Could you test the following dev build on your server (and client) and let me know if this fixes the issue for you?
https://dl.bintray.com/cyclopsmc/dev/org/cyclops/integrateddynamics/IntegratedDynamics/1.10.2-0.6.3-363/IntegratedDynamics-1.10.2-0.6.3-363.jar

commented

Sure, will do. That link gives me an error, though.

commented

My bad, I posted an outdated version, updated the link.

commented

So, some bad news: Tried it, and it still doesn't open. :(

I'm starting to think the best course of action would be to toss me a built that prints a bunch of debug info to console for you to look at.

Thanks for attempting to fix this by the way, as a fellow programmer I know bugs like this are a nightmare.

commented

Yes, I also don't see any way around it...
I just prepared a custom build here: https://cl.ly/1P0P3z0S260f

Please try opening any reader part, and clicking on the upper right settings button.
You should see something like this in your output:

[15:38:00] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:00] [Server thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:00] [Server thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
[15:38:00] [Server thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
[15:38:00] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[15:38:00] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
[15:38:02] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:02] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:02] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
[15:38:02] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
[15:38:02] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[15:38:02] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
[15:38:03] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.container.GuiPartSettings$1:onAction:60]: ID#64: Click gui
[15:38:03] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:03] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.inventory.container.ContainerPartSettings$1:onAction:73]: ID#64: Click container
[15:38:03] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : east
[15:38:03] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
[15:38:03] [Netty Server IO #1/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
[15:38:03] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[15:38:03] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1578faa1 : null
commented

Edit: Wait one second, going to redo it to make sure it's correct.
Edit 2: Done.

Client:

[10:14:18] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@61027f87 : north
[10:14:18] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[10:14:18] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@61027f87 : null
[10:14:20] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.container.GuiMultipartAspects$1:onAction:71]: ID#64: Click gui
[10:14:20] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@61027f87 : north

Server: (Server log is reversed, latest messages are first.)

27.11 10:14:19 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@65d16dbc : null
27.11 10:14:19 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
27.11 10:14:19 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@65d16dbc : north
commented

Ok, thanks for this output, this might very well be enough to resolve this issue!

Note so self: server is not initiating the temp gui storage "Click container". Use world.isRemote instead of MinecraftHelpers.isClientSide() since the latter might not be exact enough in this case.

commented

@Tylian Sorry for the delay, here is a new version that may fix the problem (if I understand well what is going on here).
If it still doesn't work, please send me the log output again.
https://cl.ly/1F1G1Y0w041c

commented

Good news, and bad news!

Good news is, the settings GUI seems to open now. Bad news is the parameter GUI doesn't, and the settings in the settings GUI doesn't seem to save.

Also... I found a crash but it happens on the released version. Time to open a new issue. :/


Debug info for param button
Client:

[16:42:23] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : north
[16:42:24] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[16:42:24] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : null
[16:42:29] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@74a6eabd : (north,org.cyclops.integrateddynamics.core.part.aspect.build.AspectBuilder$BuiltReader@bf9d57e)

Server: (reversed order like before)

[org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@3f19a03d : (north,org.cyclops.integrateddynamics.core.part.aspect.build.AspectBuilder$BuiltReader@6785f387)
29.11 16:42:23 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : null
29.11 16:42:23 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
29.11 16:42:23 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : north

Debug info for settings GUI (if needed)

[16:43:54] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : north
[16:43:54] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[16:43:54] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : null
[16:43:55] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.container.GuiMultipartAspects$1:onAction:71]: ID#64: Click gui
[16:43:55] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : north
[16:43:55] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[16:43:55] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : null
[16:43:59] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : north
[16:43:59] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getClientGuiElement:173]: ID#64: Get client gui element
[16:43:59] [Client thread/INFO]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@432a3678 : null

Server (reversed order like before):

[org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : null
29.11 16:43:59 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
29.11 16:43:59 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : north
29.11 16:43:55 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : null
29.11 16:43:55 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
29.11 16:43:55 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : north
29.11 16:43:55 [Server] Netty Epoll Server IO #4/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.inventory.container.ContainerMultipartAspects$2:onAction:92]: ID#64: Click container
29.11 16:43:54 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : null
29.11 16:43:54 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:getServerGuiElement:167]: ID#64: Get server gui element
29.11 16:43:54 [Server] Server thread/INFO [STDOUT]: [org.cyclops.integrateddynamics.core.client.gui.ExtendedGuiHandler:setTemporaryData:161]: ID#64: Set temp data org.cyclops.cyclopscore.client.gui.GuiHandler$GuiType@1a8baab3 : north
commented

According to that output it should work now, strange...

Can you try this build?: https://cl.ly/3K383P3Z3r3U
No debug prints this time.

commented

Sorry for the delay, was busy. Tried that one now.

Same as before, Settings GUI opens but doesn't actually save any values, they reset when I reopen the GUI.
The parameters GUI does not open at all, still.

commented

Reproduced the issue in a modpack of a friend and his server. (unable to determine ping, huge modlist)
It does indeed not happen with a local server or a server with a low ping.

I will see if i can get a debug server going on a remote location so we can easely test and debug this issue further.

forge 2185
cyclopscore 0.8.2 release
integrated dynamics 0.6.4

commented

@Runesmacher That would be great!

commented

@ckaraviotis Does it also happen if you run a server with only Cyclopscore, ID and IT? I will have some time next week to look into it, but like i sayd i cant get it to reproduce or see any errors or try fixes on my local network, if you can reproduce it easely and would be willing to allow me to log in and see if we can reproduce and test with some dev builds to get to the bottom of this

commented

@Runesmacher I started up a new server instance with only Cyclopscore, ID, IT & CommonCapabilities 1.3.0 and it's still happening, so it seems reproducible.

I'll set up some accounts next week so you can login and upload builds & start/stop the server whenever you need.

commented

@ckaraviotis that would be awesome :D i hope i can get the same effects as you and we can crack this one down ;)

commented

I'm experiencing the same issue using the SkyFactory3 mod pack v3.0.6, which uses

integrated dynamics 0.6.7
integrated tunnels 1.1.0
cyclopscore 0.9.1

If there's anything I can do to help, let me know. I'm hosting the server so I can spin off another instance if you need.

Interestingly, the server is hosted on my LAN, and I still get the issue with 0ms ping. It does work in single player.

commented

@ckaraviotis Thanks for offering to help. I won't have time to look into this myself in the next coming week unfortunately. But I'll definitely contact you for help after that. (Unless you can look into this one in the meantime @Runesmacher?)

commented

@Runesmacher Server is up and running at alore.tk:25566. Let me know your email address & I'll send you the account login details so you can replace files, op yourself etc.

commented

@ckaraviotis i'm following you on twitter now, can't send you a private message, i gues you need to add me, so i can give you my details; don't reallyt want em public (yet) ;)

commented

Issue resolved with PR #129 . Also needed for this is Cyclopscore PR #43.

Special thanks to @ckaraviotis for providing a dedicated test server for debugging and testing