22个版本
0.5.2 | 2024年1月15日 |
---|---|
0.5.1 | 2023年4月16日 |
0.5.0 | 2023年3月13日 |
0.4.0 | 2022年9月9日 |
0.0.5 | 2018年3月13日 |
#7 在 游戏
每月23次下载
44KB
822 行
cargo-screeps
将Rust WASM仓库部署到 Screeps 游戏服务器的构建工具。
cargo-screeps
包裹 wasm-pack
,增加了从输出文件中删除node.js和Web JavaScript代码的功能,并允许直接上传到Screeps服务器。
本组织中的另一个主要项目是 screeps-game-api
,它是对游戏中Screeps API的类型安全绑定。
这两个工具配合得很好,但它们不相互依赖。cargo-screeps
可以编译和上传任何可以用 wasm-bindgen
的 wasm-pack
构建的Screeps WASM项目,而 screeps-game-api
可以在任何用 wasm-pack
构建的项目中使用。
构建选项
build
:
配置在 [build]
配置部分。无必填设置。
- 运行
wasm-pack --target nodejs
来构建Screeps:世界机器人或wasm-pack --target web
来构建Screeps:竞技场机器人 - 修改生成的模块的JavaScript加载器文件,使其与Screeps兼容;添加了
TextEncoder/
TextDecoder
的polyfill,并在将build_mode
设置为world
(默认)时,用与Screeps:世界兼容的模块加载函数替换node兼容的模块加载函数
deploy
:
根据 --mode
设置运行指定的部署模式,或运行 default_deploy_mode
配置设置,如果没有指定。
- 运行构建
- 根据模式是否上传(有身份验证凭据)或复制(有
destination
)来部署构建的代码
如果复制(当 destination
已定义时)
- 从
include_files
指定的目录(默认为pkg
和javascript
)编译.js
、.mjs
以及.wasm
/.bin
文件到指定的目录和分支 - 如果启用了修剪功能,则删除
<目标目录>/<分支名称>/
中的所有其他文件
如果正在上传(当定义了 auth_token
或 username
和 password
时)
- 从
include_files
指定的目录(默认为pkg
和javascript
)读取编译好的.js
和.wasm
文件。 - 读取用于上传选项的
screeps.toml
- 将所有读取的文件上传到指定分支的服务器上,使用文件名作为服务器上的文件名
上传
:
是 cargo screeps deploy -m upload
的快捷方式。
复制
:
是 cargo screeps deploy -m copy
的快捷方式。
配置选项
无命名空间
default_deploy_mode
:当未设置--mode/
选项时,控制-m
cargo screeps deploy
使用哪种模式。
[build]
此配置设置通用构建选项。
build_mode
:模块应该为哪个游戏构建;world
或arena
。build_profile
:应该使用的构建配置;release
、dev
或profiling
。out_name
:用于在pkg
目录中由wasm-pack
创建的模块的名称。默认为 Cargo.toml 中定义的 crate 名称。extra_options
:您希望传递给wasm-pack
的任何额外命令行标志,例如启用功能。
这些选项中的任何一个都可以通过自己的构建部分来覆盖给定模式。例如,
[upload.build]
extra_options = ["--features=alliance_behavior"]
将在运行 upload
模式时构建名为 alliance_behavior
的功能。
配置模式
配置模式可以将构建的文件复制到目标目录,或使用 Screeps API 上传到目标服务器。
模式应具有文件系统目标以复制到,或上传的认证凭据(可选,服务器信息)。
可选地,它还可以有一个子表 [mode.build]
,以覆盖任何全局 [build]
选项。
复制选项
用于部署到文件系统位置的选项。
-
destination
:复制文件到的目录如果此路径不是绝对路径,则将其解释为相对于
screeps.toml
的相对路径。 -
branch
:要复制的“分支”这是
destination
的子目录,js/wasm文件将被复制到其中。默认为"default"
。 -
prune
:如果为true,则会在目标/分支目录中找到的额外文件将被删除。默认为false
。
上传选项
部署到Screeps服务器的选项。
-
auth_token
:您的Screeps账户的授权令牌 -
username
:您的Screeps用户名或电子邮件 -
password
:您的Screeps密码可以提供auth_token或用户名/密码。当两者都设置时,将使用授权令牌。对于私有服务器,使用screepsmod-auth设置密码。
-
branch
:要复制的“分支”这是要部署到Screeps服务器上的“分支”。默认为
"default"
。 -
prefix
:如果设置,则向上传路径添加URL前缀。使用"ptr"
或"season"
分别上传到公共测试领域和季节性服务器。 -
hostname
:要上传到的主机名例如,这可能是
screeps.com
、localhost
或server1.screepsplu.us
。默认为screeps.com
。 -
ssl
:是否使用ssl连接到服务器这通常适用于主服务器,对于私有服务器则为false。默认为
true
。 -
port
:连接到服务器的端口号这通常应设置为私有服务器为
21025
。默认为443
。
更新cargo screeps
要更新cargo-screeps
,只需使用--force
(-f
)标志重复安装过程。
更新后,您可能需要执行完整的cargo clean
,以删除使用旧版cargo-screeps
构建的任何旧工件。
cargo install -f cargo-screeps
cargo clean
cargo screeps build
依赖项
~23–42MB
~656K SLoC