服务器不是一个世界,是好几个:红石创造、地皮、小游戏,各自独立。这一页讲它们之间怎么切换,以及为什么同一件事在不同世界里的表现会不一样。
世界之间怎么走
菜单里的「世界」,或者:
/rsw list 看有哪些世界
/rsw tp <世界> 过去
/rsw info <世界> 看这个世界的规则和准入条件
/rsw 是 /rswworld 的别名,两个都能用。世界名有补全,按 Tab。
新开的世界不用重启就会出现在补全里。 反过来,补全里有但传不过去的世界也存在——见下面「进不去的世界」。
五个模板
| 模板 | 是什么 | 怎么来的 |
|---|---|---|
void |
一片虚空 | 新建 |
flat |
超平坦 | 新建 |
overworld |
主世界 | 启动时接管 |
nether |
下界 | 启动时接管 |
end |
末地 | 启动时接管 |
前两个是插件向引擎申请出来的新维度,后三个是原版本来就有、插件把它们纳入管理。
区别只在「怎么来的」,管理方式是一样的——主世界同样能设按维度规则、同样能设准入、同样能设游戏模式。
为什么这一条要专门说
早先的版本只管新建出来的那些维度,主世界、下界、末地不在管辖内。结果是:你在地皮世界被切成创造,走回主世界还带着创造模式。
「不能新建」和「不管」是两回事。现在五个模板都在管辖内,跨世界走一圈该掉的东西会掉。
按维度的 13 条规则
这些规则每个世界一份,改一个世界不影响别的:
| 规则 | 管什么 |
|---|---|
spawn_monster |
僵尸骷髅这类敌对生物自然刷怪 |
spawn_animal |
羊牛鸡这类动物自然刷怪 |
spawn_spawner |
刷怪笼产不产 |
explode_blocks |
爆炸破不破坏方块 |
fire_spread |
火会不会蔓延 |
mob_griefing |
生物能不能改方块(苦力怕、末影人、羊吃草) |
projectile |
弹射物生不生效 |
piston_push |
活塞能不能推 |
liquid_flow |
水和岩浆流不流 |
farmland_decay |
耕地会不会被踩坏 |
ride |
能不能骑乘 |
piston_cross_plot |
活塞能不能越过地皮边界推 |
entity_cross_plot |
实体能不能越过地皮边界 |
管理员用 /rsw rule <世界> <规则> <true|false> 改,立刻生效,不用重启。
这些不是 gamerule
基岩版的 gamerule 是全服一份的。想让创造世界不刷怪,原版的唯一办法是把
doMobSpawning关掉——而那会连生存世界一起关掉。上面这 13 条走的是插件自己的事件,所以才能做到「创造世界不刷怪,生存世界照常刷」。代价是它们和原版 gamerule 不是同一套东西,
/gamerule查不到它们,/rsw info才查得到。
每个世界还能单独设的
除了那 13 条,这些也是按世界走的:
| 项 | 说明 |
|---|---|
| 游戏模式 | 进这个世界时强制切到某个模式;也可以设成不强制 |
| 允许的模式 | 玩家自己 /gm 能切到哪几种 |
| 玩家互相伤害 | 走插件自己的攻击事件,不是 gamerule |
| 摔落伤害 / 火焰伤害 | 分开的两项 |
| 允许飞行 | 管的是「进来那一刻还能不能飞」 |
| 背包隔离 | 这个世界的背包和别处分开存 |
| 天色锁定 | 把时间钉在某一刻 |
| 出生点 | 传送进来落在哪 |
「允许飞行」不等于「禁用 /fly」。 前者管的是你踏进这个世界那一刻手上的飞行能力,后者是权限的事。挂着飞行传进一个不许飞的世界,你会当场落地。
背包隔离打开之后,小游戏里捡的东西不会带回创造世界,反过来也一样。
谁能进
两种方式,可以叠加:
- 按权限组:设一个阶梯和最低组,够格才让进
- 点名放行:
trust名单里的人无视上面那条
/rsw access <世界> <阶梯> <最低组>
/rsw access <世界> none 取消限制
/rsw trust <世界> add|del <玩家>
不设的话默认所有人都能进。
进不去的世界
世界列表里可能出现一个标着「进不去」的世界。这不是 bug,是如实汇报。
维度号是引擎分配的,插件每次启动都要重新申请一次。申请失败的世界拿不到号,插件会把它标成不可用,所有查询都会说「进不去」。
为什么不干脆把它藏起来
因为藏起来之后你会以为这个世界被删了,然后去重建一个同名的。
更糟的是另一种做法:假装它可用。那样你会传送过去,然后掉进虚空——目标维度根本不存在,落点是未定义的。宁可挂个牌子说进不去。
看到这个牌子在群里说一声,这通常意味着服务端有一条启动日志需要看。
管理员命令
/rsw list | info <世界> | templates | status | rules
/rsw create <名字> <模板> [种子]
/rsw delete <世界>
/rsw rule <世界> <规则> <true|false>
/rsw gamemode <世界> <模式|none>
/rsw access <世界> <阶梯> <最低组> | /rsw access <世界> none
/rsw trust <世界> add|del <玩家>
/rsw spawn <世界> <x> <y> <z> | /rsw spawn <世界> clear
/rsw attr <世界> <键> [值]
/rsw tp <世界> [玩家]
/rsw rules 列的就是上面那 13 条的名字,忘了怎么拼可以现查。
常见问题
我在地皮世界是创造,回主世界为什么变生存了?
正常。游戏模式是按世界配的,走出去就按新世界的规则来。
背包里的东西不见了?
先看是不是跨了一个开了背包隔离的世界。回到原来那个世界东西就在。真丢了在群里说,有存档。
为什么 /gamerule 看不到那 13 条?
它们不是 gamerule,是插件自己的规则。/rsw info <世界> 能看到当前值。
新建的世界会占多少空间?
void 模板几乎不占,flat 按你走过的区块长。没人去的世界不会自己生成地形。
这套是自己写的吗?
是。多维度调度、按维度规则、准入判定都是自研,地皮世界也是由它创建之后交给地皮插件登记的——世界的所有权只有一处,这是设计上刻意定死的规则。