2 个版本
0.2.1 | 2023年5月15日 |
---|---|
0.2.0 | 2023年5月15日 |
#80 在 #minecraft-server
在 3 个crate中使用(通过 statik_proto)
19KB
394 行
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 test
,cargo clippy
和 cargo +nightly fmt
。注意,此项目使用不稳定的cargo fmt设置,并需要在夜间版上安装和运行cargo fmt。
致谢
此项目受到了以下项目的强烈启发,没有它们的辛勤工作,该项目无法完成:
- limbo - statik的主要灵感来源,设计用于非常相似的使用案例,但自2022年5月以来一直未开发
- bamboo - 从零开始重写Minecraft服务器Java代码的尝试,使用Rust语言实现
- feather - 另一个Minecraft服务器重写项目,自2022年6月以来没有提交过代码
- tokio的mini-redis教程 - 一个实现良好的tokio服务器示例,该服务器接受并处理TCP连接,帮助我设计和构建此服务器。
许可证
根据以下任一许可证授权
- Apache License, Version 2.0 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
您可自行选择。
除非您明确表示,否则根据Apache-2.0许可证定义的,您有意提交并包含在作品中的任何贡献,将根据上述许可证双重授权,不附加任何额外条款或条件。
依赖项
~280–730KB
~18K SLoC