Enigmatica 2: Expert - Extended

Enigmatica 2: Expert - Extended

194k Downloads

prepare SerializationIsBad configs for bad internet connection

ZZZank opened this issue ยท 18 comments

commented

Currently SerializationIsBad will download latest configs from here , which works fine in most cases.
But if the internet connection is bad, and no pre-made configs for SerializationIsBad, a hard crash will happen:
latest.log
(see the last several lines)

So I would recommend to provide a pre-made config for SerializationIsBad, so that when the internet is down, the game can still launch using provided fallback config. The tweaked serializationisbad.json may look like this:
serializationisbad.txt
(in .txt format because GitHub doesn't allow me to upload .json)

commented

Wait, is this means, i cant provide predefined configs since it would make them unable to update automatically?

No. The predefined config is only used as a fallback. SerializationIsBad will first try to get config from remoteConfigUrl , and will not use predefined config unless it cannot access remoteConfigUrl .

commented

How i could generate this file myself?

commented

How i could generate this file myself?

I don't think this file can be generated, in fact, I get this file by manually downloading config from here and merging it with current configs.
the local config file only have 2 more entries compared with online one, so merging can be done by simply adding these 2 missing entries to the downloaded .json file.

commented

Can you promise that using JSON file you provided is safe and won't cause any issues?

commented

Of course I can promise, because its content is copied directly from Github repo of SerializationIsBad.

commented

Given that configs of SerializationIsBad (here) are still receiving update, I will provide my way of making pre-made configs for SerializationIsBad here, in case anyone needs it for creating/updating pre-made configs.

  • download official configs, links above.
  • open it, insert two lines at the second line, the inserted lines are:
  "useRemoteConfig": true,
  "remoteConfigUrl": "https://raw.githubusercontent.com/dogboy21/serializationisbad/master/serializationisbad.json",

The first line tells SerializationIsBad to try to fetch newer configs whenever possible.
The second line tells SerializationIsBad where to fetch configs, in this case SerializationIsBad will try to fetch configs from official sources.

  • remember to save it, and done.

notes: the first few lines should look like this, otherwise you may be inserting lines at a wrong location:

{
  "useRemoteConfig": true,
  "remoteConfigUrl": "https://raw.githubusercontent.com/dogboy21/serializationisbad/master/serializationisbad.json",
  "executeBlocking": true,
commented

Wait, is this means, i cant provide predefined configs since it would make them unable to update automatically?

commented

Should I make a PR now? Or you can try to make a pre-made config yourself

commented

Ok, got it! I was just wondering why you didn't made PR ๐Ÿ˜…

commented

PR would be great, since I don't understand completely what I should do rather than just replace config file.

commented

PR is at #272

commented

I dont know if this is related, but i updates my config\serializationisbad.json with the file you provided on first message and game stop loading. Its crashed before window appear with this message:

RuntimeException: Error processing net.minecraft.potion.PotionEffect - no holder field declared (is the code somehow obfuscated?)
	at net.minecraftforge.fml.common.asm.transformers.FieldRedirectTransformer.transform(FieldRedirectTransformer.java:75) ~[forge-1.12.2-14.23.5.2860-universal.jar:?]
	at org.spongepowered.asm.service.mojang.LegacyTransformerHandle.transformClassBytes(LegacyTransformerHandle.java:80) ~[!mixinbooter-8.6.jar:?]
[main/ERROR] [LaunchWrapper]: Unable to launch
java.lang.reflect.InvocationTargetException: null
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_352]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_352]

I tried to reload game and same happens. Then i revert serializationisbad.json and it launched as normal.
Maybe this is just a coincedence.

commented

That's strange. my game can boot normally, and the content of the file is verified to be exactly the same as official sources

commented

This seem be a mixin problem, related mods can be mixinbooter/bogosorter/randompatches
Unfortunately I didn't find any content (in serialzationisbad.json) that relates to the missing classes, and I cannot replicate this problem either.

commented

And this doesn't seem to be the full crash report, are the game outputing full version of crash report? or latest.log?

commented

Full log:
debug-1.log

commented

I just noticed that UTIncurablePotionsMixin is injecting mixin bafore crashing. The prefix UT only has one corresponding mod in modlist: UniversialTweak . Could this mod be the troublemaker?

commented

Then, its probably just random problem.