#minecraft-server #minecraft #statik

statik_proto

'statik' Minecraft 替代服务器使用的相关 Minecraft 协议和数据包

2 个版本

0.2.1 2023 年 5 月 15 日
0.2.0 2023 年 5 月 15 日

#899 in 游戏


用于 2 个crate(通过 statik_server

MIT/Apache

35KB
711

statik-rs

statik(希望将成为)是一个轻量级的、可容器化的 Minecraft 服务器,其唯一目的是在服务器不在线时使其看起来在线,并发送信号启动实际服务器。这允许在没有人玩时关闭通常内存和 CPU 密集的 Java Minecraft 服务器,同时让客户端仍然看到服务器在线。

Statik 的 MSRV(最低支持的 Rust 版本)是 Rust 的最新版本,因为这个项目可能包含之前版本中不存在的最新 Rust 功能。


使用方法

要运行 statik,您必须通过 rustup 安装 Rust。

要在默认端口 25565 上运行服务器,请运行此命令

$ cargo run --release

在开发过程中只需运行

$ cargo run

(这将使用发布模式编译项目的依赖项,但实际的二进制文件将使用默认的开发配置和调试断言编译)

可以通过 statik.toml 文件配置各种设置 - 这可以在运行命令执行的任何目录中提供,或者如果尚不存在,将自动生成。

或者更改配置文件的路径

$ cargo run -- --config=path/to/my_config_file.toml

一切准备就绪后,以发布模式运行服务器

$ cargo run --release

您还可以从 https://crates.io/crates/statik 安装服务器二进制文件

$ cargo install statik --locked

注意:这可能不是最新的,并且从此仓库的主要分支安装可能更好

$ cargo install --git https://github.com/Sycrosity/statik-rs --locked

贡献

欢迎所有和任何贡献!拉取请求将检查 cargo testcargo clippycargo +nightly fmt。注意本项目使用不稳定的 cargo fmt 设置,并需要在夜间版本中安装和运行 cargo fmt。


鸣谢

本项目受到了以下项目的强烈启发,没有它们的辛勤工作,该项目无法完成

  • limbo - statik 的主要灵感来源,专为类似用途设计,但自 2022 年 5 月以来未开发
  • bamboo - 尝试从头开始在 Rust 中重新编写 Minecraft 服务器 Java 代码
  • feather - 自2022年6月以来未提交过代码的另一个Minecraft服务器重写
  • tokio的mini-redis教程 - 一个实现了的tokio服务器示例,该服务器接受并处理TCP连接,帮助我布局和构建此服务器。

许可证

许可协议为以下之一

任选其一。

除非你明确表示,否则你有意提交给作品作为Apache-2.0许可证定义的贡献,将如上所述双重许可,没有其他附加条款或条件。

依赖关系

~1.1–2MB
~43K SLoC