prepare SerializationIsBad configs for bad internet connection
ZZZank opened this issue ยท 18 comments
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)
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
.
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.
Can you promise that using JSON file you provided is safe and won't cause any issues?
Of course I can promise, because its content is copied directly from Github repo of SerializationIsBad.
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,
Wait, is this means, i cant provide predefined configs since it would make them unable to update automatically?
PR would be great, since I don't understand completely what I should do rather than just replace config file.
PR is at #272
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.
That's strange. my game can boot normally, and the content of the file is verified to be exactly the same as official sources
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.
And this doesn't seem to be the full crash report, are the game outputing full version of crash report? or latest.log?
Full log:
debug-1.log
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?