Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[3.0.10] New reload checks cause scripts to not execute on the client in SMP, resulting in recipe desync between client and server #237

Closed
SargeRyong opened this issue Sep 7, 2015 · 22 comments

Comments

@SargeRyong
Copy link

Reproduced using MC 1.7.10, Minetweaker3 3.0.10.

I was testing a slew of complex recipe changes in my new tweaks file in SSP. Everything was working great, executed fine, all the recipes updated as expected.

Later, I deployed the scripts to my server to test them in SMP. (Note that the scripts were in the correct location in world/scripts server-side).

After connecting my client to the server, it became clear that the server HAD executed the scripts (e.g., furnaces would smelt things based on recipes I had added in the scripts), but the client had NOT executed them - none of the changes showed up locally.

As evidence, furnace recipes and TCon smeltery melting recipes that were added in the script functioned correctly, though the client's UI feedback said that they should not (recipes not present in NEI, the items in the smeltery appeared to be unmeltable, with no progress bar... until the server removed them from the inventory and added the metal to the tank).

I checked the changelog, since I saw that there was a new version out only a couple days ago and saw that there were some optimizations made to only reload scripts when absolutely necessary. Seeing this, I thought "aha, I bet the logic that determines when a reload is or isn't necessary is bugged", and downgraded to the previous version on both the client and server.

Immediately after downgrading to 3.0.9C, the scripts began reloading as expected and the issue went away.

@Haggle1996
Copy link

I can confirm this is also happening in my pack with 3.0.10

Haggle1996/RevolutionPack#90

@JasonMcRay
Copy link

One player of my pack InfiTech 2 also reportedthis issue. When playing on SMP the recipes in NEI are not changed visualy, but the recipe is.

Example:
I changed recipes for Iron Chest to require PLATES instead of INGOTS, on NEI, the recipe is shown to be made with ingots instead.
Problem is, when you try it with ingots, it doesn't work, but when you try the recipe with plates as it is supposed to work, no chest icon is shown in the output, but as soon as you click on the output slot, you get the chest.

@dirtyfargo
Copy link

I can also confirm that my scripts are not syncing properly server-side in version 3.0.10

@chorvus
Copy link

chorvus commented Sep 9, 2015

@JasonMcRay I am in the same server with the forum user that reported in the InfiTech 2 thread. I booted up an SMP world and after that everything was fixed both in SMP and the server world (until a client restart). Maybe that helps with debugging.

@Dream-Master
Copy link

The changed recipes are not shown but they working. If you start a singleplayer world and join back to the Server the recipes are shown correctly.
@stanhebben
We need a quick fix here please bcause i change now all my scripts for GTTWeaker allready.

@JasonMcRay
Copy link

I have found slight workaround (works but can be annoying) for the time being. If you load Singleplayer the recipes will load. Then you join the server, recipes in NEI are still loaded thanks to the singleplayer.

@jives99
Copy link

jives99 commented Sep 11, 2015

I can also confirm this issue and confirm the workaround.

@Dream-Master
Copy link

I send stan a message via Twitter and hope he will see it. After i take all Gregtech Tech Support to my GT Tweaker i change hundred of Recipes in my pack. Change this back would be more annoying so i hope we get a quick fix here.

@szernex
Copy link

szernex commented Sep 12, 2015

Can also confirm, doing it the same way as JasonMcRay described works as a workaround.

@martindiv
Copy link

Having the same problem here. Looking at the minetweaker.log on the client side shows that the script is trying to run but is unable to find any of the resources for the recipes.

For instance: I've added an alternate recipe for Pistronics2's glue and see the following in the client side log:
ERROR: pistronics2-glue-alternate.zs:1: Could not resolve <Pistronics2 : Glue>
ERROR: pistronics2-glue-alternate.zs:1: Could not resolve <minecraft : slime_ball>
ERROR: pistronics2-glue-alternate.zs:1: Could not resolve <minecraft : slime_ball>
ERROR: pistronics2-glue-alternate.zs:1: Could not resolve <minecraft : sugar>
ERROR: pistronics2-glue-alternate.zs:1: Could not resolve <minecraft : dye : 15>
ERROR: Error executing pistronics2-glue-alternate.zs: null
java.lang.NullPointerException
at minetweaker.mc1710.recipes.RecipeConverter.getIngredientType(RecipeConverter.java:39)
at minetweaker.mc1710.recipes.RecipeConverter.getRecipeType(RecipeConverter.java:52)
at minetweaker.mc1710.recipes.RecipeConverter.convert(RecipeConverter.java:59)
at minetweaker.mc1710.recipes.MCRecipeManager.addShapeless(MCRecipeManager.java:118)
at Pistronics2-glue-alternate.script(pistronics2-glue-alternate.zs:1)
at ZenMain.run(pistronics2-glue-alternate.zs)

The script is just one line:
recipes.addShapeless(<Pistronics2:Glue>, [<minecraft:slime_ball>, <minecraft:slime_ball>, <minecraft:sugar>, <minecraft:dye:15>]);

This exact same script does not throw an error server side.

Edit: Got bit by markdown.

@Sunconure11
Copy link

I'm having the same issue. Does anyone have a workaround?

@jaredlll08
Copy link
Collaborator

Anyone able to test a version for me a bit later? I think I fixed it.

On Thursday, September 17, 2015, Joseph Caleb Jones <
notifications@github.com> wrote:

I'm having the same issue. Does anyone have a workaround?


Reply to this email directly or view it on GitHub
#237 (comment)
.

@Dream-Master
Copy link

Sure be back home in a min

@Dream-Master
Copy link

@jaredlll08 If it is a pre Version you can send it me via email dream-master@gmx.net or via dropbox.....
I have access to a server where i can test the server behaviours.

@jaredlll08
Copy link
Collaborator

@dirtyfargo
Copy link

@jaredlll08 I am unfortunately still having the same issue with my scripts not syncing properly server side with that release

@Dream-Master
Copy link

@jaredlll08
Sorry but i have still the same issue. This version not fixing the problem.

@mrammy
Copy link
Contributor

mrammy commented Sep 18, 2015

@Dream-Master and @dirtyfargo try this version: https://www.mediafire.com/?7oqsx0x6qb2g7vx

This version is not supported or maintained by the original developers and will be removed immediately upon their request or after my pull request #243 is merged. Should fix #237 while preserving the fix for #194.

mrammy pushed a commit to mrammy/MineTweaker3 that referenced this issue Sep 18, 2015
@Dream-Master
Copy link

@mrammy
Ok i will test this version on my server.

@Dream-Master
Copy link

@mrammy Ok works nice. I think @jaredlll08 will add this too.
Thanks

@jaredlll08
Copy link
Collaborator

Fixed in #243

@ExDomino
Copy link

I still have this issue with the version 3.0.10B on my server. I have to do "/mt reload" in order to players that are currently logged in can see my recipe changes, but when they logout and login again, the changes made by my script are gone.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests