#minecraft-server #minecraft #statik

statik_common

由 'statik' Minecraft 兼容服务器使用的通用特性、结构体、常量和导入

2 个版本

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

#834游戏


3 crate 使用

MIT/Apache

19KB
378

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 - 从零开始重新编写Minecraft服务器Java代码的尝试
  • feather - 另一个Minecraft服务器的重写,自2022年6月以来没有提交过代码
  • tokio的mini-redis教程 - 一个实现了的tokio服务器示例,它可以接受和处理TCP连接,帮助我构建这个服务器。

许可证

许可以下任一许可:

由您选择。

除非您明确表示,否则根据Apache-2.0许可证定义的您提交的任何旨在包含在作品中的贡献,将按上述方式双重许可,不附加任何额外条款或条件。

依赖项

~1.2–2.2MB
~45K SLoC