模组介绍
下面按功能分类列出 Tellus Plus 的全部能力。每一项都对应模组里的实际实现,没有占位或规划中的条目混在其中 (开发中的项目会明确标注)。
地形生成
地球尺度地形
基于公开地理高程数据构建。地形不是程序化噪声,而是从真实 DEM 采样而来,你站的每一格都对应地球上的真实经纬度。
真正的 1:1 比例
1 格 = 1 米,海洋不压缩。垂直范围达 32,640 格(Y −11040 到 21599)。
月球与火星
从 NASA 真实行星栅格生成:火星用 MGS MOLA,月球用 LRO LOLA。两者都以 HTTP Range 请求逐行读取,火星每行 23 KB、月球每行 92 KB。
高度可定制的参数
世界比例、陆地与海洋高度倍率、海平面、高度偏移、上下世界边界,以及河流、湖泊、海洋各自独立的海岸线融合。
海岸线融合
把河流、湖泊与海岸边缘平滑过渡到周围地形。可选择在陡坡上关闭融合,让悬崖保持锐利。
生物群系对应真实气候
由 Köppen-Geiger 气候分类驱动,而非程序化噪声。沙漠、雨林、苔原出现在它们真实存在的位置。
地下生成
可配置的洞穴生成、原版矿石分布与岩浆池。洞穴不会在极高真空区错误生成。
真实道路与建筑
OpenStreetMap 矢量几何被光栅化进世界。含 26 张材料表、175 个方块条目、20 个分类。
世界模拟
实时时间
昼夜循环与游戏内位置的真实本地时钟同步,日出日落与现实一致。在东京和伦敦会看到不同的天色。
实时天气
拉取你所在位置的实时天气并同步到游戏内(雨、雷暴或雪),取代原版的随机天气。
历史积雪覆盖(开发中)
根据近期气温与降雪决定积雪范围,让季节性覆盖更可信。
界面与操作
地形预览界面
在确定创建世界之前就能看到当前设置的效果。调整设置远比创建世界后才发现问题要快。
游戏内地图传送(GeoTP)
选择真实世界坐标并传送过去。支持按经纬度直接定位,也支持框选区域批量下载。
「我在哪里」HUD
显示当前纬度、经度、比例、海拔与所在瓦片层级,坐标可一键复制。
实时进度报告
覆盖所有耗时操作:瓦片下载、地形采样、预览构建的每个阶段都会显示当前在做什么。
配置界面
数据源、天体、地图主题、缓存占用、框选删除,全部集中在 Mod Menu 的 Tellus Plus 配置页。
缓存管理
列出每个缓存的大小并允许单独删除:地图瓦片、地表覆盖、气候、地形高程、各国高精度 DEM。
多语言
上游只提供英文。Tellus Plus 提供英文、简体中文与西班牙文三种语言, 覆盖范围刻意超出配置界面本身:Mod Menu 的每个选项标签与提示、屏幕 HUD、小地图、 地形预览的阶段名称与进度文本、命令反馈与错误消息、世界创建界面与自定义列表。 约 267 条原先硬编码在源码中的字符串现在走翻译系统,地图主题名称也已翻译,包括全部八个内置主题。
性能与兼容
Distant Horizons 集成
注册 DH 世界生成覆盖(API v4+),远景地形用 Tellus 数据构建。快速模式用自定义 LOD 生成器,精细模式委托 DH 的区块生成器。
Voxy 支持
实时区块注入,含显存感知的半径上限与队列背压保护。
加固的下载层
单飞去重、瞬时故障重试、按域名熔断、取消不计为失败。
边缘镜像代理
面向中国大陆玩家,数据请求不必每次都跨境。每条路由映射到固定的上游主机,不是通用转发器。
预载账本
管理批量区域预生成,支持查看与框选删除。
原生加速内核
Rust 内核提供双线性采样、加权距离变换与四套高程修复。原生库是加速器而非依赖,缺失时行为完全一致。
地形质量算法
上游的高程处理相对粗糙。Tellus Plus 从 arnis 移植了四套高程修复算法:
- 双边物理阈值过滤:拒绝物理上不可能存在的高程。上游只在一侧应用阈值,因此过高的值可能漏过。
- 5×5 MAD 离群点移除:通过把每个采样与其邻域的中位绝对偏差比较来抹除孤立尖峰。上游没有对应实现,因此单个坏采样会以细塔形式留在地形中。
- 3×3 雅可比迭代补洞:通过反复从周围邻域取平均直到数值收敛来填补空缺。上游直接编造一个高度,这就是数据空缺过去会表现为平坦台地的原因。
- 数据有效性闸门:判断下载到的瓦片是否真的有用,而不只是 HTTP 请求是否成功。
加固的下载层
| 改动 | 为什么重要 |
|---|---|
| 单飞去重 | 对同一瓦片的并发请求合并为一次下载,而不是各自开连接 |
| 瞬时故障重试 | TLS 握手被截断、socket 超时、连接重置以及 5xx/429 会带退避重试。明确的答案(404)不重试 |
| 按域名熔断 | 失败的数据源只会静默自己。过去会触发单一全局熔断器,把健康数据源一起拖下水,导致大片区域退化为回退地形 |
| 取消不再计为失败 | 取消是模组自身在最后一个等待者离开时发出的。把它计为服务端失败意味着熔断器被我们自己的记账触发 |
| 修复泄漏的在途条目 | 排队中被取消的任务从不执行清理,条目永久残留 |
| 地表覆盖读取超时 8 秒改为 30 秒 | 一个地表覆盖瓦片是 100 至 150 MB 的 GeoTIFF,8 秒对它不够 |
命令
| 命令 | 作用 |
|---|---|
/tellus map | 打开 GeoTP 地图界面(需要 gamemaster 权限) |
/tellus weather | 显示当前位置的本地天气与时间信息 |
/tellus storage | 查看与管理预载账本 |
/tellus storage delete <序号> | 从账本删除一个区域 |
/tellus storage clear <tellus|arnis> | 清空该账本 |
/tellus tp <纬度> <经度> | 传送到指定经纬度 |
/tellus config weather enable_realtime_time <true|false> | 在服务端覆盖实时时间设置 |
/tellus config weather enable_realtime_weather <true|false> | 在服务端覆盖实时天气设置 |
数据源
| 提供方 | 提供什么 |
|---|---|
| Terrain Tiles(全球 DEM) | 以米为单位的高程 |
| ESA WorldCover 2021 | 10 米精度的地表覆盖分类 |
| Köppen-Geiger 气候分类 | 气候分组 |
| OpenStreetMap | 道路、建筑、河流与湖泊的矢量几何 |
| Open-Meteo | 用于实时天气与时间的当前条件 |
| NASA MGS MOLA | 火星相对基准面的高程,128 像素/度 |
| NASA LRO LOLA | 月球相对基准面的高程,128 像素/度 |
| swissALTI3D | 瑞士高精度高程 |
| AHN | 荷兰高精度高程 |
| CANElevation | 加拿大高精度高程 |
| DTM1 | 挪威高精度高程 |
| GSI | 日本高精度高程 |
| ArcticDEM | 北极地区高程 |
| USGS 3DEP | 美国高精度高程 |
| Copernicus DEM | 全球 30 米与 90 米高程 |
已知限制
- 生态部分尚未完成:地表植被、植被密度、树木密度、水生植被与村庄作物作为设置项存在但当前锁定。
- 部分结构生成不正确:深暗之域与某些海洋结构是已知情况。可在设置中单独关闭。
- 洞穴与地下生成仍在开发中:可用,但预期后续更新会有变化。
- 月球与火星有地形,没有生态:真实高程与影像,但没有地表覆盖、气候、天气数据,那些数据对那两个天体并不存在。生物群系走通用路径,行星世界用于地形探索,生存请用地球。
- 生存可以玩但长期不稳定:后续更新可能破坏已有生存世界。
- 1:1 的开销无法通过优化消除:代价是固有的,2,040 个 section 的区块,以及最深海沟下方 11,040 格岩石。
推荐硬件
| 最低 | 推荐 | 舒适 | |
|---|---|---|---|
| 世界比例 | 30:1 | 10:1 | 1:1 |
| CPU | 4 核 | 8 核 | 8 核以上 |
| 内存 | 8 GB | 16 GB | 32 GB |
| 显卡 | OpenGL 3.3 | 4 GB 显存 | 8 GB 显存 |
| 视距 | 8 | 12 | 16 |