DreamVoid / Chat2QQ

适用于Minecraft服务端的QQ群聊天插件
GNU Affero General Public License v3.0
44 stars 9 forks source link

部分玩家服务器内聊天信息不同步 #26

Closed Conquerski closed 2 years ago

Conquerski commented 2 years ago

问题描述

部分玩家服务器内聊天信息不同步至群里 image

复现方法

  1. 取消前缀聊天
  2. 让多个人在服务器内发送信息

版本类型

服务器日志

[21:43:32 INFO]: [MiraiMC] 登录新的机器人账号: 1747534965, 协议: ANDROID_PHONE
[21:43:33 INFO]: [MiraiMC] Server list: msfwifi.3g.qq.com:8080, 49.7.253.141:80, 49.7.253.65:443, 113.96.12.217:8080, 117.62.242.81:8080, 114.221.148.49:8080, 42.81.172.215:443, 58.212.179.125:80, 113.96.12.27:14000, 49.7.253.141:8080.
[21:43:34 WARN]: java.security.NoSuchProviderException: JCE cannot authenticate the provider BC
[21:43:34 WARN]:        at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:131)
[21:43:34 WARN]:        at java.base/javax.crypto.KeyAgreement.getInstance(KeyAgreement.java:240)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDH$Companion.calculateShareKey(ECDHJvmDesktop.kt:89)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDH.lambda-3$testECDH(ECDHJvmDesktop.kt:49)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDH.<clinit>(ECDHJvmDesktop.kt:61)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDHKt.adjustToPublicKey(ECDH.kt:141)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDHKt.adjustToPublicKey(ECDH.kt:136)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey.<init>(ECDH.kt:125)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey$$serializer.deserialize(ECDH.kt:122)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.crypto.ECDHInitialPublicKey$$serializer.deserialize(ECDH.kt:122)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:224)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.serialization.protobuf.internal.ProtobufTaggedDecoder.decodeSerializableElement(ProtobufTaggedDecoder.kt:82)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.AccountSecretsImpl$$serializer.deserialize(AccountSecretsManager.kt:80)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.AccountSecretsImpl$$serializer.deserialize(AccountSecretsManager.kt:80)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:224)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.serialization.protobuf.internal.ProtobufDecoder.decodeSerializableValue(ProtobufDecoding.kt:214)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.serialization.protobuf.ProtoBuf.decodeFromByteArray(ProtoBuf.kt:137)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils__UtilsKt.loadAs(utils.kt:168)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils.loadAs(utils.kt:1)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils__UtilsKt.loadAs$default(utils.kt:163)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.io.serialization.SerializationUtils.loadAs$default(utils.kt:1)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.FileCacheAccountSecretsManager.getSecretsImpl(AccountSecretsManager.kt:198)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.FileCacheAccountSecretsManager.getSecrets(AccountSecretsManager.kt:192)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.CombinedAccountSecretsManager.getSecrets(AccountSecretsManager.kt:240)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.AccountSecretsManagerKt.getSecretsOrCreate(AccountSecretsManager.kt:152)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.createClient(BotClientHolder.kt:36)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.access$createClient(BotClientHolder.kt:24)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl$client$2.invoke(BotClientHolder.kt:28)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl$client$2.invoke(BotClientHolder.kt:28)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.utils.LateinitMutableProperty.getValue(LateinitMutableProperty.kt:38)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.BotClientHolderImpl.getClient(BotClientHolder.kt:28)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.SsoProcessorImpl.getClient(SsoProcessor.kt:97)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.SsoProcessorImpl.login(SsoProcessor.kt:111)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.impl.netty.NettyNetworkHandler$StateConnecting$1.invokeSuspend(NettyNetworkHandler.kt:257)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
[21:43:34 WARN]:        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)
[21:43:34 WARN]: Caused by: java.util.jar.JarException: The JCE Provider file:/C:/Users/Administrator/Desktop/server/_/plugins/MiraiMC/MiraiBot/libs/mirai-core-all-2.10.0.jar is not signed.
[21:43:34 WARN]:        at java.base/javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:464)
[21:43:34 WARN]:        at java.base/javax.crypto.JarVerifier.verifyJars(JarVerifier.java:317)
[21:43:34 WARN]:        at java.base/javax.crypto.JarVerifier.verify(JarVerifier.java:260)
[21:43:34 WARN]:        at java.base/javax.crypto.ProviderVerifier.verify(ProviderVerifier.java:130)
[21:43:34 WARN]:        at java.base/javax.crypto.JceSecurity.verifyProvider(JceSecurity.java:190)
[21:43:34 WARN]:        at java.base/javax.crypto.JceSecurity.getVerificationResult(JceSecurity.java:218)
[21:43:34 WARN]:        at java.base/javax.crypto.JceSecurity.getInstance(JceSecurity.java:128)
[21:43:34 WARN]:        ... 39 more
[21:43:34 INFO]: [MiraiMC] Loaded account secrets from local cache.
[21:43:34 INFO]: [MiraiMC] ECDH key is invalid, start to fetch ecdh public key from server.
[21:43:34 INFO]: [MiraiMC] Successfully fetched ecdh public key from server.
[21:43:34 INFO]: [MiraiMC] Saved account secrets to local cache for fast login.
[21:43:34 INFO]: [MiraiMC] Login successful.
[21:43:34 INFO]: [MiraiMC] Server time updated, serverTime: 1643895814, diff: 0ms=0.0s
[21:43:34 INFO]: [MiraiMC] Syncing friend message history...
[21:43:34 INFO]: [MiraiMC] Start loading stranger list...
[21:43:34 INFO]: [MiraiMC] Start loading friend list...
[21:43:34 INFO]: [MiraiMC] No OtherClient online.
[21:43:34 INFO]: [MiraiMC] Successfully loaded stranger list: 0 in total
[21:43:34 INFO]: [MiraiMC] Start loading group list...
[21:43:34 INFO]: [MiraiMC] Syncing friend message history: Success.
[21:43:35 INFO]: [MiraiMC] Successfully loaded friend list: 3 in total
[21:43:35 INFO]: [MiraiMC] Successfully loaded group list: 1 in total.
2022-02-03 21:43:35,428 DefaultDispatcher-worker-2 ERROR An exception occurred processing Appender NekoMaid java.util.NoSuchElementException
        at java.base/java.util.ArrayDeque.removeFirst(ArrayDeque.java:362)
        at java.base/java.util.ArrayDeque.remove(ArrayDeque.java:523)
        at com.google.common.collect.EvictingQueue.add(EvictingQueue.java:112)
        at NekoMaid.jar//cn.apisium.nekomaid.builtin.Terminal.append(Terminal.java:82)
        at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:161)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:134)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:125)
        at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:89)
        at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:542)
        at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:500)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:483)
        at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:417)
        at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:82)
        at org.apache.logging.log4j.core.Logger.log(Logger.java:161)
        at org.apache.logging.log4j.spi.AbstractLogger.tryLogMessage(AbstractLogger.java:2205)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessageTrackRecursion(AbstractLogger.java:2159)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessageSafely(AbstractLogger.java:2142)
        at org.apache.logging.log4j.spi.AbstractLogger.logMessage(AbstractLogger.java:2017)
        at org.apache.logging.log4j.spi.AbstractLogger.logIfEnabled(AbstractLogger.java:1983)
        at org.apache.logging.log4j.spi.AbstractLogger.info(AbstractLogger.java:1330)
        at org.bukkit.craftbukkit.v1_18_R1.util.ForwardLogHandler.publish(ForwardLogHandler.java:36)
        at java.logging/java.util.logging.Logger.log(Logger.java:980)
        at java.logging/java.util.logging.Logger.doLog(Logger.java:1007)
        at java.logging/java.util.logging.Logger.log(Logger.java:1118)
        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.utils.JdkLoggerAdapter.info0(LoggerAdapterImpls.kt:121)
        at MiraiMC-Bukkit.jar//net.mamoe.mirai.utils.MiraiLoggerPlatformBase.info0(MiraiLogger.kt:545)
        at MiraiMC-Bukkit.jar//net.mamoe.mirai.utils.MiraiLoggerPlatformBase.info(MiraiLogger.kt:508)
        at MiraiMC-Bukkit.jar//net.mamoe.mirai.internal.network.components.KeyRefreshProcessorImpl$keyRefreshLoop$2$1.invokeSuspend(KeyRefreshProcessor.kt:42)
        at MiraiMC-Bukkit.jar//kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
        at MiraiMC-Bukkit.jar//kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:571)
        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:678)
        at MiraiMC-Bukkit.jar//kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:665)

[21:43:35 INFO]: [MiraiMC] Scheduled key refresh in 23h 55min 0.0s.
[21:43:35 INFO]: [MiraiMC] Scheduled refresh login session in 19d 23h 55min 0.0s.
[21:43:35 INFO]: [MiraiMC] Bot login successful.
[21:43:35 INFO]: [MiraiMC] Miner‘s Village BOT(1747534965) 登录成功
[21:43:37 INFO]: [MiraiMC] Server list: 49.7.253.236:8080, 183.47.117.200:14000, 14.22.5.202:8080, 117.62.243.229:8080, 221.238.41.89:80, 49.7.253.15:443, msfwifi.3g.qq.com:8080, 114.221.148.59:8080, 180.163.212.180:80, 49.7.253.88:443.
[21:43:56 INFO]: <ConquerSki> 1
[21:44:03 INFO]: TWihiteULo23 has completed the challenge [Cover Me in Debris]
[21:44:14 INFO]: [MiraiMC] [GroupMessage/1747534965] [Happy village of miners(605116227)] Ski(2311711276) -> 1
[21:44:14 INFO]: [群消息] Ski(2311711276): 1
[21:44:22 INFO]: <ConquerSki> 1
[21:44:25 INFO]: <TWihiteULo23> 难怪刚刚卡了一下
[21:44:51 INFO]: <coffee> 1
[21:44:57 INFO]: [MiraiMC] [GroupMessage/1747534965] [Happy village of miners(605116227)] Ski(2311711276) -> 1
[21:44:57 INFO]: [群消息] Ski(2311711276): 1
[21:45:08 INFO]: <coffee> 111
[21:47:25 INFO]: <coffee> 1111
[21:49:01 INFO]: TWihiteULo23 fell out of the world
[21:51:06 INFO]: <ConquerSki> 1
[21:51:10 INFO]: <coffee> 1
[21:51:19 INFO]: <manufacturer> 1
[21:51:20 INFO]: <yzz> 1
[21:52:13 INFO]: Anye_dada joined the game
[21:52:13 INFO]: [CatSeedLogin] 缓存加载 76 个数据
[21:52:33 INFO]: [CatSeedLogin] 缓存加载 76 个数据
[21:52:43 INFO]: [MiraiMC] [GroupMessage/1747534965] [Happy village of miners(605116227)] (983207897) -> 问题,有死亡不 掉落吗
[21:52:43 INFO]: [群消息] 会会(983207897): 问题,有死亡不掉落吗
[21:52:48 INFO]: [MiraiMC] [GroupMessage/1747534965] [Happy village of miners(605116227)] coffee(宣传)(1248827491) -> 有
[21:52:48 INFO]: [群消息] coffee(宣传)(1248827491): 有
[21:52:51 INFO]: <yzz> 有
[21:52:58 INFO]: [MiraiMC] [GroupMessage/1747534965] [Happy village of miners(605116227)] (983207897) -> 谢谢~
[21:52:58 INFO]: [群消息] 会会(983207897): 谢谢~
[21:53:10 INFO]: UUID of player Gudaz12 is a14a1d4d-f2db-3472-b79c-6de45ecf06bc
[21:53:10 INFO]: Gudaz12 joined the game
[21:53:10 INFO]: [CatSeedLogin] 缓存加载 76 个数据
[21:53:34 INFO]: [CatSeedLogin] 缓存加载 76 个数据
[21:53:47 INFO]: <coffee> 新人地狱有交通
[21:53:57 INFO]: <coffee> 出生点有个地狱门
[21:54:24 INFO]: <Gudaz12> ok
[21:54:48 INFO]: <coffee> 地狱可以直接来我们这大基地
[21:56:04 INFO]: <Anye_dada> 这地狱大厅就离谱
[21:57:27 INFO]: Gudaz12 has made the advancement [Eye Spy]
DreamVoid commented 2 years ago

请提供出现问题时服务端产生的日志,而不是与你描述的问题无关的日志。

Conquerski commented 2 years ago

ok

[22:03:10 INFO]: 好臭啊 [22:03:16 INFO]: ? [22:03:26 INFO]: dada再发一段 [22:03:26 INFO]: [com.fastasyncworldedit.bukkit.listener.ChunkListener] [FAWE Tick Limiter] Detected and cancelled physics lag source at Location{world=CraftWorld{name=world},x=584.0,y=71.0,z=898.0,pitch=0.0,yaw=0.0} [22:03:39 INFO]: 压力马斯捏 [22:04:15 INFO]: man要我干啥吗 [22:04:28 INFO]: Gudaz12 has made the advancement [Stone Age] [22:04:37 INFO]: UUID of player ShiRan_Zhiji is d56c07b4-9a81-3a08-9dfe-1c77ea4bdc70

Conquerski commented 2 years ago

看上去没有报错信息

image image

DreamVoid commented 2 years ago

疑似被腾讯屏蔽,请关闭MiraiMC配置文件中的use-bukkit-logger然后重新复现问题,两个都要关掉 https://github.com/DreamVoid/MiraiMC/blob/052e950ce5805d57f2f8c0b12029252ff9f3fb1d/MiraiMC-Base/src/main/resources/config.yml#L22-L24 此配置需要重载插件并重新登录机器人才会生效