#minecraft-server #minecraft #statik

statik_server

statik Minecraft 备用服务器使用的所有 mc/api 服务器相关代码

2 个版本

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

#50 in #minecraft-server

每月 39 次下载
statik 中使用

MIT/Apache

63KB
1K SLoC

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 - 另一个 Minecraft 服务器重写,自 2022 年 6 月以来没有提交
  • tokio的mini-redis教程 - 一个实现了tokio服务器的良好示例,该服务器可以接收和处理TCP连接,帮助我设计和构建此服务器。

许可证

许可协议为以下之一:

任选其一。

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

依赖关系

~4–11MB
~112K SLoC