跳转到内容

MCHPRS

一个为红石而构建的 1.20.4 Minecraft 服务器。基于 Rust,每个 512x512 的区域运行在单独的线程上,拥有非常高的性能

MCHPRS 与传统服务器非常不同。因为这个服务器是为计算红石的使用而量身定制的,所以许多原版的东西在这里不存在

MCHPRS 的构建需要 Rust 和 Cargo,具体安装教程请自行上网搜索

Terminal window
git clone https://github.com/MCHPR/MCHPRS.git
cd MCHPRS
cargo build --release

完成后,编译的可执行文件为 ./target/release/mchprs./target/release/mchprs.exe ,具体取决于操作系统。

如果你希望基于你的 CPU 进一步优化(但兼容性会下降),你可以使用这个指令构建:

Terminal window
RUSTFLAGS="-C target-cpu=native" cargo build --release

如果你不想构建,你也可以直接在 GitHub Action 下载构建好的

配置文件在 Config.toml:

字段描述默认值
bind_address绑定地址与端口0.0.0.0:25565
motdMOTD"Minecraft 高性能红石服务器"
chat_format聊天消息格式化方式(使用花括号插入 usernamemessage 变量)<{username}> {message}
max_players最大同时在线玩家数99999
view_distance视距8
whitelist是否启用白名单(读取 whitelist.json 文件)false
schemati模拟 Open Redstone Engineers 的 Schemati 插件 的验证与目录结构false
block_in_hitbox允许在玩家碰撞箱内放置方块(简化碰撞检测逻辑)true
auto_redpiler自动使用红石编译器false

MCHPRS 本身不支持玩家身份验证,但支持 Velocity 的现代转发

要使用 Velocity IP 转发,您必须设置并配置 Velocity 代理。确保您 Velocity 配置中的 player-info-forwarding-modemodern。然后,将以下配置追加到 Config.toml:

[velocity]
enabled = true
# 这是来自你 Velocity 配置中 `forwarding-secret-file` 文件里的密钥内容,
# 而不是该文件的路径。
secret = "<密钥>"
命令缩写说明
/rtps [rtps|无限]将区域的红石刻每秒设置为 [rtps]。默认值:10。(1 个红石刻 = 2 个游戏刻)
/radvance [刻数]/radv使区域推进 [刻数] 个红石刻
/teleport [玩家名]/tp传送至目标玩家所在位置
/teleport [x] [y] [z]/tp传送至指定坐标(支持相对坐标,浮点数格式参见 Rust 官方文档
/speed [速度值]设置飞行速度
/gamemode [模式]/gmc/gmsp切换游戏模式
/container [类型] [信号强度]获取特定容器(如木桶),该容器被比较器检测时会输出指定信号强度
/worldsendrate [频率]/wsr将世界发送速率设置为 [频率](向客户端发送世界更新的频率)。范围:1 ~ 1000。默认值:60
/toggleautorp切换红石编译器的自动编译功能
/stop关闭服务器

Redpiler 是 MCHPRS 的核心,这允许红石模拟比其他方式快得多。当 Redpiler 运行时,所有红石连接都会预先计算,因此在此状态下与世界的交互受到限制。当 Redpiler 运行时放置或破坏方块将导致重置并禁用 Redpiler。

命令别名说明
/redpiler compile/rp c手动启动红石编译器。可使用下列多个参数(详见下文)。
/redpiler reset/rp r停止红石编译器。
参数简写说明
--optimize-o启用红石编译优化。警告:此操作可能导致当前建造状态损坏。使用时请备份存档。
--io-only-i仅更新输入/输出相关方块状态(包括活板门、红石灯、音符盒、按钮、拉杆和压力板)。此参数可显著降低延迟并提升模拟速度。
--wire-dot-out-d将点状红石线视为-i参数中的输出方块(适用于彩色显示器等场景)。
--update-u红石编译器重置后更新全部方块状态。
--export-e以二进制格式导出编译图谱。适用于红石编译图谱的第三方开发场景。
--export-dot生成后端图谱的 graphviz 点文件。用于调试/开发用途。
--print-after-all每次红石编译器构建后输出 RIL 电路调试信息。用于调试/开发用途。
--print-before-backend每次后端编译之前输出 RIL 电路调试信息。用于调试/开发用途。
  • 启动速度极快,在配置文件已生成后启动仅需 2 ms
  • 内存占用特别低,启动后内存占用仅有 1 MB
  • 针对红石进行专门优化,达到了无与伦比的最强性能

更多有关 MCHPR 的介绍请查看 README