主配置与存储
主配置位于:
text
plugins/GTCommission/config.yml修改后输入:
text
/gtcom reload存储连接方式只在服务器启动时建立。修改 storage 后请完整重启,不要只重载。
reset
yaml
reset:
timezone: "Asia/Shanghai"
hour: 4这是面板未单独填写刷新时间时使用的默认值。
| 字段 | 说明 |
|---|---|
timezone | 时区。国内服通常写 Asia/Shanghai |
hour | 默认刷新小时,范围 0-23 |
面板可以在 boards/ 内覆盖时区、小时和分钟。
performance
yaml
performance:
condition-check-seconds: 30
pool-check-seconds: 300
playtime-step-seconds: 60
save-interval-seconds: 10
bounty-expire-check-seconds: 60| 字段 | 说明 | 建议 |
|---|---|---|
condition-check-seconds | PAPI 条件任务检查间隔 | 30-60 秒 |
pool-check-seconds | 重新判断玩家可用任务池 | 120-300 秒 |
playtime-step-seconds | 在线时长任务每次增加的秒数 | 60 秒 |
save-interval-seconds | 脏数据写入间隔 | 10-30 秒 |
bounty-expire-check-seconds | 过期悬赏、退款和待发奖励检查间隔 | 30-60 秒 |
不要把这些值改成 1。任务进度由实际事件记录,定时检查只用于变量条件、任务池变化、在线时长、存储和悬赏结算。
daily
yaml
daily:
auto-claim: false
auto-switch-when-eligible-pools-change: true
preserve-completed-on-pool-switch: true
announce-progress-step-percent: 25| 字段 | 说明 |
|---|---|
auto-claim | 任务完成后立即执行奖励。关闭时玩家需要点击领取 |
auto-switch-when-eligible-pools-change | 玩家条件变化后自动重新选择符合条件的任务池 |
preserve-completed-on-pool-switch | 同一周期切换任务池时保留已经完成的同 ID 任务 |
announce-progress-step-percent | 每增加多少百分比发送一次进度提示,0 关闭提示 |
bounty
yaml
bounty:
max-published-per-player: 5
max-accepted-per-player: 10
default-expire-hours: 24
allow-publisher-accept: false
refund-on-expire-percent: 100
tip-min-unaccepted-minutes: 30
cancel:
free-minutes: 30
fee:
amount: 100
economy: money
system-percent: 10| 字段 | 说明 |
|---|---|
max-published-per-player | 每名玩家同时处于开放状态的发布上限 |
max-accepted-per-player | 每名玩家同时接取的开放悬赏上限 |
default-expire-hours | 悬赏模板未写 expire-hours 时使用的小时数 |
allow-publisher-accept | 是否允许发布者接取自己的悬赏 |
refund-on-expire-percent | 悬赏过期时未发出的托管奖励退款比例 |
tip-min-unaccepted-minutes | 发布后至少经过多少分钟且无人接取,才允许追加小费 |
cancel.free-minutes | 发布后免费取消的分钟数,0 表示立即收费 |
cancel.fee.amount | 超过免费时间后取消一次收取的手续费,0 表示不收费 |
cancel.fee.economy | 手续费使用的经济 ID,必须存在于 economy.currencies |
cancel.fee.system-percent | 手续费中系统保留的百分比,剩余金额平均发给曾接取玩家 |
取消悬赏由发布者在 /gtbounty mine 或 /gtmybounty 的详情界面操作。取消时会退回尚未发出的托管奖励和小费,当前接取者退回押金;超过免费时间后,手续费扣除系统抽成后按曾接取玩家平均结算。
本地存储
yaml
storage:
backend: local本地存储是默认方式,数据保存在:
text
plugins/GTCommission/data/单服、生存服和测试服直接使用本地即可。
MySQL
yaml
storage:
backend: mysql
key-prefix: "gtcommission:"
mysql:
enabled: true
host: 127.0.0.1
port: 3306
database: minecraft
username: root
password: "change-me"
table: gtcommission_storage
maximum-pool-size: 4
connection-timeout-ms: 5000GTCommission 的 MySQL 地址、账号、库名和表名全部在这里填写,不读取 GTCore 的数据库连接。MySQL 运行库放在:
text
plugins/GTCore/libraries/mysql/首次启用时缺少的文件会自动补齐。连接失败时会在控制台说明原因并回退到本地存储,插件不会直接停服。
Redis
yaml
storage:
backend: redis
key-prefix: "gtcommission:"
redis:
enabled: true
host: 127.0.0.1
port: 6379
username: ""
password: ""
database: 0
ssl: false
maximum-pool-size: 4
connect-timeout-ms: 3000
socket-timeout-ms: 3000| 字段 | 说明 |
|---|---|
username | Redis 6 ACL 用户名,不使用 ACL 时留空 |
password | Redis 密码,没有密码时留空 |
database | Redis 数据库编号 |
ssl | Redis 服务是否要求 TLS/SSL |
maximum-pool-size | 最大连接数 |
connect-timeout-ms | 建立连接超时 |
socket-timeout-ms | 命令读写超时 |
跨服
yaml
storage:
cross-server:
enabled: true
sync-interval-seconds: 2
server-id: auto跨服要求所有子服:
- 使用相同的 MySQL 或 Redis。
- 使用相同的
key-prefix、库名和表名。 cross-server.enabled都为true。- 每台子服的
server-id不同,或统一保留auto。 - 所有子服的
tasks/、pools/、boards/、bounties/配置保持一致。
本地存储不会开启跨服。远程连接失败回退本地时,跨服也会自动关闭。
查看当前状态
text
/gtcom debug重点看:
存储是否为LOCAL、MYSQL或REDIS。跨服是否显示已开启。脏数据是否持续增长不下降。- 控制台是否有连接超时、认证失败或数据库权限错误。
