CaffeineMC / lithium-fabric

A Fabric mod designed to improve the general performance of Minecraft without breaking things
GNU Lesser General Public License v3.0
1.94k stars 190 forks source link

[NeoForge][1.21.3] Error at start on server side #592

Open KasaiJo opened 4 days ago

KasaiJo commented 4 days ago

Instructions

At server start :

[10:37:21.221] [main/ERROR] [common.asm.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER 

In view of the error, it seems that the mod launche as if it were client-side (not sure about this). Note:


Version Information

Expected Behavior

No error at start

Reproduction Steps

  1. Fresh neoforge install
  2. First server start
  3. Stop server
  4. Copy mod on "mods" folder
  5. Start server
  6. -> Error on log

Other Information

Full start log:

DAEMON
 Starting server
DAEMON
 Starting container
[10:53:29.339] [main/INFO] [Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgeserver, --fml.neoForgeVersion, 21.3.40-beta, --fml.fmlVersion, 5.0.1, --fml.mcVersion, 1.21.3, --fml.neoFormVersion, 20241023.131943, nogui] 
[10:53:29.341] [main/INFO] [Launcher/MODLAUNCHER]: JVM identified as Eclipse Adoptium OpenJDK 64-Bit Server VM 21.0.5+11-LTS 
[10:53:29.343] [main/INFO] [Launcher/MODLAUNCHER]: ModLauncher 11.0.4+main.d2e20e43 starting: java version 21.0.5 by Eclipse Adoptium; OS Linux arch amd64 version 6.1.0-26-amd64 
[10:53:29.448] [main/INFO] [loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forgeserver 
[10:53:29.494] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.7 Source=union:/pufferpanel/libraries/net/fabricmc/sponge-mixin/0.15.2+mixin.0.8.7/sponge-mixin-0.15.2+mixin.0.8.7.jar%2385!/ Service=ModLauncher Env=SERVER 
[10:53:29.763] [main/INFO] [loading.moddiscovery.ModDiscoverer/SCAN]: Found mod file "server-1.21.3-20241023.131943-srg.jar" [locator: production server provider +net.neoforged:neoforge:21.3.40-beta:server] 
[10:53:29.777] [main/INFO] [loading.moddiscovery.ModDiscoverer/SCAN]: Found mod file "neoforge-21.3.40-beta-universal.jar" [locator: PathBasedLocator[name=neoforge, paths=[libraries/net/neoforged/neoforge/21.3.40-beta/neoforge-21.3.40-beta-universal.jar]], reader: mod manifest] 
[10:53:29.784] [main/INFO] [loading.moddiscovery.ModDiscoverer/SCAN]: Found mod file "lithium-neoforge-0.14.2-snapshot+mc1.21.3-build.91.jar" [locator: {mods folder locator at /pufferpanel/mods}, reader: mod manifest] 
[10:53:29.872] [main/INFO] [loading.moddiscovery.locators.JarInJarDependencyLocator/]: Found 2 dependencies adding them to mods collection 
[10:53:29.873] [main/INFO] [loading.moddiscovery.ModDiscoverer/SCAN]: Found gamelibrary file "mixinextras-neoforge-0.4.1.jar" [parent: neoforge-21.3.40-beta-universal.jar, locator: jarinjar, reader: mod manifest] 
[10:53:29.873] [main/INFO] [loading.moddiscovery.ModDiscoverer/SCAN]: Found library file "net.neoforged.neoforge-coremods-21.3.40-beta.jar" [parent: neoforge-21.3.40-beta-universal.jar, locator: jarinjar, reader: mod manifest] 
[10:53:29.875] [main/INFO] [loading.moddiscovery.ModDiscoverer/]: 
     Mod List:
        Name Version (Mod Id)

        Lithium 0.14.2-snapshot+mc1.21.3-build.91 (lithium)
        Minecraft 1.21.3 (minecraft)
        NeoForge 21.3.40-beta (neoforge) 
[10:53:30.191] [main/INFO] [mixin/]: Compatibility level set to JAVA_21 
[10:53:30.205] [main/INFO] [LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgeserver' with arguments [nogui] 
[10:53:30.254] [main/INFO] [LithiumConfig/]: Option 'mixin.experimental.entity.block_caching.suffocation' requires 'mixin.util.block_tracking=true' but found 'false'. Setting 'mixin.experimental.entity.block_caching.suffocation=false'. 
[10:53:30.254] [main/INFO] [LithiumConfig/]: Option 'mixin.experimental.entity.block_caching.block_support' requires 'mixin.util.block_tracking=true' but found 'false'. Setting 'mixin.experimental.entity.block_caching.block_support=false'. 
[10:53:30.254] [main/INFO] [LithiumConfig/]: Option 'mixin.experimental.entity.block_caching.block_touching' requires 'mixin.util.block_tracking=true' but found 'false'. Setting 'mixin.experimental.entity.block_caching.block_touching=false'. 
[10:53:30.255] [main/INFO] [LithiumConfig/]: Option 'mixin.experimental.entity.block_caching' requires 'mixin.util.block_tracking=true' but found 'false'. Setting 'mixin.experimental.entity.block_caching=false'. 
[10:53:30.255] [main/INFO] [Lithium/]: Loaded configuration file for Lithium: 136 options available, 0 override(s) found 
[10:53:30.260] [main/WARN] [mixin/]: Reference map 'lithium-neoforge.refmap.json' for lithium-neoforge.mixins.json could not be read. If this is a development environment you can ignore this message 

|
v
[10:53:30.742] [main/ERROR] [common.asm.RuntimeDistCleaner/DISTXFORM]: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER 

[10:53:30.750] [main/WARN] [mixin/]: Error loading class: net/minecraft/client/Minecraft (java.lang.RuntimeException: Attempted to load class net/minecraft/client/Minecraft for invalid dist DEDICATED_SERVER) 
[10:53:30.750] [main/WARN] [mixin/]: @Mixin target net.minecraft.client.Minecraft was not found lithium-neoforge.mixins.json:startup.MinecraftMixin from mod lithium 
[10:53:30] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[10:53:36] [modloading-worker-0/INFO] [ne.ne.ne.co.NeoForgeMod/NEOFORGE-MOD]: NeoForge mod loading, version 21.3.40-beta, for MC 1.21.3
[10:53:36] [main/INFO] [mojang/YggdrasilAuthenticationService]: Environment: Environment[sessionHost=https://sessionserver.mojang.com, servicesHost=https://api.minecraftservices.com, name=PROD]
[10:53:36] [main/WARN] [minecraft/VanillaPackResourcesBuilder]: Assets URL 'union:/pufferpanel/libraries/net/minecraft/server/1.21.3-20241023.131943/server-1.21.3-20241023.131943-srg.jar%23142!/assets/.mcassetsroot' uses unexpected schema
[10:53:36] [main/WARN] [minecraft/VanillaPackResourcesBuilder]: Assets URL 'union:/pufferpanel/libraries/net/minecraft/server/1.21.3-20241023.131943/server-1.21.3-20241023.131943-srg.jar%23142!/data/.mcassetsroot' uses unexpected schema
[10:53:37] [main/INFO] [minecraft/RecipeManager]: Loaded 1337 recipes
[10:53:37] [main/INFO] [minecraft/AdvancementTree]: Loaded 1448 advancements
[10:53:38] [Server thread/INFO] [minecraft/DedicatedServer]: Starting minecraft server version 1.21.3
[10:53:38] [Server thread/INFO] [minecraft/DedicatedServer]: Loading properties
[10:53:38] [Server thread/INFO] [minecraft/DedicatedServer]: Default game type: SURVIVAL
[10:53:38] [Server thread/INFO] [minecraft/MinecraftServer]: Generating keypair
[10:53:38] [Server thread/INFO] [minecraft/DedicatedServer]: Starting Minecraft server on 0.0.0.0:2565
[10:53:38] [Server thread/INFO] [minecraft/ServerConnectionListener]: Using epoll channel type
[10:53:38] [Server thread/INFO] [minecraft/DedicatedServer]: Preparing level "world"
[10:53:38] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing start region for dimension minecraft:overworld
[10:53:39] [Worker-Main-4/INFO] [minecraft/LoggerChunkProgressListener]: Preparing spawn area: 0%
[10:53:39] [Worker-Main-4/INFO] [minecraft/LoggerChunkProgressListener]: Preparing spawn area: 0%
[10:53:39] [Worker-Main-4/INFO] [minecraft/LoggerChunkProgressListener]: Preparing spawn area: 0%
[10:53:39] [Server thread/INFO] [minecraft/LoggerChunkProgressListener]: Time elapsed: 1155 ms
[10:53:39] [Server thread/INFO] [minecraft/DedicatedServer]: Done (1.531s)! For help, type "help"
[10:53:39] [LanServerPinger #1/WARN] [minecraft/LanServerPinger]: LanServerPinger: Network is unreachable
[10:53:39] [Server thread/INFO] [ne.ne.ne.se.pe.PermissionAPI/]: Successfully initialized permission handler neoforge:default_handler
Gaming32 commented 4 days ago

Client mixins should probably go under the "client" array in the mixins.json. Though this causes no worse than a warning, it should still be fixed.

2No2Name commented 1 day ago

Moved it to client only, but it is not yet clear whether an identitcal mixin for the server side is needed. The code was adapted from sodium, as sodium seemed to have a config loading issue on neoforge