跳到主要内容

文件

了解插件产生的文件

配置文件

配置文件位于 服务端根目录/plugins/SakuraBind

服务端根目录/plugins/SakuraBind
│ config.yml 插件基本配置
│ database.yml 数据库配置
│ global-setting.yml 默认绑定配置
│ lang.yml 语言文件
│ logger.yml 绑定日志设置
│ send-back-logger.yml 物品送回日志设置
│ placeholders.txt 占位符说明
│ settings.yml 自定义绑定配置

├─data 储存绑定方块的数据, 删除该目录绑定方块将丢失绑定
├─database H2数据库(默认数据库)生成的数据目录
│ database_sakurabind.mv.db H2数据库(默认数据库)数据文件

├─log 文件日志目录
│ bind-log-0-0.log 绑定日志 格式为 bind-log-X-X.log
│ unique-log-0-0.log 唯一物品日志 格式为 unique-log-X-X.log

└─modules 拓展功能
bind-item.yml 绑定、解绑物品设置
unique-item.yml 唯一物品设置

依赖文件

插件默认在线下载的依赖位于 服务端根目录/libraries 文件夹中

注意

"#" 后面是依赖的说明

形如 2.3.232的都是依赖的版本号,更新插件有可能会更新依赖版本,请以实际为准。

libraries
├─com
│ ├─h2database # H2数据库依赖(默认), 只有使用该数据库时才下载
│ │ └─h2
│ │ └─2.3.232
│ │ h2-2.3.232.jar
│ │ h2-2.3.232.jar.sha1
│ │
│ ├─impossibl
│ │ └─pgjdbc-ng # PostgreSQL数据库依赖, 只有使用该数据库时才下载
│ │ └─pgjdbc-ng
│ │ └─0.8.9
│ │ pgjdbc-ng-0.8.9.jar
│ │ pgjdbc-ng-0.8.9.jar.sha1
│ │
│ ├─microsoft
│ │ └─sqlserver # sqlserver数据库依赖, 只有使用该数据库时才下载
│ │ └─mssql-jdbc
│ │ └─12.8.1.jre11
│ │ mssql-jdbc-12.8.1.jre11.jar
│ │ mssql-jdbc-12.8.1.jre11.jar.sha1
│ │
│ ├─oracle
│ │ └─database # oracle数据库依赖, 只有使用该数据库时才下载
│ │ └─jdbc
│ │ └─ojdbc11
│ │ └─23.5.0.24.07
│ │ ojdbc11-23.5.0.24.07.jar
│ │ ojdbc11-23.5.0.24.07.jar.sha1
│ │
│ └─zaxxer
│ └─HikariCP # 数据库连接池
│ └─5.1.0
│ HikariCP-5.1.0.jar
│ HikariCP-5.1.0.jar.sha1

├─mysql
│ └─mysql-connector-java # mysql数据库依赖, 只有使用该数据库时才下载
│ └─8.0.33
└─org
├─ehcache
│ └─ehcache # 缓存中间件
│ └─3.10.8
│ ehcache-3.10.8.jar
│ ehcache-3.10.8.jar.sha1

├─glassfish
│ └─jaxb
│ └─jaxb-runtime # 数据库时间转换工具
│ └─2.3.8
│ jaxb-runtime-2.3.8.jar
│ jaxb-runtime-2.3.8.jar.sha1

├─jetbrains
│ ├─annotations
│ │ └─13.0
│ │ annotations-13.0.jar
│ │ annotations-13.0.jar.sha1
│ │
│ ├─exposed # 数据库ORM框架
│ │ ├─exposed-core
│ │ │ └─0.54.0
│ │ │ exposed-core-0.54.0.jar
│ │ │ exposed-core-0.54.0.jar.sha1
│ │ │ exposed-core-0.54.0.pom
│ │ │ exposed-core-0.54.0.pom.sha1
│ │ │
│ │ ├─exposed-dao
│ │ │ └─0.54.0
│ │ │ exposed-dao-0.54.0.jar
│ │ │ exposed-dao-0.54.0.jar.sha1
│ │ │ exposed-dao-0.54.0.pom
│ │ │ exposed-dao-0.54.0.pom.sha1
│ │ │
│ │ ├─exposed-java-time
│ │ │ └─0.54.0
│ │ │ exposed-java-time-0.54.0.jar
│ │ │ exposed-java-time-0.54.0.jar.sha1
│ │ │ exposed-java-time-0.54.0.pom
│ │ │ exposed-java-time-0.54.0.pom.sha1
│ │ │
│ │ └─exposed-jdbc
│ │ └─0.54.0
│ │ exposed-jdbc-0.54.0.jar
│ │ exposed-jdbc-0.54.0.jar.sha1
│ │ exposed-jdbc-0.54.0.pom
│ │ exposed-jdbc-0.54.0.pom.sha1
│ │
│ ├─kotlin # 插件主要开发语言 Kotlin 的运行环境
│ │ ├─kotlin-reflect
│ │ │ └─2.0.20
│ │ │ kotlin-reflect-2.0.20.jar
│ │ │ kotlin-reflect-2.0.20.jar.sha1
│ │ │ kotlin-reflect-2.0.20.pom
│ │ │ kotlin-reflect-2.0.20.pom.sha1
│ │ │
│ │ ├─kotlin-stdlib
│ │ │ └─2.0.20
│ │ │ kotlin-stdlib-2.0.20.jar
│ │ │ kotlin-stdlib-2.0.20.jar.sha1
│ │ │ kotlin-stdlib-2.0.20.pom
│ │ │ kotlin-stdlib-2.0.20.pom.sha1
│ │ │
│ │ ├─kotlin-stdlib-common
│ │ │ └─2.0.20
│ │ │ kotlin-stdlib-common-2.0.20.jar
│ │ │ kotlin-stdlib-common-2.0.20.jar.sha1
│ │ │
│ │ ├─kotlin-stdlib-jdk7
│ │ │ └─1.8.0
│ │ │ kotlin-stdlib-jdk7-1.8.0.jar
│ │ │ kotlin-stdlib-jdk7-1.8.0.jar.sha1
│ │ │
│ │ └─kotlin-stdlib-jdk8
│ │ └─1.8.0
│ │ kotlin-stdlib-jdk8-1.8.0.jar
│ │ kotlin-stdlib-jdk8-1.8.0.jar.sha1
│ │
│ └─kotlinx # Exposed 使用的协程库
│ └─kotlinx-coroutines-core-jvm
│ └─1.8.1
│ kotlinx-coroutines-core-jvm-1.8.1.jar
│ kotlinx-coroutines-core-jvm-1.8.1.jar.sha1

├─mariadb # mariadb数据库依赖, 只有使用该数据库时才下载
│ └─jdbc
│ └─mariadb-java-client
│ └─3.4.1
│ mariadb-java-client-3.4.1.jar
│ mariadb-java-client-3.4.1.jar.sha1

├─slf4j # 日志接口
│ └─slf4j-api
│ └─2.0.9
│ slf4j-api-2.0.9.jar
│ slf4j-api-2.0.9.jar.sha1

└─xerial
└─sqlite-jdbc # sqlite数据库依赖, 只有使用该数据库时才下载
└─3.46.1.0
sqlite-jdbc-3.46.1.0.jar
sqlite-jdbc-3.46.1.0.jar.sha1



依赖无法正常加载?

当你遇到网络问题或其他问题导致依赖无法正常下载时可以根据以上结构在另一个网络良好的机器下载依赖再复制到当前机器中。

最简单的方式是直接将 libraries 文件夹整个复制到当前机器中。


修改依赖文件的储存路径?

大部分插件的依赖都储存在 服务端根目录/libraries中,如果你不希望储存在这里你可以:

  1. 将插件以压缩包形式解压

  2. 编辑plugin.yml文件,将 runtime-libraries下的 libraries-folder 修改为你想要储存依赖的路径,默认是以服务端根目录为起点.。@plugin:是一个特殊的占位符, 代表当前的插件配置目录。

    SakuraBind.jar/plugin.yml
    runtime-libraries:
    libraries-folder: '@plugin:libraries' # 表示存放在插件配置目录的libraries中

    runtime-libraries:
    libraries-folder: 'libraries' # 表示存放在服务端根目录的libraries中
  3. 将修改的文件再次打包,并修改后缀为 jar 文件 (某些压缩软件支持直接编辑压缩包里的文件)


如何判断依赖是否正常加载?

在插件加载时有以下日志,插件会安装顺序下载并加载依赖

代表成功的标志: [I] 以隔离方式加载、 [A] 以共享方式加载

代表失败的标志: [N] 网络异常、 [E] 未知错误 [F] 依赖格式错误

以下是一个正常的启动日志

[SakuraBind] Loading libraries...
[SakuraBind] Successful Flags: [I]=Loading Isolated [A]=Loading Assembly
[SakuraBind] Failure Flags: [E]=Loading Error [N]=NetWork Error [F]=Library Format Error
[SakuraBind] [I] org.jetbrains.kotlin:kotlin-stdlib:2.0.20
[SakuraBind] ├── [I] org.jetbrains.kotlin:kotlin-stdlib-common:2.0.20
[SakuraBind] ├── [I] org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0
[SakuraBind] ├── [I] org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0
[SakuraBind] └── [I] org.jetbrains:annotations:13.0
[SakuraBind] [I] org.jetbrains.kotlin:kotlin-reflect:2.0.20
[SakuraBind] [I] org.jetbrains.exposed:exposed-core:0.54.0
[SakuraBind] ├── [I] org.jetbrains.kotlinx:kotlinx-coroutines-core-jvm:1.8.1
[SakuraBind] └── [A] org.slf4j:slf4j-api:2.0.9
[SakuraBind] [I] org.jetbrains.exposed:exposed-dao:0.54.0
[SakuraBind] [I] org.jetbrains.exposed:exposed-jdbc:0.54.0
[SakuraBind] [I] org.jetbrains.exposed:exposed-java-time:0.54.0
[SakuraBind] [I] org.glassfish.jaxb:jaxb-runtime:2.3.8
[SakuraBind] [I] org.ehcache:ehcache:3.10.8
[SakuraBind] Loading libraries successfully.

在服务端运行时,于database.yml中切换到新的数据库类型时也会下载数据库依赖,是异步操作,不用担心卡主线程。