IzzelAliz / Arclight

A Bukkit(1.19/1.20) server implementation in modding environment using Mixin. ⚡
GNU General Public License v3.0
1.43k stars 212 forks source link

错误:Cannot serialize CustomWorldChunkManager #1294

Open 3269199948 opened 3 months ago

3269199948 commented 3 months ago

请确认您已完成以下几件事

Arclight 版本

arclight-neoforge-1.20.4-1.0.4-SNAPSHOT

Java 版本 | 操作系统

java17,win11

相关 Mod/插件 的名称及版本

worldedit-bukkit-7.3.0,worldguard-bukkit-7.0.9-dist,plotsquared-bukkit-7.3.5-Premium mod无

错误描述

复现步骤

经过了多次测试,似乎是PlotSquared的问题,用了就会崩溃

报错信息

crash-2024-03-28_16.41.59-server.txt

服务器崩溃后出现: [21:27:37 INFO]: Saving chunks for level 'ServerLevel[plotworld2]'/minecraft:plotworld2 [21:27:38 ERROR]: Exception stopping the server java.lang.UnsupportedOperationException: Cannot serialize CustomWorldChunkManager at org.bukkit.craftbukkit.v1_20_R3.generator.CustomWorldChunkManager.codec(CustomWorldChunkManager.java:43) ~[arclight-1.20.4-1.0.4-SNAPSHOT-e47fe80.jar%23182!/:arclight-1.20.4-1.0.4-SNAPSHOT-e47fe80] at com.mojang.serialization.Codec.lambda$dispatchStable$8(Codec.java:333) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.KeyDispatchCodec.getCodec(KeyDispatchCodec.java:123) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.KeyDispatchCodec.lambda$new$0(KeyDispatchCodec.java:46) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.KeyDispatchCodec.encode(KeyDispatchCodec.java:79) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:222) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.KeyDispatchCodec.encode(KeyDispatchCodec.java:92) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:223) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.BaseMapCodec.encode(BaseMapCodec.java:52) ~[datafixerupper-6.0.8.jar%23138!/:?] at net.neoforged.neoforge.common.LenientUnboundedMapCodec.encode(LenientUnboundedMapCodec.java:69) ~[neoforge-20.4.196-universal.jar%23185!/:?] at net.neoforged.neoforge.common.LenientUnboundedMapCodec.encode(LenientUnboundedMapCodec.java:24) ~[neoforge-20.4.196-universal.jar%23185!/:?] at com.mojang.serialization.Encoder$1.encode(Encoder.java:25) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Codec$2.encode(Codec.java:76) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.FieldEncoder.encode(FieldEncoder.java:24) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$1.encode(MapCodec.java:39) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$2.encode(RecordCodecBuilder.java:163) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$Instance$4.encode(RecordCodecBuilder.java:223) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.codecs.RecordCodecBuilder$2.encode(RecordCodecBuilder.java:112) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.MapCodec$MapCodecCodec.encode(MapCodec.java:96) ~[datafixerupper-6.0.8.jar%23138!/:?] at com.mojang.serialization.Encoder.encodeStart(Encoder.java:14) ~[datafixerupper-6.0.8.jar%23138!/:?] at net.minecraft.world.level.levelgen.WorldGenSettings.encode(WorldGenSettings.java:20) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.world.level.storage.PrimaryLevelData.redirect$bhm000$arclight$customDim(PrimaryLevelDataMixin.java:731) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.world.level.storage.PrimaryLevelData.setTagData(PrimaryLevelDataMixin.java:245) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.world.level.storage.PrimaryLevelData.createTag(PrimaryLevelDataMixin.java:226) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.world.level.storage.LevelStorageSource$LevelStorageAccess.saveDataTag(LevelStorageSource_LevelStorageAccessMixin.java:520) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.level.ServerLevel.handler$zcj000$arclight$saveLevelDat(ServerLevelMixin.java:2138) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.level.ServerLevel.save(ServerLevelMixin.java:807) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.MinecraftServer.saveAllChunks(MinecraftServerMixin_NeoForge.java:544) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.MinecraftServer.stopServer(MinecraftServerMixin_NeoForge.java:615) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.dedicated.DedicatedServer.stopServer(DedicatedServerMixin_NeoForge.java:550) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.MinecraftServer.runServer(MinecraftServerMixin_NeoForge.java:2255) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at net.minecraft.server.MinecraftServer.lambda$spin$2(MinecraftServerMixin_NeoForge.java:255) ~[server-1.20.4-20231207.154220-srg.jar%23184!/:?] at java.lang.Thread.run(Thread.java:833) ~[?:?] [21:27:43 INFO] [Arclight]: 20 threads not shutting down correctly, force exiting

复现用压缩包下载链接(可选)

No response

TzunamiDev commented 2 months ago

I'm glad someone else already reported this. I was going crazy removing mods thinking that was the problem.

I want to report that the same thing is also happening to me in "arclight-forge-1.20.1-1.0.5 (Trials/1.0.5)" with the PlotSquared plugin compiled from the source code on github.

I have even removed all the mods, deleted the .arclight folder and the result is the same. This problem only occurs when installing the PlotSquared plugin and doing a /save-all or waiting for the server to automatically do a save to later crash.

Please fix this if possible, I would really like to use PlotSquared.

TzunamiDev commented 2 months ago

https://github.com/IzzelAliz/Arclight/issues/1299#issuecomment-2051973023

https://github.com/IzzelAliz/Arclight/issues/1299#issuecomment-2052542907

This might help to use PlotSquared in arclight 1.20+ while official steps are taken for "PlotSquared" + "Multiverse core"