chiyadev / grassdocker Goto Github PK
View Code? Open in Web Editor NEWBetter Docker image for Grasscutter
License: MIT License
Better Docker image for Grasscutter
License: MIT License
Hi chiyadev,
I really like your solution as it follows a good practice of docker. So I chosed to run the server first time using your solution, but I got these errors and I am not sure is that normal? should I worry about it?
[13:18:24] [ERROR] Unable to load en.json
[13:18:24] [INFO] Starting Grasscutter...
[13:18:24] [INFO] Loaded 1 FetterCharacterCardDatas.
[13:18:24] [ERROR] Error loading resource file: [AvatarTalentExcelConfigData.json]
java.lang.NullPointerException: Cannot read the array length because the return value of "emu.grasscutter.data.def.AvatarTalentData.getAddProps()" is null
at emu.grasscutter.data.def.AvatarTalentData.onLoad(AvatarTalentData.java:60)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [INFO] Loaded 1 AvatarSkillDatas.
[13:18:24] [INFO] Loaded 1 FetterDatas.
[13:18:24] [INFO] Loaded 1 AvatarSkillDepotDatas.
[13:18:24] [INFO] Loaded 1 MonsterDescribeDatas.
[13:18:24] [INFO] Loaded 1 RewardPreviewDatas.
[13:18:24] [INFO] Loaded 1 AvatarCostumeDatas.
[13:18:24] [INFO] Loaded 1 DungeonDatas.
[13:18:24] [INFO] Loaded 1 AvatarFetterLevelDatas.
[13:18:24] [INFO] Loaded 1 DailyDungeonDatas.
[13:18:24] [INFO] Loaded 1 NpcDatas.
[13:18:24] [INFO] Loaded 66 ReliquaryMainPropDatas.
[13:18:24] [ERROR] Error loading resource file: [MonsterCurveExcelConfigData.json]
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.fromJson(Gson.java:932)
at com.google.gson.Gson.fromJson(Gson.java:897)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:124)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:349)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:172)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
... 10 common frames omitted
[13:18:24] [INFO] Loaded 1 SceneDatas.
[13:18:24] [INFO] Loaded 1 AvatarLevelDatas.
[13:18:24] [INFO] Loaded 1 RewardDatas.
[13:18:24] [INFO] Loaded 1 ItemDatas.
[13:18:24] [ERROR] Error loading resource file: [AvatarPromoteExcelConfigData.json]
java.lang.NullPointerException: Cannot read the array length because the return value of "emu.grasscutter.data.def.AvatarPromoteData.getAddProps()" is null
at emu.grasscutter.data.def.AvatarPromoteData.onLoad(AvatarPromoteData.java:56)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [INFO] Loaded 1 WeaponLevelDatas.
[13:18:24] [INFO] Loaded 335 ReliquaryAffixDatas.
[13:18:24] [INFO] Loaded 1 ShopGoodsDatas.
[13:18:24] [ERROR] Error loading resource file: [CombineExcelConfigData.json]
java.lang.NullPointerException: Cannot invoke "java.util.List.stream()" because "this.RandomItems" is null
at emu.grasscutter.data.def.CombineData.onLoad(CombineData.java:45)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [ERROR] Error loading resource file: [WeaponPromoteExcelConfigData.json]
java.lang.NullPointerException: Cannot read the array length because the return value of "emu.grasscutter.data.def.WeaponPromoteData.getAddProps()" is null
at emu.grasscutter.data.def.WeaponPromoteData.onLoad(WeaponPromoteData.java:56)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [INFO] Loaded 1 AvatarFlycloakDatas.
[13:18:24] [INFO] Loaded 1 GadgetDatas.
[13:18:24] [INFO] Loaded 1 ReliquarySetDatas.
[13:18:24] [ERROR] Error loading resource file: [AvatarCurveExcelConfigData.json]
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.fromJson(Gson.java:932)
at com.google.gson.Gson.fromJson(Gson.java:897)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:124)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:349)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:172)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
... 10 common frames omitted
[13:18:24] [ERROR] Error loading resource file: [WeaponCurveExcelConfigData.json]
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:226)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:41)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:82)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:61)
at com.google.gson.Gson.fromJson(Gson.java:932)
at com.google.gson.Gson.fromJson(Gson.java:897)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:124)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
Caused by: java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 5 column 14 path $[0].curveInfos[0]
at com.google.gson.stream.JsonReader.beginArray(JsonReader.java:349)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:172)
at com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(MapTypeAdapterFactory.java:145)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(ReflectiveTypeAdapterFactory.java:131)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:222)
... 10 common frames omitted
[13:18:24] [ERROR] Error loading resource file: [EquipAffixExcelConfigData.json]
java.lang.NullPointerException: Cannot read the array length because the return value of "emu.grasscutter.data.def.EquipAffixData.getAddProps()" is null
at emu.grasscutter.data.def.EquipAffixData.onLoad(EquipAffixData.java:50)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [INFO] Loaded 1 WorldLevelDatas.
[13:18:24] [INFO] Loaded 1 PlayerLevelDatas.
[13:18:24] [ERROR] Error loading resource file: [ReliquaryLevelExcelConfigData.json]
java.lang.NullPointerException: Cannot invoke "java.util.List.iterator()" because "this.AddProps" is null
at emu.grasscutter.data.def.ReliquaryLevelData.onLoad(ReliquaryLevelData.java:50)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [ERROR] Error loading resource file: [ProudSkillExcelConfigData.json]
java.lang.NullPointerException: Cannot invoke "String.length()" because the return value of "emu.grasscutter.data.def.ProudSkillData.getOpenConfig()" is null
at emu.grasscutter.data.def.ProudSkillData.onLoad(ProudSkillData.java:88)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [ERROR] Error loading resource file: [MonsterExcelConfigData.json]
java.lang.NullPointerException: Cannot read the array length because "<local1>" is null
at emu.grasscutter.data.def.MonsterData.onLoad(MonsterData.java:173)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [ERROR] Error loading resource file: [AvatarExcelConfigData.json]
java.lang.NullPointerException: Cannot invoke "java.util.List.get(int)" because the return value of "emu.grasscutter.data.def.RewardData.getRewardItemList()" is null
at emu.grasscutter.data.def.AvatarData.onLoad(AvatarData.java:224)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:128)
at emu.grasscutter.data.ResourceLoader.loadFromResource(ResourceLoader.java:116)
at emu.grasscutter.data.ResourceLoader.loadResources(ResourceLoader.java:106)
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:50)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [ERROR] Error loading abilities
java.lang.NullPointerException: Cannot invoke "emu.grasscutter.data.def.AvatarSkillDepotData.setAbilities(emu.grasscutter.data.custom.AbilityEmbryoEntry)" because the return value of "it.unimi.dsi.fastutil.ints.Int2ObjectMap.get(int)" is null
at emu.grasscutter.data.ResourceLoader.loadAll(ResourceLoader.java:59)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:89)
[13:18:24] [INFO] Cluster created with settings {hosts=[mongo:27017], mode=SINGLE, requiredClusterType=UNKNOWN, serverSelectionTimeout='30000 ms'}
[13:18:24] [INFO] Opened connection [connectionId{localValue:2, serverValue:2}] to mongo:27017
[13:18:24] [INFO] Opened connection [connectionId{localValue:1, serverValue:1}] to mongo:27017
[13:18:24] [INFO] Monitor thread successfully connected to server with description ServerDescription{address=mongo:27017, type=STANDALONE, state=CONNECTED, ok=true, minWireVersion=0, maxWireVersion=13, maxDocumentSize=16777216, logicalSessionTimeoutMinutes=30, roundTripTimeNanos=7611025}
[13:18:24] [INFO] Opened connection [connectionId{localValue:3, serverValue:3}] to mongo:27017
[13:18:24] [INFO] Registered 111 PacketHandlers
[13:18:24] [INFO] Banners successfully loaded.
[13:18:24] [INFO] Shop data successfully loaded.
[13:18:24] [ERROR] Unable to load shop data.
java.lang.NullPointerException: Cannot invoke "java.util.List.stream()" because the return value of "emu.grasscutter.data.def.ShopGoodsData.getCostItems()" is null
at emu.grasscutter.game.shop.ShopInfo.<init>(ShopInfo.java:57)
at emu.grasscutter.game.shop.ShopManager.lambda$loadShop$0(ShopManager.java:98)
at java.base/java.util.HashMap.forEach(HashMap.java:1421)
at emu.grasscutter.game.shop.ShopManager.loadShop(ShopManager.java:94)
at emu.grasscutter.game.shop.ShopManager.load(ShopManager.java:139)
at emu.grasscutter.game.shop.ShopManager.<init>(ShopManager.java:49)
at emu.grasscutter.server.game.GameServer.<init>(GameServer.java:63)
at emu.grasscutter.Grasscutter.main(Grasscutter.java:100)
[13:18:24] [INFO] ShopChest data successfully loaded.
[13:18:24] [INFO] ShopChestBatchUse data successfully loaded.
[13:18:24] [INFO] Using default implementation for ThreadExecutor
[13:18:24] [INFO] Job execution threads will use class loader of thread: main
[13:18:24] [INFO] Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
[13:18:24] [INFO] Quartz Scheduler v.2.3.2 created.
[13:18:24] [INFO] RAMJobStore initialized.
[13:18:24] [INFO] Scheduler meta-data: Quartz Scheduler (v2.3.2) 'DefaultQuartzScheduler' with instanceId 'NON_CLUSTERED'
Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
NOT STARTED.
Currently in standby mode.
Number of jobs executed: 0
Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.
[13:18:24] [INFO] Quartz scheduler 'DefaultQuartzScheduler' initialized from default resource file in Quartz package: 'quartz.properties'
[13:18:24] [INFO] Quartz scheduler version: 2.3.2
[13:18:24] [INFO] Scheduler DefaultQuartzScheduler_$_NON_CLUSTERED started.
[13:18:24] [INFO] Drop data successfully loaded.
[13:18:24] [INFO] Logging initialized @1286ms to org.eclipse.jetty.util.log.Slf4jLog
[13:18:25] [INFO] jetty-9.4.35.v20201120; built: 2020-11-20T21:17:03.964Z; git: bdc54f03a5e0a7e280fab27f55c3c75ee8da89fb; jvm 18.0.1.1+2-6
[13:18:25] [INFO] x509=X509@5f61e002(keystore_entry,h=[mihoyo.com, yuanshen.com, hoyoverse.com],w=[mihoyo.com, yuanshen.com, hoyoverse.com]) for Server@334540a0[provider=null,keyStore=file:///gc/keystore.p12,trustStore=null]
[13:18:25] [INFO] Started ServerConnector@165614f5{SSL, (ssl, http/1.1)}{0.0.0.0:443}
[13:18:25] [INFO] Started @1429ms
[13:18:25] [INFO] Server listening on http://localhost:443
[13:18:25] [INFO] [Dispatch] Dispatch server started on port 443
[13:18:25] [INFO] Done! For help, type "help"
>....
[13:18:25] [INFO] Grasscutter is FREE software. If you have paid for this, you may have been scammed. Homepage: https://github.com/Grasscutters/Grasscutter
>....
[13:18:25] [INFO] Game Server started on port 22102
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.