Skip to content

Repository files navigation

Voxel Frontier

简体中文 | English | 日本語

项目仍在持续开发。多人客户端与服务端必须使用相同构建版本;升级前请备份世界、账户和 OP 文件。

项目定位

Voxel Frontier 是使用 Rust 与 Bevy 0.19 构建的原创体素生存沙盒,玩法受到经典方块生存游戏启发。当前版本已经可以进行单人游戏,也提供独立的权威服务器和图形化多人连接流程,但它不是完整的 Minecraft 复刻,也不承诺内容或机制完全一致。

核心功能

  • 确定性生成并按区块流式加载的地形、洞穴、生物群系、矿物、水和熔岩
  • 第一人称移动、碰撞、游泳、挖掘、放置、工具耐久与物品掉落
  • 36 格背包、快捷栏、装备、2x2/3x3 合成、箱子与熔炉
  • 生命、饥饿、护甲、氧气、跌落、溺水、岩浆、死亡与重生
  • 农田、小麦生长、流体模拟、水桶、火把和昼夜循环
  • 晴天、雨天、雷暴、闪电表现,以及运行时合成的环境和交互音效
  • 僵尸、牛、猪、鸡及其生成、移动、战斗和掉落
  • 简体中文、英语、日语界面,包含标题、世界、设置、暂停和多人菜单
  • 本地多世界管理、旧存档兼容、原子保存和可恢复的回收站删除
  • C/S 多人架构:权威移动、方块、物品、生存、PVP、生物和共享容器状态
  • 注册/登录、Argon2id 密码哈希、账户持久化、单账号单会话和文件控制的 OP
  • 聊天、死亡消息、F3 调试信息,以及 OP 控制的时间和天气命令

快速开始

安装仓库指定的 Rust 工具链后运行:

cargo run

程序首先打开图形化标题菜单:

  1. 选择“单人游戏”可创建或选择本地世界。
  2. 选择“多人游戏”可在界面中输入服务器地址或选择安全令牌。
  3. 首次连接选择“注册”,以后使用同一账户“登录”。密码不会写入客户端设置。
  4. 在设置中可即时切换简体中文、英语和日语,并分别调节主音量、音效和环境音量。

单人存档位于 saves/worlds/<世界 ID>/world.json;旧版 saves/world.json 会作为“旧世界”继续显示。游戏会自动保存,也可在单人模式按 F5 保存。

多人与独立服务器

本机测试可启动内置无窗口服务器:

cargo run -- --server --bind 127.0.0.1:27666 --pvp on --commands on

然后正常运行客户端,在“多人游戏”界面连接 127.0.0.1:27666。玩家不需要通过终端连接服务器。

公网部署使用不依赖客户端功能的独立二进制:

cargo build --release --no-default-features --bin voxel_frontier_server
.\target\release\voxel_frontier_server.exe --bind 127.0.0.1:27666 --server-save saves/server_world.json --pvp on --commands on

公网监听必须配置服务端私钥、公开地址和服务端签发的连接令牌;不要把无安全认证模式暴露到公网。完整参数可运行:

.\target\release\voxel_frontier_server.exe --help

服务器在 saves/server_users.json 保存账户哈希,在 saves/ops.json 保存管理员名单。先注册账户,停止服务器,再将账户名加入 OP 文件并重启:

{
  "version": 1,
  "operators": ["Admin_1"]
}

客户端不能自行声明 OP。公网部署应限制账户文件、私钥和令牌的访问权限,并同时备份世界、账户和 OP 文件。

Linux 可直接使用仓库中的非 root Docker 部署:

cp .env.example .env
# 设置 VF_PUBLIC_ADDRESS 后:
docker compose up -d --build

文档

许可证

源代码使用 MIT License。随项目分发的 Noto Sans CJK 字体使用 SIL Open Font License,详见 assets/fonts/OFL-NotoSansCJK.txt

About

Minecraft-inspired voxel survival sandbox built with Rust and Bevy, with C/S multiplayer and a Linux Docker dedicated server.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages