Wesley1808 / ServerCore

A mod that aims to optimize the minecraft server.
75 stars 11 forks source link

Curseforge error #110

Closed Crystaxu closed 2 weeks ago

Crystaxu commented 1 month ago

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

Wesley1808 commented 1 month ago

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 https://github.com/Wesley1808/ServerCore/issues/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.

Crystaxu commented 1 month ago

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

Wesley1808 commented 1 month ago

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?

Crystaxu commented 1 month ago

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) [?:?]

Wesley1808 commented 1 month ago

Could you send over your (modified) config file?

Crystaxu commented 1 month ago

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

Crystaxu commented 1 month ago

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

Wesley1808 commented 1 month ago

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 = [].

Crystaxu commented 1 month ago

So is there any way i could fix it?

Wesley1808 commented 1 month ago

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

Crystaxu commented 1 month ago

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) [?:?]

Crystaxu commented 1 month ago

if i changed my windows language would it work maybe?

Crystaxu commented 1 month ago

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

Wesley1808 commented 1 month ago

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.

Crystaxu commented 1 month ago

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.

Wesley1808 commented 2 weeks ago

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