MiraiForum

    • Register
    • Login
    • Search
    • Popular
    • Recent
    • Unsolved
    • Tags
    • Groups
    • 友情链接

    2024.7.4 目前可用的mirai登陆全过程含安装插件

    使用交流
    11
    43
    5427
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Orisland
      Orisland 摸鱼 last edited by Orisland

      RT

      其实本来我的bot已经因为自己手贱登陆qq nt直接报废了,但是论坛里有佬提供了新的协议库,那这不赶紧复活bot都对不起这个新的协议库。

      由于存在下载障碍,所以这里也搞了个存档,本帖中的相关标星*资源无法下载均可以从这里拿走,由于本帖不会进行版本跟进,若年代过于久远请以最新为准,本帖中的一些配置可能需要后续随着引用贴的更新进行调整。
      https://orisland.lanzoul.com/b0maqsrkj
      密码:53cs
      本帖使用xshell+xftp作为ssh连接软件 *。

      特别感谢: @zhaodice

      相关项目更新感谢 @MrXiaoM

      本帖适用于

      • 刚刚接触mirai不知道如何登录的新手
      • 因为安全问题不想使用整合包的选手
      • 已经知晓你的账户登录信息和收发的信息会全部被注册服务器知晓的选手
      • 稍微有一些Linux基础或乐于折腾的选手
      • 对使用协议库登陆bot可能造成的后果有心理承受力的选手
      • ....

      过程中需要使用的项目

      必须安装

      • https://mirai.mamoe.net/topic/2673/试图复活qsign-基于9-0-56版本-再捞一把 @zhaodice
      • https://github.com/iTXTech/mcl-installer
      • https://github.com/cssxsh/fix-protocol-version

      https://github.com/MrXiaoM/fpv (平替上面的fix-protocol-version,解决一些登录问题),本文基于fix-protocol-version官方版本进行配置,如果使用这个版本,可省略导入协议库和配置KFCFactory.json的过程,安装启动后直接进入登陆验证部分。

      • https://github.com/KasukuSakura/mirai-login-solver-sakura
      • 任意手机模拟器(本教程以雷电为例,海外版没有广告,广告ptsd可以选海外版)
      • ..

      可选安装(插件)

      • https://github.com/project-mirai/chat-command
      • https://mirai.mamoe.net/topic/68/luckperms-mirai-高级权限服务插件
      • https://mirai.mamoe.net/topic/2645/今日运势插件
      • ...

      详细步骤

      注册一个qq号

      https://ssl.zc.qq.com/v3/index-chs.html

      需绑定手机,非常不推荐使用一些批量注册的qq号,或者来源不明的qq号,这些账号被风控的可能性会更高,而且不安全,容易被杀。

      准备一台服务器或vps

      请注意,为了bot能长期稳定运行考虑,应尽可能避免海外云主机。
      阿里云,腾讯云,等等各大云服务厂商提供了各种型号的学生机供你选择。
      从省钱划算的角度考虑,推荐考虑的配置为1c或2c配置,内存在1g到2g即可满足bot的运行需要,甚至还能再挂个宝塔,个人推荐最低使用轻量级云服务器即可,ecs或者类似的服务器也可以,这个没有特别大的区别。
      我的阿里云学生机
      900d+高可用性

      当然因为bot本身不需要公网环境,所以如果你自己有闲置的服务器或者低功耗设备(比如nas,软路由等等),也可以在自己的服务器或者设备上进行bot搭建,相同网络环境下,机器人被搞的概率和频率会小的多。

      系统选择

      使用centos8或者ubuntu/debian等。
      本文以目前比较常用的Ubuntu22作为bot的搭建平台,且相同网络环境下进行(HomeLab,结尾有HomeLab相关硬件说明)。
      如果你的bot搭建在云服务厂商的设备中,你可能需要使用vpn的方式将自己用来验证的设备链接到目标网络中避免错误代码237等错误。

      初始系统配置

      本文默认你已经对ubuntu的apt源进行了更换,已经对ubuntu做了基本的初始配置,例如挂载磁盘,update等操作。

      如果你是在消费级硬件上进行搭建,请注意ubuntu时区可能有误,需要使用命令进行调整。
      timedatectl set-timezone Asia/Shanghai

      安装mirai

      由于本文在进行编撰的过程中,mirai论坛本身处于被墙状态,mcl安装的必要资源package.json会出现问题,所以本文选择通用的安装方式,不使用mcl一键安装。若之后论坛网络访问恢复,更推荐考虑mcl一键安装更为省事,使用mcl一键安装可以跳转到下一章节--必要插件安装。
      这里引用mcl项目提供的安装方案。
      https://github.com/iTXTech/mcl-installer

      为服务器安装java,不同系统以当前系统为准。

      apt install openjdk-17-jre-headless -y
      

      安装完成后检查版本。

      java -verison
      

      0856fce7-9fc1-4d87-9337-a4a24e9394dc-image.png

      手动下载mcl压缩包
      https://maven.aliyun.com/repository/public/org/itxtech/mcl/2.1.2/mcl-2.1.2.zip
      解压到需要安装的mirai目录中,省事考虑可以对mirai文件夹整体给777权限。
      本文默认mirai目录为/root/mirai,如果懒得对命令进行修改,请创建到相同目录。

      chmod -R 777 /root/mirai

      启动mcl.jar对mirai进行安装。

      java -jar mcl.jar
      

      安装过程中你必须完整的看完mirai的用户须知,不可取消和跳过,这对于之后的排错和处理非常重要。

      2024-07-04 07:36:14 I/main: mirai-console started successfully.

      mirai本体基本安装完成。
      ctrl + c或 exit退出mirai进行后续安装。

      必要插件/软件安装

      安装手机模拟器(本帖以雷电为例)
      前往github,
      下载fix-protocol-version *
      https://github.com/cssxsh/fix-protocol-version/releases/download/v1.13.0/fix-protocol-version-1.13.0.mirai2.jar
      下载mirai-login-solver-sakura *
      https://github.com/KasukuSakura/mirai-login-solver-sakura/releases/download/v0.0.12/apk-release.apk

      打开雷电模拟器,安装mirai-login-solver-sakura,打开备用。
      a7b82986-695a-4625-bd7a-1f92fb0b1d60-image.png
      f8671270-d47d-442c-b136-8fd77c0be17c-image.png

      将fix-protocol-version上传到mirai目录下的plugins目录内,此时plugins内应包含三个文件。
      26d00b95-23bc-47e0-aa8e-dcbb8c1b1fd1-image.png

      前往下面的地址,本页后续还需要使用,不要关闭。
      https://mirai.mamoe.net/topic/2673/试图复活qsign-基于9-0-56版本-再捞一把
      复制协议配置文件
      869c1c02-1d25-44bf-bf40-3bcf5d133d55-image.png
      在mirai的根目录中输入命令

      nano android_pad.json
      

      在控制台中右击屏幕,粘贴配置。
      27633478-46bf-4d79-9c30-61d70b594ac6-image.png
      进行保存退出。
      ctrl + x
      y
      回车

      忘掉之前启动mirai的方式,之后使用./mcl -u进行启动。

      协议配置

      使用./mcl -u 启动mirai。
      等待加载完成后输入命令

      protocol load ANDROID_PAD
      

      出现如下提示时协议信息导入完成。
      11dcc05d-0e6e-4542-9886-4fbc967824af-image.png
      检查当前的协议库中的协议版本。
      e48dd4c5-8d25-49ce-a48d-5ba2c91577b0-image.png
      退出mirai。

      回到刚才的页面,复制该部分。
      127c4fa5-e12c-4b49-bf85-4013126e5858-image.png

      来到mirai根目录输入命令,

      mv KFCFactory.json KFCFactory.json.bak
      nano KFCFactory.json
      

      将刚才复制的文本在这里粘贴并和之前一样进行保存,注意删除结尾的逗号。
      1dbe92c1-5620-4958-bd83-ce7caa2a9824-image.png

      使用命令重新启动mirai。
      启动完成无报错后,则协议库配置完毕。

      登陆账号

      ./mcl -u
      请注意,下面的过程可能需要一些手速,过慢的验证您可能需要反复进行下面的步骤,过多的重试可能会增加账号冻结的风险性,请注意。

      若在本阶段登录时出现了一些意料之外的错误和问题,请使用标头提到的1.13.1版本fix-protocol-version代替原本的1.13.0版本

      登陆qq。

      login botqq号 bot密码 ANDROID_PAD
      

      若之前的配置全部没有问题,在mirai启动后登陆账号密码会提示注册成功。

      2024-07-04 16:23:04 I/UnidbgFetchQsign: Bot(1145141919) register, 注册成功了您嘞!
      

      之后可以在屏幕中找到下列类似地址,此时,需要尽可能快的将这串地址https://ti.qq.com/.... 复制到刚才开的模拟器中的框框中,并单击下一步.

      [SliderCaptcha] Captcha link:https://ti.qq.com/safe/tools/captcha/sms-verify-login....
      

      b21712e8-98b2-4052-adfe-f01a297bf934-image.png
      在经过简单的图形验证后,会弹出ticket,立即复制该ticket
      791ef35f-4ae8-485a-8eed-fdb7606143f3-image.png
      回到ssh,在ticket栏进行粘贴,并回车,如果一切顺利,你会看到下面图片中的显示,即确认发送手机验证码。
      5a1d847f-53de-4377-a429-0ebb7531ea14-image.png
      输入yes后回车,将手机上收到的验证码填入对应栏目后回车,登陆完成。

      注意本阶段有一次发送短信前的确认步骤,手动输入yes,不要在上面步骤就开始傻等短信。

      8317823b-7291-46cd-929c-d15d68a02c1c-image.png

      mirai测试登陆过程全部结束。

      为bot添加自动登录,让mirai每次启动后自动登录。
      退出mirai,下面的步骤必须在退出mirai之后才能进行,下列命令的实际路径以你的本地mirai的为准。

      由于miria在退出时会回写配置,故所有的配置需在mirai关闭时进行。

      nano /root/mirai/config/Console/AutoLogin.yml
      

      在编辑器中添加你的bot信息,注意箭头这里必须修改为刚才导入的ANDROID_PAD,不能使用默认的ANDROID_PHONE.
      6a5da3c1-f4ee-42dd-af98-55cdebd6359d-image.png
      保存退出。
      重新启动mirai,发现mirai自动登录完成。
      3ae9b7a4-eccb-4d9e-b4c4-65ae3b561104-image.png

      非必须插件安装

      本项目不是必须安装的,只作为安装演示。
      有些插件支持使用mcl进行安装,有些只能手动下载jar包上传plugins目录安装。
      推荐安装Chat Command,luckperms - Mirai,前者为命令插件,后者为权限管理插件。
      在mirai根目录执行此命令后,下次启动后会自动安装下载。

      ./mcl --update-package net.mamoe:chat-command --channel maven-stable --type plugin
      ./mcl --update-package io.github.karlatemp:luckperms --channel nightly --type plugin
      

      完成后./mcl -u,启动等待完成即可。

      配置启动

      本文提供两种后台运行mirai的方式。

      screen
      screen为多重视窗管理程序
      https://www.runoob.com/linux/linux-comm-screen.html

      输入命令,创建mirai窗口

      screen -S mirai
      

      在这个窗口中启动mirai.
      使用这种方式方便随时管理和查看,以及sj(视奸)群友行为。

      systemctl
      systemctl是 Systemd 的主命令,用于管理系统。
      https://www.ruanyifeng.com/blog/2016/03/systemd-tutorial-commands.html

      创建启动服务。

      nano /etc/systemd/system/mirai.service
      

      将下面的内容写入文件保存,注意对需要的部分进行修改。
      如ExecStart,WorkingDirectory的变量。

      [Unit]
      Description=Mirai Bot
      After=network.target
      
      [Service]
      Type=simple
      ExecStart=/root/mirai/mcl
      ExecStop=/bin/kill -9 $MAINPID
      Restart=on-failure
      User=root
      WorkingDirectory=/root/mirai
      StandardOutput=append:/root/mirai/log.log
      StandardError=append:/root/mirai/log.log
      
      [Install]
      WantedBy=multi-user.target
      

      重载systemctl。

      systemctl daemon-reload
      

      将bot启动设置为开机自启。

      systemctl enable mirai.service
      

      启动mirai。

      systemctl start mirai.service
      

      检查mirai状态。

      systemctl status mirai.service
      

      f33b4fbf-71bb-4054-bee1-0d8df7f07d4d-image.png

      HomeLab相关推荐

      本章节为彩蛋部分,只为想在自家运行bot的选手提供一些参考。
      mirai运行需要的性能很低,当然这个也和你安装的插件数量以及插件的代码效率相关。
      所以如果你想在家里配置一台设备运行mirai,配置自然是越低越好,功耗自然是越低越好,最理想的方式是插个网线放窗台,使用免费的核聚变供电。
      推荐硬件配置:

      • 树莓派(arm平台)
      • e3 1265lv3 这个带集显tdp45w,可以关闭超线程
      • e3 1220lv3 不带集显13w,可以配合超微C7Z97-MF板载集显实现超低功耗
      • i3 6100t 带集显tdp只有35w
      • BV1JY4y117vH
      • epyc系列
      • j1900
      • .....

      推荐使用纯ECC / Regecc(如果支持,大部分家用设备不支持后者,d5平台消费级主板只能使用消费级内存条)。

      电源必须使用一线或准一线品质对于设备本身的稳定性至关重要。

      推荐软件配置:
      proxmox作为母鸡系统启动虚拟化。
      目前测试该系统可以在消费级硬件无故障的情况下实现高负载400d+的使用,下图升级过版本,进行了一次停机,实际在线时间已经将近500d。
      349f7c65-f4f0-49b3-811e-18833bbb54b9-image.png

      后日谈

      2024.7.14 修复链接引用错误,添加其他更新版本的可用插件。
      2024.7.26 补充了新版本fpv需要跳过的步骤。

      完成

      好耶!
      猛猛安装插件。
      4090ed62-911b-4f6d-b9d2-a7553b13d8aa-image.png
      debc154f-a95a-4239-9bc4-e769cc8e10fb-debbafd9be5fa72cce744811a38bbb18.png

      1 Reply Last reply Reply Quote 4
      • S
        sedatemickey 0 last edited by sedatemickey 0

        补充一下code=237的一个可能的解决方案:

        ps:我用的是腾讯云新加坡的服务器
        pps:感谢楼主大大的保姆级教程!

        我用楼主的方法登录mirai,在完成图形验证码之后没有弹手机验证码,而是报错code=237(在非常用地登录或网络状态不佳什么的),换了个朋友的qq号依然如此

        于是我在服务器上搭了shadowsocksr server,用我的安卓平板连上shadowsocksr并在平板qq登录机器人账号,登录时弹了图形验证码和手机验证码,成功登录平板qq

        然后我把Sakura Login Solver装在平板上,同样连着shadowsocksr,将解图形验证码的步骤搬到安卓平板上,重新按楼主的方法登录mirai,成功登录mirai

        我也不知道是哪步起了作用,所以给大家做个参考吧~

        Z G 2 Replies Last reply Reply Quote 0
        • Z
          zhaodice @sedatemickey 0 last edited by zhaodice

          @sedatemickey-0 滑块所在的浏览器ip被ban了就会237,所以你单独给浏览器设置代理一样成(通常登录频繁就会237,不换ip等几小时或许也行)

          S 1 Reply Last reply Reply Quote 0
          • S
            sedatemickey 0 @zhaodice last edited by

            @zhaodice 可我第一次用家里宽带解图形验证码就237了 QAQ

            Z 1 Reply Last reply Reply Quote 0
            • Z
              zhaodice @sedatemickey 0 last edited by

              @sedatemickey-0 那你运气不好呗那你那个ip段可能有人批量登录,被tx一锅端了,正常

              S 1 Reply Last reply Reply Quote 0
              • S
                sedatemickey 0 @zhaodice last edited by

                @zhaodice ok那我下次直接换ip试试 thanks

                1 Reply Last reply Reply Quote 0
                • MrXiaoM
                  MrXiaoM 童心未泯 last edited by

                  快捷方法 https://github.com/MrXiaoM/fpv/tree/trpgbot
                  即装即用,无需额外配置,发布版在 releases 中
                  个人测试用浏览器抓 ticket 都能登录

                  1 Reply Last reply Reply Quote 1
                  • Moyuyanli
                    Moyuyanli 摸鱼 last edited by

                    赞

                    1 Reply Last reply Reply Quote 0
                    • AkinoowariQMJ
                      AkinoowariQMJ last edited by

                      大佬您好 我是小白,我根据您的教程操作,在登录的时候出现了以下内容:

                      2024-07-11 15:33:41 W/EncryptService.alert: Encrypt service was loaded: KFCFactory(config=file:///F:/Mirai/KFCFactory.json)
                      2024-07-11 15:33:41 W/EncryptService.alert: All outgoing message may be leaked by this service.
                      2024-07-11 15:33:41 W/EncryptService.alert: Use this service if and only if you trusted this service and the service provider.
                      2024-07-11 15:33:41 W/EncryptService.alert: Service details:
                      2024-07-11 15:33:41 W/EncryptService.alert:   `- Jvm Class: class xyz.cssxsh.mirai.tool.KFCFactory
                      2024-07-11 15:33:41 W/EncryptService.alert:   `- ClassLoader: JvmPluginClassLoader{fix-protocol-version-1.13.0.mirai2.jar}
                      2024-07-11 15:33:41 W/EncryptService.alert:   `- Source: file:/F:/Mirai/plugins/fix-protocol-version-1.13.0.mirai2.jar
                      2024-07-11 15:33:41 W/EncryptService.alert:   `- Protected Domain: ProtectionDomain  (file:/F:/Mirai/plugins/fix-protocol-version-1.13.0.mirai2.jar <no signer certificates>)
                       JvmPluginClassLoader{fix-protocol-version-1.13.0.mirai2.jar}
                       <no principals>
                       java.security.Permissions@1c32ea8 (
                       ("java.io.FilePermission" "F:\Mirai\plugins\fix-protocol-version-1.13.0.mirai2.jar" "read")
                      )
                      
                      
                      2024-07-11 15:33:41 I/KFCFactory: create EncryptService(id=QQ号), protocol=ANDROID_PAD(9.0.56) by fuqiuluo/unidbg-fetch-qsign from file:///F:/Mirai/KFCFactory.json
                      2024-07-11 15:33:41 W/Bot.QQ号: KFCFactory(config=file:///F:/Mirai/KFCFactory.json) is not yet supported EncryptService with bot Bot(QQ号)
                      java.lang.UnsupportedOperationException: repeated create EncryptService(id=QQ号)
                      	at fix-protocol-version-1.13.0.mirai2.jar//xyz.cssxsh.mirai.tool.KFCFactory.createForBot(KFCFactory.kt:81)
                      	at net.mamoe.mirai.internal.network.components.EncryptServiceHolderImpl.<init>(EncryptServiceHolder.kt:49)
                      	at net.mamoe.mirai.internal.QQAndroidBot.createBotLevelComponents(QQAndroidBot.kt:288)
                      	at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:192)
                      	at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:191)
                      	at net.mamoe.mirai.utils.LateinitMutableProperty.getValue(LateinitMutableProperty.kt:47)
                      	at net.mamoe.mirai.internal.QQAndroidBot.getDefaultBotLevelComponents(QQAndroidBot.kt:191)
                      	at net.mamoe.mirai.internal.QQAndroidBot.createNetworkLevelComponents(QQAndroidBot.kt:300)
                      	at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:312)
                      	at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:305)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelectorKt$KeepAliveNetworkHandlerSelector$1.createInstance(AbstractKeepAliveNetworkHandlerSelector.kt:277)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.refreshInstance(AbstractKeepAliveNetworkHandlerSelector.kt:249)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.getCurrentInstanceOrCreate(AbstractKeepAliveNetworkHandlerSelector.kt:57)
                      	at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.getContext(SelectorNetworkHandler.kt:51)
                      	at net.mamoe.mirai.internal.AbstractBot$network$2.invoke(AbstractBot.kt:139)
                      	at net.mamoe.mirai.internal.AbstractBot$network$2.invoke(AbstractBot.kt:137)
                      	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
                      	at net.mamoe.mirai.internal.AbstractBot.getNetwork(AbstractBot.kt:137)
                      	at net.mamoe.mirai.internal.QQAndroidBot.getComponents(QQAndroidBot.kt:189)
                      	at net.mamoe.mirai.internal.AbstractBot.login(AbstractBot.kt:156)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$suspendImpl(LoginCommandImpl.kt:40)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$mirai_console(LoginCommandImpl.kt)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.handle(LoginCommandImpl.kt:99)
                      	at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle(BuiltInCommands.kt:203)
                      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                      	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                      	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
                      	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
                      	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
                      	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
                      	at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:339)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
                      	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:84)
                      	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
                      	at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168)
                      	at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:131)
                      	at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt)
                      	at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
                      	at net.mamoe.mirai.console.terminal.ConsoleThreadKt$startupConsoleThread$3.invokeSuspend(ConsoleThread.kt:187)
                      	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                      	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
                      
                      2024-07-11 15:33:41 I/Bot.3611284414: Bot cancelled: Bot closed
                      2024-07-11 15:33:41 E/console: java.net.SocketException: Connection reset
                      java.net.SocketException: Connection reset
                      	at java.base/sun.nio.ch.NioSocketImpl.implRead(Unknown Source)
                      	at java.base/sun.nio.ch.NioSocketImpl.read(Unknown Source)
                      	at java.base/sun.nio.ch.NioSocketImpl$1.read(Unknown Source)
                      	at java.base/java.net.Socket$SocketInputStream.read(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketInputRecord.read(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketInputRecord.decode(Unknown Source)
                      	at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
                      	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
                      	at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(Unknown Source)
                      	at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(Unknown Source)
                      	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(Unknown Source)
                      	at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
                      	at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
                      	at java.base/java.net.URL.openStream(Unknown Source)
                      	at kotlin.io.TextStreamsKt.readBytes(ReadWrite.kt:149)
                      	at fix-protocol-version-1.13.0.mirai2.jar//xyz.cssxsh.mirai.tool.KFCFactory.createForBot(KFCFactory.kt:112)
                      	at net.mamoe.mirai.internal.network.components.EncryptServiceHolderImpl.<init>(EncryptServiceHolder.kt:49)
                      	at net.mamoe.mirai.internal.QQAndroidBot.createBotLevelComponents(QQAndroidBot.kt:288)
                      	at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:192)
                      	at net.mamoe.mirai.internal.QQAndroidBot$defaultBotLevelComponents$2.invoke(QQAndroidBot.kt:191)
                      	at net.mamoe.mirai.utils.LateinitMutableProperty.getValue(LateinitMutableProperty.kt:47)
                      	at net.mamoe.mirai.internal.QQAndroidBot.getDefaultBotLevelComponents(QQAndroidBot.kt:191)
                      	at net.mamoe.mirai.internal.QQAndroidBot.createNetworkLevelComponents(QQAndroidBot.kt:300)
                      	at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:312)
                      	at net.mamoe.mirai.internal.QQAndroidBot$createNetworkHandler$1.invoke(QQAndroidBot.kt:305)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelectorKt$KeepAliveNetworkHandlerSelector$1.createInstance(AbstractKeepAliveNetworkHandlerSelector.kt:277)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.refreshInstance(AbstractKeepAliveNetworkHandlerSelector.kt:249)
                      	at net.mamoe.mirai.internal.network.handler.selector.AbstractKeepAliveNetworkHandlerSelector.getCurrentInstanceOrCreate(AbstractKeepAliveNetworkHandlerSelector.kt:57)
                      	at net.mamoe.mirai.internal.network.handler.selector.SelectorNetworkHandler.getContext(SelectorNetworkHandler.kt:51)
                      	at net.mamoe.mirai.internal.AbstractBot$network$2.invoke(AbstractBot.kt:139)
                      	at net.mamoe.mirai.internal.AbstractBot$network$2.invoke(AbstractBot.kt:137)
                      	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
                      	at net.mamoe.mirai.internal.AbstractBot.getNetwork(AbstractBot.kt:137)
                      	at net.mamoe.mirai.internal.AbstractBot.login(AbstractBot.kt:147)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$suspendImpl(LoginCommandImpl.kt:40)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.doLogin$mirai_console(LoginCommandImpl.kt)
                      	at net.mamoe.mirai.console.internal.command.builtin.LoginCommandImpl.handle(LoginCommandImpl.kt:99)
                      	at net.mamoe.mirai.console.command.BuiltInCommands$LoginCommand.handle(BuiltInCommands.kt:203)
                      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                      	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
                      	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                      	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
                      	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method.callMethod(CallerImpl.kt:97)
                      	at kotlin.reflect.jvm.internal.calls.CallerImpl$Method$Instance.call(CallerImpl.kt:113)
                      	at kotlin.reflect.jvm.internal.KCallableImpl.call(KCallableImpl.kt:108)
                      	at kotlin.reflect.jvm.internal.KCallableImpl.callDefaultMethod$kotlin_reflection(KCallableImpl.kt:159)
                      	at kotlin.reflect.full.KCallables.callSuspendBy(KCallables.kt:74)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invokeSuspend(CommandReflector.kt:339)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
                      	at net.mamoe.mirai.console.internal.command.CommandReflector$findSubCommands$6$1.invoke(CommandReflector.kt)
                      	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call$suspendImpl(CommandSignature.kt:84)
                      	at net.mamoe.mirai.console.command.descriptor.CommandSignatureFromKFunctionImpl.call(CommandSignature.kt)
                      	at net.mamoe.mirai.console.internal.command.CommandManagerImplKt.executeCommandImpl(CommandManagerImpl.kt:168)
                      	at net.mamoe.mirai.console.command.CommandManager.executeCommand$suspendImpl(CommandManager.kt:131)
                      	at net.mamoe.mirai.console.command.CommandManager.executeCommand(CommandManager.kt)
                      	at net.mamoe.mirai.console.command.CommandManager$INSTANCE.executeCommand(CommandManager.kt)
                      	at net.mamoe.mirai.console.terminal.ConsoleThreadKt$startupConsoleThread$3.invokeSuspend(ConsoleThread.kt:187)
                      	at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
                      	at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677)
                      	at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664)
                      

                      请问这种情况怎么解决?谢谢大佬 ;w;

                      Z 1 Reply Last reply Reply Quote 0
                      • Z
                        zhaodice @AkinoowariQMJ last edited by

                        @AkinoowariQMJ https://github.com/MrXiaoM/fpv/tree/trpgbot 试试看这个呢,这是fix-protocol-version-1.13.0.mirai2.jar的分支,把原来的fix-protocol-version-1.13.0.mirai2.jar先禁用掉

                        AkinoowariQMJ 2 Replies Last reply Reply Quote 1
                        • AkinoowariQMJ
                          AkinoowariQMJ @zhaodice last edited by

                          @zhaodice 谢谢大佬,我去试试(w)

                          1 Reply Last reply Reply Quote 0
                          • AkinoowariQMJ
                            AkinoowariQMJ @zhaodice last edited by

                            @zhaodice 谢谢大佬,登录上了!十分感谢!

                            1 Reply Last reply Reply Quote 0
                            • K
                              Kanzaki last edited by

                              This post is deleted!
                              1 Reply Last reply Reply Quote 1
                              • S
                                sides last edited by sides

                                大佬大佬,按照您的教程操作,在为bot添加自动登录后启动mirai,出现一下信息,怎么办啊
                                2024-07-17 02:47:48 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10.
                                2024-07-17 02:47:48 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies
                                2024-07-17 02:47:48 I/main: Welcome to visit https://mirai.mamoe.net/
                                2024-07-17 02:47:48 E/main: Failed to init MiraiConsole.
                                net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for 'accounts' in 'AutoLogin'
                                value: pwd
                                ^ at line 8, column 17

                                    at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)
                                    at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:181)
                                    at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:533)
                                    at net.mamoe.mirai.console.internal.data.PluginDataImpl$updaterSerializer$1.deserialize(PluginDataImpl.kt:88)
                                    at net.mamoe.mirai.console.internal.data.PluginDataImpl$updaterSerializer$1.deserialize(PluginDataImpl.kt:51)
                                    at net.mamoe.yamlkt.Yaml.decodeFromString(Yaml.kt:162)
                                    at net.mamoe.mirai.console.internal.data.MultiFilePluginDataStorageImpl.load(MultiFilePluginDataStorageImpl.kt:49)
                                    at net.mamoe.mirai.console.internal.data.builtins.ConsoleDataScopeImpl.addAndReloadConfig(ConsoleDataScopeImpl.kt:45)
                                    at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:276)
                                    at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:512)
                                    at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:182)
                                    at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:181)
                                    at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:59)
                                    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
                                    at java.base/java.lang.reflect.Method.invoke(Method.java:580)
                                    at org.itxtech.mcl.Utility.bootJars(Utility.java:86)
                                    at org.itxtech.mcl.Utility.bootJars(Utility.java:76)
                                    at org.itxtech.mcl.Utility.bootMirai(Utility.java:98)
                                    at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:113)
                                    at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:123)
                                    at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:196)
                                    at org.itxtech.mcl.Loader.tryCatching(Loader.java:151)
                                    at org.itxtech.mcl.Loader.start(Loader.java:196)
                                    at org.itxtech.mcl.Loader.main(Loader.java:84)
                                

                                Caused by: net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for '0' in 'kotlin.collections.ArrayList'
                                ...密码内容, PLAIN 时为密码文本, MD5 时为 16 进制
                                ^ at line 7, column 41

                                    at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)
                                    at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:181)
                                    at kotlinx.serialization.encoding.CompositeDecoder$DefaultImpls.decodeSerializableElement$default(Decoding.kt:533)
                                    at kotlinx.serialization.internal.CollectionLikeSerializer.readElement(CollectionSerializers.kt:80)
                                    at kotlinx.serialization.internal.AbstractCollectionSerializer.readElement$default(CollectionSerializers.kt:51)
                                    at kotlinx.serialization.internal.AbstractCollectionSerializer.merge(CollectionSerializers.kt:36)
                                    at kotlinx.serialization.internal.AbstractCollectionSerializer.deserialize(CollectionSerializers.kt:43)
                                    at net.mamoe.mirai.console.data.SerializableValue$Companion$serializableValueWith$$inlined$map$1.deserialize(serializerHelper.kt:171)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:179)
                                    ... 22 more
                                

                                Caused by: net.mamoe.yamlkt.YamlDecodingException: Top-level decoder: deserializing nested class for 'password' in 'net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig.Account'
                                kind: PLAIN
                                ^ at line 6, column 18

                                    at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)
                                    at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:181)
                                    at net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig$Account$$serializer.deserialize(AutoLoginConfig.kt:31)
                                    at net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig$Account$$serializer.deserialize(AutoLoginConfig.kt:31)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:179)
                                    ... 29 more
                                

                                Caused by: net.mamoe.yamlkt.YamlDecodingException: There must be a COLON between class key and value but found STRING for 'net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig.Account.Password'
                                kind: PLAIN
                                ^ at line 6, column 12

                                    at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException(ContextualException.kt:154)
                                    at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException(Unknown Source)
                                    at net.mamoe.yamlkt.internal.YamlUtils__ContextualExceptionKt.contextualDecodingException$default(ContextualException.kt:128)
                                    at net.mamoe.yamlkt.internal.YamlUtils.contextualDecodingException$default(Unknown Source)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$BlockClassDecoder.decodeElementIndex(YamlDecoder.kt:294)
                                    at net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig$Account$Password$$serializer.deserialize(AutoLoginConfig.kt:47)
                                    at net.mamoe.mirai.console.internal.data.builtins.AutoLoginConfig$Account$Password$$serializer.deserialize(AutoLoginConfig.kt:47)
                                    at net.mamoe.yamlkt.internal.YamlDecoder$AbstractDecoder.decodeSerializableElement(YamlDecoder.kt:179)
                                    ... 32 more
                                
                                Z 1 Reply Last reply Reply Quote 0
                                • Z
                                  zhaodice @sides last edited by

                                  @sides 你可能是autologin文件内容的格式写的不对,你可以把密码脱敏掉后贴出来我们雅俗共赏一下

                                  S 1 Reply Last reply Reply Quote 0
                                  • S
                                    sides last edited by sides

                                    accounts:

                                    • 账号, 现只支持 QQ 数字账号

                                      account: 3660940892
                                      password: db8a086d14410b6136cd7c58a6099c04331e55825d6ca92cac42187cbebfd87c

                                      密码种类, 可选 PLAIN 或 MD5

                                      kind: PLAIN

                                      密码内容, PLAIN 时为密码文本, MD5 时为 16 进制

                                      value: pwd

                                      账号配置. 可用配置列表 (注意大小写):

                                      protocol: ANDROID_PHONE / ANDROID_PAD / ANDROID_WATCH / MACOS / IPAD

                                      device: device.json

                                      enable: true

                                      heartbeatStrategy: STAT_HB / REGISTER / NONE

                                      configuration:
                                      protocol: ANDROID_PAD
                                      device: device.json
                                      enable: true
                                      heartbeatStrategy: STAT_HB
                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      sides @zhaodice last edited by

                                      @zhaodice 大佬我问了一下gpt,现在搞明白了password是一个包含两个子字段的字典,kind是指定密码类型,value才是实际的密码内容对吗

                                      Z 1 Reply Last reply Reply Quote 0
                                      • Z
                                        zhaodice @sides last edited by zhaodice

                                        @sides 对啊,password: 下面别写东西

                                        password: 
                                            kind: PLAIN
                                            value: 填写这里,PLAIN代表你将要在这里写纯密码
                                        
                                        S 1 Reply Last reply Reply Quote 0
                                        • S
                                          sides @zhaodice last edited by

                                          @zhaodice 谢谢大佬,现在解决了

                                          1 Reply Last reply Reply Quote 0
                                          • S
                                            sides last edited by

                                            大佬,又出现了新的问题,Mirai Console 尝试加载 LuckPerms 插件时失败了,插件文件损坏
                                            22:38:24 [INFO] Verifying "net.mamoe:mirai-console" v2.16.0
                                            22:38:25 [INFO] Verifying "net.mamoe:mirai-console-terminal" v2.16.0
                                            22:38:25 [INFO] Verifying "net.mamoe:mirai-core-all" v2.16.0
                                            22:38:25 [INFO] Verifying "org.itxtech:mcl-addon" v2.1.1
                                            22:38:26 [INFO] Verifying "org.bouncycastle:bcprov-jdk15on" v1.64
                                            22:38:26 [INFO] Verifying "net.mamoe:chat-command" v0.6.0
                                            22:38:26 [INFO] Verifying "io.github.karlatemp:luckperms" v2.10.0-dev-6+null
                                            22:38:26 [ERROR] "io.github.karlatemp:luckperms" is corrupted.
                                            22:38:26 [INFO] Updating "io.github.karlatemp:luckperms" to v2.10.0-dev-6+null
                                            Downloading luckperms-2.10.0-dev-6+null.jar [==============================] 84 Downloading luckperms-2.10.0-dev-6+null.jar [==============================] 84 B
                                            Downloading luckperms-2.10.0-dev-6+null.jar.sha1 [============================= Downloading luckperms-2.10.0-dev-6+null.jar.sha1 [==============================] 84 B
                                            22:38:27 [ERROR] The local file "io.github.karlatemp:luckperms" is still corrupted, please check the network.
                                            2024-07-17 22:38:27 I/main: Starting mirai-console...
                                            2024-07-17 22:38:27 I/main:

                                            ===================================[ Mirai console 2.16.0 ]===================================


                                            | \ / \ \ | / \ |
                                            | ▓▓\ / ▓▓\▓▓ ______ ______ \▓▓ ▓▓▓▓▓▓\ ______ _______ _______ ______ | ▓▓ ______
                                            | ▓▓▓\ / ▓▓▓ / \ | | \ ▓▓ \▓▓/ | \ / / | ▓▓/
                                            | ▓▓▓▓\ ▓▓▓▓ ▓▓ ▓▓▓▓▓▓\ \▓▓▓▓▓▓\ ▓▓ ▓▓ | ▓▓▓▓▓▓\ ▓▓▓▓▓▓▓\ ▓▓▓▓▓▓▓ ▓▓▓▓▓▓\ ▓▓ ▓▓▓▓▓▓
                                            | ▓▓\▓▓ ▓▓ ▓▓ ▓▓ ▓▓ \▓▓/ ▓▓ ▓▓ ▓▓ | ▓▓ | ▓▓ ▓▓ | ▓▓\▓▓ | ▓▓ | ▓▓ ▓▓ ▓▓ ▓▓
                                            | ▓▓ \▓▓▓| ▓▓ ▓▓ ▓▓ | ▓▓▓▓▓▓▓ ▓▓ ▓▓
                                            / \ ▓▓__/ ▓▓ ▓▓ | ▓▓_\▓▓▓▓▓▓\ ▓▓__/ ▓▓ ▓▓ ▓▓▓▓▓▓▓▓
                                            | ▓▓ \▓ | ▓▓ ▓▓ ▓▓ \▓▓ ▓▓ ▓▓\▓▓ ▓▓\▓▓ ▓▓ ▓▓ | ▓▓ ▓▓\▓▓ ▓▓ ▓▓\▓▓
                                            \▓▓ \▓▓\▓▓\▓▓ \▓▓▓▓▓▓▓\▓▓ \▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓\▓▓▓▓▓▓▓ \▓▓▓▓▓▓ \▓▓ \▓▓▓▓▓▓▓

                                            2024-07-17 22:38:27 I/main: Backend: version 2.16.0, built on 2023-10-20 06:28:10.
                                            2024-07-17 22:38:27 I/main: Frontend Terminal: version 2.16.0, provided by Mamoe Technologies
                                            2024-07-17 22:38:27 I/main: Welcome to visit https://mirai.mamoe.net/
                                            2024-07-17 22:38:27 E/main: Failed to init MiraiConsole.
                                            java.util.zip.ZipException: zip END header not found
                                            at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1695)
                                            at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1703)
                                            at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1541)
                                            at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1504)
                                            at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:724)
                                            at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:251)
                                            at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:180)
                                            at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:194)
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.init0(JvmPluginClassLoader.kt:304)
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.init1(JvmPluginClassLoader.kt:296)
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.<init>(JvmPluginClassLoader.kt:291)
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.<init>(JvmPluginClassLoader.kt)
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN$Companion.newLoader(JvmPluginClassLoader.kt:431)
                                            at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.extractPlugins(BuiltInJvmPluginLoaderImpl.kt:258)
                                            at net.mamoe.mirai.console.internal.plugin.BuiltInJvmPluginLoaderImpl.listPlugins(BuiltInJvmPluginLoaderImpl.kt:72)
                                            at net.mamoe.mirai.console.plugin.jvm.JvmPluginLoader$BuiltIn.listPlugins(JvmPluginLoader.kt)
                                            at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.listAndSortAllPlugins(PluginManagerImpl.kt:207)
                                            at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.findAndSortAllPluginsUsingBuiltInLoaders(PluginManagerImpl.kt:153)
                                            at net.mamoe.mirai.console.internal.plugin.PluginManagerImpl.loadAllPluginsUsingBuiltInLoaders$mirai_console(PluginManagerImpl.kt:163)
                                            at net.mamoe.mirai.console.internal.MiraiConsoleImplementationBridge.doStart$mirai_console(MiraiConsoleImplementationBridge.kt:303)
                                            at net.mamoe.mirai.console.MiraiConsoleImplementation$Companion.start(MiraiConsoleImplementation.kt:512)
                                            at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon(MiraiConsoleTerminalLoader.kt:182)
                                            at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.startAsDaemon$default(MiraiConsoleTerminalLoader.kt:181)
                                            at net.mamoe.mirai.console.terminal.MiraiConsoleTerminalLoader.main(MiraiConsoleTerminalLoader.kt:59)
                                            at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
                                            at java.base/java.lang.reflect.Method.invoke(Method.java:580)
                                            at org.itxtech.mcl.Utility.bootJars(Utility.java:86)
                                            at org.itxtech.mcl.Utility.bootJars(Utility.java:76)
                                            at org.itxtech.mcl.Utility.bootMirai(Utility.java:98)
                                            at org.itxtech.mcl.module.builtin.Boot.boot(Boot.java:113)
                                            at org.itxtech.mcl.module.ModuleManager.phaseBoot(ModuleManager.java:123)
                                            at org.itxtech.mcl.Loader.lambda$start$4(Loader.java:196)
                                            at org.itxtech.mcl.Loader.tryCatching(Loader.java:151)
                                            at org.itxtech.mcl.Loader.start(Loader.java:196)
                                            at org.itxtech.mcl.Loader.main(Loader.java:84)
                                            Suppressed: java.lang.RuntimeException: Failed to initialize new JvmPluginClassLoader, file=D:\mirai\chmod -R 777\root\mirai\mcl-2.1.2\plugins\luckperms-2.10.0-dev-6+null.jar
                                            at net.mamoe.mirai.console.internal.plugin.JvmPluginClassLoaderN.init1(JvmPluginClassLoader.kt:298)
                                            ... 25 more

                                            Z Yang-qwq 2 Replies Last reply Reply Quote 0
                                            • 1
                                            • 2
                                            • 3
                                            • 1 / 3
                                            • First post
                                              Last post
                                            Powered by Mamoe Technologies & NodeBB | 友情链接 | 服务监控 | Contact