跳转至

配置说明

通用设置

文件:plugins/Skyllia/config/config.toml

config-version = 4
verbose        = false   # 启用详细控制台日志

[settings.island]
region-distance             = 10       # 间距(region 为单位,1 = 512 格)
max-islands                 = 500_000
teleport-outside-island     = false    # 玩家低于世界最低 Y 时自动传送
restrict-player-movement    = false    # 玩家离开岛屿边界时推回
enable-obsidian-to-lava-conversion = true  # 右键黑曜石+空桶 → 岩浆桶

[settings.island.delete]
prevent-deletion-if-has-members = true
chunk-perimeter-island          = false  # true = 仅删除岛屿区块(更快但不彻底)

[settings.island.chunk-processing.delete]
threads   = -1    # -1 = 自动 (max(4, cpu_cores / 8))
delay-ms  = 50    # 区块删除间隔(毫秒,50 = 1区块/tick)

[settings.island.chunk-processing.biome]
threads   = -1
delay-ms  = 50

[settings.island.invitation]
teleport-when-accepting = true

[settings.island.queue]
allow-bypass = true   # 允许 'skyllia.island.bypass.queue' 权限

[settings.spawn]
enable     = true
world-name = "world"
block-x    = 0.0
block-y    = 0.0
block-z    = 0.0
yaw        = 0.0
pitch      = 0.0

[debug]
permission = false   # 将缺失权限记录到控制台

[settings.cache.ttl]
# -1 = 永不过期,0 = 禁用
warps       = -1
name-role   = -1
role        = -1
island      = -1
player-link = -1
members     = -1
state       = -1

[permissions]
check-owner = false   # true 时所有者也受权限检查
check-ban   = false   # true 时封禁玩家被拒绝岛屿操作

岛屿类型

文件:plugins/Skyllia/config/islands.toml

[island.<key>] 下的每个块定义一种岛屿类型,玩家可通过 /island create <key> 选择。key 必须与原理图名称匹配。

# 不带类型参数时使用的默认类型
[default-island]
default-schem-key = "my_first_island"

[island.my_first_island]
id          = "my_first_island"
size        = 50.0    # 半径(格)
max-members = 6

[island.my_second_island]
id          = "my_second_island"
size        = 50.0
max-members = 6

岛屿大小管理命令

  • /isadmin setsize <玩家> <大小> — 覆盖特定玩家岛屿的半径
  • /isadmin setmaxmembers <玩家> <数量> — 覆盖最大成员数

世界配置

文件:plugins/Skyllia/config/worlds.toml

suppress-warning-nether-end = false

[worlds.sky-overworld]
environment  = "NORMAL"
portal-nether = "sky-nether"
portal-end   = "sky-end"
generator    = "default"
biome-id     = "minecraft:plains"

[worlds.sky-nether]
environment  = "NETHER"
portal-nether = "sky-overworld"
portal-end   = "sky-end"
generator    = "default"
biome-id     = "minecraft:basalt_deltas"

[worlds.sky-end]
environment  = "THE_END"
portal-nether = "sky-nether"
portal-end   = "sky-overworld"
generator    = "default"
biome-id     = "minecraft:end_highlands"

世界名称必须与磁盘上的实际文件夹名称匹配。portal-netherportal-end 控制传送门通往哪个世界。

数据库配置

文件:plugins/Skyllia/config/database.toml

SQLite(默认)

[sqlite]
enabled = true

MariaDB

[mariadb]
enabled  = true
host     = "localhost"
port     = 3306
database = "skyllia"
username = "root"
password = "password"

[mariadb.pool]
maximum-pool-size  = 10
minimum-idle       = 5
connection-timeout = 30000
idle-timeout       = 600000
max-lifetime       = 1800000

PostgreSQL

[postgresql]
enabled  = true
host     = "localhost"
port     = 5432
database = "skyllia"
username = "postgres"
password = "password"

[postgresql.pool]
maximum-pool-size  = 10
minimum-idle       = 5
connection-timeout = 30000
idle-timeout       = 600000
max-lifetime       = 1800000

同一时间只能启用一个后端。大型服务器推荐 PostgreSQL。拥有自己数据库的插件(SkylliaBank、SkylliaChallenge)会自动继承同一连接池。

玩家设置

文件:plugins/Skyllia/config/players.toml

[player.island.leave]
clear-inventory  = true    # 离开岛屿时清空背包
clear-enderchest = true
clear-experience = true

[player.island.kicked]
clear-inventory  = false
clear-enderchest = false
clear-experience = false

[player.island.delete]
clear-inventory  = true
clear-enderchest = true
clear-experience = true

[player.join.teleport]
own-island       = true    # 加入服务器时传送到自己的岛屿
spawn-not-island = false   # 没有岛屿时传送到出生点

[player.permissions]
allow-teleportation = true

加入时传送

own-island = true 使每个玩家加入服务器时直接传送到岛屿出生点。同时启用 spawn-not-island = true 时,没有岛屿的玩家会被送到全局出生点。

原理图

文件:plugins/Skyllia/config/schematics.toml

Skyllia 支持两种原理图后端:

🌍 WorldEdit / FAWE — 粘贴 WorldEdit 原理图文件夹中的 .schem.schematic 文件。FAWE 提供异步粘贴。

🔧 内置 — Skyllia 自己的轻量级原理图系统。将 .json 文件放入 plugins/Skyllia/schematics/

每个岛屿类型按每个世界配置。key 格式为 "<岛屿ID>.<世界名>"

["my_first_island.sky-overworld"]
schematic         = "./schematics/default.schem"
height            = 64.0
ignore-air-blocks = true
copy-entities     = true
plugin            = "WorldEdit"  # "WorldEdit", "FastAsyncWorldEdit" 或 "Internal"
# min-build-height = 0
# max-build-height = 150

["my_first_island.sky-nether"]
schematic         = "./schematics/default.schem"
height            = 64.0
ignore-air-blocks = true
copy-entities     = true
plugin            = "WorldEdit"

配置参考

说明
schematic .schem 文件路径
height 原理图放置的 Y 坐标
ignore-air-blocks true 跳过空气方块(保留现有地形)
copy-entities true 复制原理图中的实体
plugin WorldEditFastAsyncWorldEditInternal
min-build-height (可选)最低建造高度
max-build-height (可选)最高建造高度

每个岛屿类型 × 世界需要一个配置块。3 种岛屿类型 + 3 个世界 = 9 个块。缺少世界块会导致该世界的岛屿创建失败。