mirror of
https://github.com/postyizhan/NitWikit.git
synced 2025-03-19 17:10:58 +08:00
Slime 教程
This commit is contained in:
parent
846960a938
commit
1846604406
142
docs-java/advance/slime-world.md
Normal file
142
docs-java/advance/slime-world.md
Normal file
@ -0,0 +1,142 @@
|
||||
---
|
||||
title: Slime 世界格式
|
||||
sidebar_position: 11
|
||||
---
|
||||
|
||||
# Slime 世界格式
|
||||
|
||||
Slime 世界格式是 Hypixel 开发的一种世界存储格式
|
||||
|
||||
优势
|
||||
|
||||
* 使用 ZStd 替换 ZLib,大大优化体积和加载速度
|
||||
* 支持数据库作为加载后端,多服小游戏非常有用
|
||||
* 支持 readonly,玩完就没
|
||||
* 预加载到内存当中,玩家不会因为加载卡顿
|
||||
|
||||
适合的服务器:
|
||||
|
||||
* 不适用于大型生存世界,而是适用于小型世界,如**迷你游戏地图或服务器大厅**
|
||||
|
||||
## 下载
|
||||
|
||||
前往[Github Release](https://github.com/InfernalSuite/AdvancedSlimePaper/releases),找到适合的版本下载即可
|
||||
|
||||
* `plugin-***-R0.1-SNAPSHOT.1.jar` ASM 的插件版本
|
||||
* `asp-server.jar` ASM 的独立服务器核心版本(基于Paper)(不推荐)
|
||||
* `importer-***-R0.1-SNAPSHOT.jar` ASM 独立的导入工具,可以将原版世界格式转为 SRF 格式
|
||||
|
||||
## 配置
|
||||
|
||||
这部分会教你如何配置 Slime 世界
|
||||
|
||||
### 世界配置选项
|
||||
|
||||
例子:
|
||||
|
||||
```yaml
|
||||
worlds:
|
||||
my_great_world:
|
||||
source: mongodb
|
||||
loadOnStartup: false
|
||||
readOnly: true
|
||||
spawn: 940, 2, -370
|
||||
allowMonsters: false
|
||||
allowAnimals: false
|
||||
difficulty: peaceful
|
||||
pvp: false
|
||||
environment: NORMAL
|
||||
worldType: default
|
||||
```
|
||||
|
||||
**`source`** 存储世界的数据源名称
|
||||
|
||||
可用选项: `file`,`mysql`,`mongodb`,也可以使用第三方插件提供的其他数据源。
|
||||
|
||||
`loadOnStartup` 服务器启动时是否应加载世界
|
||||
|
||||
可用选项: `true` 和 `false`
|
||||
|
||||
**`readOnly`** 只读选项
|
||||
|
||||
描述:如果为`true`,对世界的更改将永远不会被存储.如果为`false`,世界将被锁定,因此其他服务器无法在**没有处于只读模式**的情况下**访问它**
|
||||
|
||||
:::tip
|
||||
|
||||
简单的来说,如果你需要使用一些黑魔法,比如通过数据库跨服同步世界,你需要将`readOnly` 设置为`true`
|
||||
|
||||
这亦是 Slime 格式适合小游戏服的一个重要原因
|
||||
|
||||
:::
|
||||
|
||||
**`spawn`** 世界的生成坐标
|
||||
|
||||
默认为: `0, 255, 0`
|
||||
|
||||
**`environment`** 世界环境
|
||||
|
||||
可用选项: `normal`,`nether`,`the_end`
|
||||
|
||||
**`worldType`** 世界类型
|
||||
|
||||
可用选项: `default`,`flat`,`large_biomes`,`amplified`,`customized`,`debug_all_block_states`,`default_1_1`
|
||||
|
||||
其他选项看名字就知道啥意思了,就不介绍了
|
||||
|
||||
### 数据源配置
|
||||
|
||||
在使用数据库存储你的世界之前,你必须对其进行配置,配置在`sources.yml` 中,例子:
|
||||
|
||||
```yaml
|
||||
file:
|
||||
# 存储世界的路径
|
||||
path: slime_worlds
|
||||
mysql:
|
||||
enabled: true
|
||||
host: 127.0.0.1
|
||||
port: 3306
|
||||
username: my_mysql_username
|
||||
password: my_mysql_password
|
||||
database: slimeworldmanager
|
||||
mongodb:
|
||||
enabled: true
|
||||
host: 127.0.0.1
|
||||
port: 27017
|
||||
username: my_mongo_username
|
||||
password: my_mongo_password
|
||||
auth: admin
|
||||
database: slimeworldmanager
|
||||
collection: worlds
|
||||
```
|
||||
|
||||
:::note
|
||||
|
||||
如果你要使用 MySQL 或 MongoDB,请将对应选项的`enabled` 设为 `true`
|
||||
|
||||
:::
|
||||
|
||||
## 命令
|
||||
|
||||
请查阅官方[wiki](https://infernalsuite.com/docs/asp/swp/commands)
|
||||
|
||||
## 转换世界
|
||||
|
||||
请查阅官方[wiki](https://infernalsuite.com/docs/asp/swp/converting_worlds)
|
||||
|
||||
## FAQ
|
||||
|
||||
### 与 Spigot 兼容吗?
|
||||
|
||||
不兼容,Slime 是基于 Paper 的
|
||||
|
||||
### 可以覆盖默认世界吗?
|
||||
|
||||
完全可以
|
||||
|
||||
### Slime 与 Multiverse-Core 兼容吗?
|
||||
|
||||
Multiverse-Core 会检测到 Slime世界为未加载状态,因为它找不到世界目录,然后直接忽略它们.不应该有任何问题;然而,Multiverse-Core 无法与 Slime 世界一起使用.
|
||||
|
||||
### Slime 有世界大小限制吗?
|
||||
|
||||
有,Slime 可以处理高达 46340x4630 块区域.这是 Slime 理论上可以处理的最大的尺寸,前提是有足够的内存.然而,拥有如此大的世界根本不推荐.
|
@ -45,6 +45,8 @@ TODO
|
||||
|
||||
### 更高效的储存方式
|
||||
|
||||
#### Linear
|
||||
|
||||
:::danger
|
||||
|
||||
Linear不适合玩家基数非常大/服务器经常滞后/压缩比较大(推荐默认1-5)/ CPU 核心数目小/服务器硬盘空间足够大的服务器。
|
||||
@ -61,24 +63,24 @@ Linear不适合玩家基数非常大/服务器经常滞后/压缩比较大(推
|
||||
|
||||
主世界可以节省大约 50% 的空间,末地大约为 90% ,且使用现代的 zstd 压缩,可以获得更快的加载和保存速度
|
||||
|
||||
#### 转换区域格式
|
||||
##### 转换区域格式
|
||||
|
||||
使用之前你需要将 ANVIL 转换成 Linear 区域格式,如果你使用的是 Leaves ,你可以在服务端内部自动转换。
|
||||
|
||||
[转换工具](https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools) ,转换非常简单你只需要看着教程做就行(记得做备份)
|
||||
|
||||
#### 开启区域格式
|
||||
##### 开启区域格式
|
||||
|
||||
目前,支持线性区域格式的仅有 LinearPurpur , LinearPaper , Leaves , Leaf , Kaiiju (还有一堆Fork),
|
||||
|
||||
开启教程不多说,你只需要查看 Wiki 就行。
|
||||
|
||||
#### 不兼容的插件
|
||||
##### 不兼容的插件
|
||||
|
||||
ServerBackup 一款备份插件,会由于找不到mca文件报错。
|
||||
目前已知不兼容线性区域的格式的插件极少无比,已知的有大部分在线网页地图浏览程序,以及Residence部分不兼容(感谢z大神的优雅代码,当传送到一个未加载区块的领地时会崩溃)
|
||||
|
||||
#### 测试结果
|
||||
##### 测试结果
|
||||
|
||||
感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf ,实际结果可能与测试结果有出入
|
||||
|
||||
@ -96,6 +98,10 @@ ServerBackup 一款备份插件,会由于找不到mca文件报错。
|
||||
|
||||
:::
|
||||
|
||||
#### Slime
|
||||
|
||||
请查看[Slime 区域格式](https://nitwikit.yizhan.wiki/Java/advance/slime-world)
|
||||
|
||||
## 其他
|
||||
|
||||
1。使用软链接 / 快捷方式共享多个服务器的 lib ,Minecraft 本体等(除非空间非常少否则不要这样,后果自负);
|
||||
|
20
package.json
20
package.json
@ -18,16 +18,16 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@ant-design/icons": "^5.5.1",
|
||||
"@docusaurus/core": "^3.6.1",
|
||||
"@docusaurus/faster": "^3.6.2",
|
||||
"@docusaurus/plugin-content-docs": "^3.6.1",
|
||||
"@docusaurus/plugin-debug": "^3.6.1",
|
||||
"@docusaurus/plugin-pwa": "^3.6.1",
|
||||
"@docusaurus/plugin-sitemap": "^3.6.1",
|
||||
"@docusaurus/preset-classic": "^3.6.1",
|
||||
"@docusaurus/theme-common": "^3.6.1",
|
||||
"@docusaurus/theme-mermaid": "^3.6.1",
|
||||
"@docusaurus/theme-search-algolia": "^3.6.1",
|
||||
"@docusaurus/core": "^3.6.3",
|
||||
"@docusaurus/faster": "^3.6.3",
|
||||
"@docusaurus/plugin-content-docs": "^3.6.3",
|
||||
"@docusaurus/plugin-debug": "^3.6.3",
|
||||
"@docusaurus/plugin-pwa": "^3.6.3",
|
||||
"@docusaurus/plugin-sitemap": "^3.6.3",
|
||||
"@docusaurus/preset-classic": "^3.6.3",
|
||||
"@docusaurus/theme-common": "^3.6.3",
|
||||
"@docusaurus/theme-mermaid": "^3.6.3",
|
||||
"@docusaurus/theme-search-algolia": "^3.6.3",
|
||||
"@giscus/react": "^3.0.0",
|
||||
"@mdx-js/react": "^3.1.0",
|
||||
"antd": "^5.21.2",
|
||||
|
Loading…
x
Reference in New Issue
Block a user