ServerCore

ServerCore

384k Downloads

Curseforge error

Crystaxu opened this issue · 16 comments

commented

Describe the bug
Curseforge error on startup

Reproduce
Download latest "Cisco's fantasy medieval RPG Ultimate" mod and start the game
or make any new profile on curseforge with only servercore mod

Expected behavior
i know that there is a ticket 3 days ago with the same problem but the fix doesnt work for me for some reason.
My windows is turkish which uses the letter "İ" and it even shows up in the crash log as "CHUNK_TİCK_DİSTANCE", the thing is when i go to change the config file i only use proper letters, i dont know where and when it changed the "I" to an "İ"

Versions -Latest is not a version!
ServerCore: 1.3.5+1.19.2
Minecraft: 1.19.2

Mod incompatibilities
I tried with no other mods and i have the same issues
otherwise all mods from "Cisco's fantasy medieval RPG Ultimate"

heres the crash log. (its the ciscos modpack startup error)
crash-2024-07-23_01.13.26-fml.txt

Also on the Version with only Servercore installed the config file was empty so i couldnt change it

commented

I tested it recently by forcing turkish locale in which case uppercasing all the letters manually seemed to work. Purely out of curiosity does this exact same crash still occur if you set it to setting_order = []? If it does your config is probably incorrect.

I don't know about blank config files, it should generate it with everything in it the first time it starts up. If the file is there but empty you should delete it so it can regenerate it.

Also yeah, this is pretty much a duplicate of #109, which is still open. Interesting that (multiple) reports for this issue only started showing up recently, as 1.19.2 is becoming fairly outdated by now and I don't really backport modern versions of the mod to it anymore.

commented

I tested it recently by forcing turkish locale in which case uppercasing all the letters manually seemed to work. Purely out of curiosity does this exact same crash still occur if you set it to setting_order = []? If it does your config is probably incorrect.

I don't know about blank config files, it should generate it with everything in it the first time it starts up. If the file is there but empty you should delete it so it can regenerate it.

Also yeah, this is pretty much a duplicate of #109, which is still open. Interesting that (multiple) reports for this issue only started showing up recently, as 1.19.2 is becoming fairly outdated by now and I don't really backport modern versions of the mod to it anymore.

I trıed setting it to setting_order = [] and i got the same error, could it be that somehow curseforge is using an alternate config file or maybe doesnt read changes for some reason.

heres the file just incase but i think its the same?
crash-2024-07-23_01.56.25-fml.txt

commented

That's the same, yeah. Did you check your regular log file for any warns/errors from servercore during startup? It can load values as default if the value in the config file is invalid. If there aren't any then idk, maybe there's some other folder its fetching the config from?

commented

after the last comment i checked the curseforges own logs and found this which looked interesting, mostly this-- [ServerCore] Invalid config entry found! sett�ng_order = [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance] (Reverting back to default: [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance])--

[01:56:16] [modloading-worker-0/ERROR]:[ServerCore] Invalid config entry found! sett�ng_order = [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance] (Reverting back to default: [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance])[01:56:16] [modloading-worker-0/ERROR]:Failed to create mod instance. ModID: servercore, class me.wesley1808.servercore.forge.common.ServerCoreForge
java.lang.IllegalArgumentException: No enum constant me.wesley1808.servercore.common.dynamic.DynamicSetting.CHUNK_T�CK_D�STANCE
at java.lang.Enum.valueOf(Unknown Source) ~[?:?]
at me.wesley1808.servercore.common.dynamic.DynamicSetting.valueOf(DynamicSetting.java:13) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.dynamic.DynamicSetting.loadCustomOrder(DynamicSetting.java:72) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.config.Config.loadChanges(Config.java:73) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.config.Config.load(Config.java:50) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.ServerCore.initialize(ServerCore.java:14) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.forge.common.ServerCoreForge.(ServerCoreForge.java:17) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:70) ~[javafmllanguage-1.19.2-43.3.5.jar%23695!/:?]
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:121) ~[fmlcore-1.19.2-43.3.5.jar%23694!/:?]
at java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source) [?:?]
at java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) [?:?]

commented

Could you send over your (modified) config file?

commented

here it is after i made the last change (it says i cant upload .toml files here so i converted it to txt just so you can see it)
servercore.txt

commented

im just guessing but could it be that it always uses the default config which has the letter "İ" in it
it would also explain the empty config in the modpack with only servercore

commented

Default config used lowercase letters in this version which converts to İ when uppercased with turkish locale. Uppercasing is needed to get the enum constant its referencing in case its specified in the config as lowercase. This is no longer the case in modern versions of the mod, but basically I forgot to specify a specific locale and thats why its breaking in certain languages.

I'm also not sure why it says that that config entry is invalid. It seems correct, but it also doesn't seem to match the empty list from setting_order = [].

commented

So is there any way i could fix it?

commented

Could you try with this as config file? (replace .txt with .toml)
servercore.txt

commented

it has the same error of invalid config

[02:21:11] [modloading-worker-0/ERROR]:[ServerCore] Invalid config entry found! sett�ng_order = [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance] (Reverting back to default: [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance])[02:21:11] [modloading-worker-0/ERROR]:Failed to create mod instance. ModID: servercore, class me.wesley1808.servercore.forge.common.ServerCoreForge
java.lang.IllegalArgumentException: No enum constant me.wesley1808.servercore.common.dynamic.DynamicSetting.CHUNK_T�CK_D�STANCE
at java.lang.Enum.valueOf(Unknown Source) ~[?:?]
at me.wesley1808.servercore.common.dynamic.DynamicSetting.valueOf(DynamicSetting.java:13) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.dynamic.DynamicSetting.loadCustomOrder(DynamicSetting.java:72) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.config.Config.loadChanges(Config.java:73) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.config.Config.load(Config.java:50) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.common.ServerCore.initialize(ServerCore.java:14) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at me.wesley1808.servercore.forge.common.ServerCoreForge.(ServerCoreForge.java:17) ~[servercore-forge-1.3.5+1.19.2.jar%23634!/:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?]
at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstanceWithCaller(Unknown Source) ~[?:?]
at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:?]
at net.minecraftforge.fml.javafmlmod.FMLModContainer.constructMod(FMLModContainer.java:70) ~[javafmllanguage-1.19.2-43.3.5.jar%23695!/:?]
at net.minecraftforge.fml.ModContainer.lambda$buildTransitionHandler$10(ModContainer.java:121) ~[fmlcore-1.19.2-43.3.5.jar%23694!/:?]
at java.util.concurrent.CompletableFuture$AsyncRun.run(Unknown Source) [?:?]
at java.util.concurrent.CompletableFuture$AsyncRun.exec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinTask.doExec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool.scan(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinPool.runWorker(Unknown Source) [?:?]
at java.util.concurrent.ForkJoinWorkerThread.run(Unknown Source) [?:?]

commented

if i changed my windows language would it work maybe?

commented

LMAO it worked after i changed my windows to english fully, i guess this works as a quickfix for someone with the same problem as long as they know english

commented

Something is definitely wrong here, because if its actually using the config you're providing it it should be saying: [ServerCore] Invalid config entry found! setting_order = [CHUNK_TICK_DISTANCE, MOBCAP_MULTIPLIER, SIMULATION_DISTANCE, VIEW_DISTANCE] (Reverting back to default: [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance]), but it isn't. I don't know if changing the system language would work, it might - but its definitely not something I'd recommend people to do just to make a mod work.

I might release a hotfix for this problem without any other changes, but in your case I'm fairly certain something is still messing with your config.

Yeah you cant exactly tell people to change their windows language but in my case i could benefit from it because i can now follow english windows fixes easier.
regardless thank you for helping my problem because otherwise i wouldnt even find this fix.

commented

Something is definitely wrong here, because if its actually using the config you're providing it it should be saying:
[ServerCore] Invalid config entry found! setting_order = [CHUNK_TICK_DISTANCE, MOBCAP_MULTIPLIER, SIMULATION_DISTANCE, VIEW_DISTANCE] (Reverting back to default: [chunk_tick_distance, mobcap_multiplier, simulation_distance, view_distance]), but it isn't. I don't know if changing the system language would work, it might - but its definitely not something I'd recommend people to do just to make a mod work.

I might release a hotfix for this problem without any other changes, but in your case I'm fairly certain something is still messing with your config.

commented

The version with the fix for this issue is now released on curseforge and modrinth as 1.3.6+1.19.2