一组用于在 AWS Spot 实例上运行 Minecraft 服务器的脚本。
该存储库提供了一种创建 cloudformation 堆栈的方法,该堆栈创建:
您必须拥有 AWS 账户。在您的计算机上,确保您已安装 AWS cli 并将其配置为默认使用上述帐户的凭证。目前,帮助程序脚本不支持使用其他配置文件,但如果您知道自己在做什么,则添加起来非常容易。
确保您创建一个 EC2 密钥对用于登录运行服务器的 ec2 实例。
parameters.sample.json
复制到parameters.json
并相应地编辑值。ServerFilename
- 您从 mojang 下载的 Minecraft 服务器的名称(或者您将其重命名为的任何名称)BucketName
- 无论您想为新的 s3 存储桶命名什么ServerName
- 服务器的任意字母数字名称InstanceType
- 您想要在其上配置和运行 Minecraft 服务器的 EC2 实例类型OperatorEMail
- 您的电子邮件地址。这用于通知您自动缩放操作。KeyName
- 这是您作为先决条件创建的 EC2 密钥对的名称。SSHLocation
- 这是您家的 IP 地址。它以一种 hacky 的方式使用来将 ssh 访问锁定为只有您。SpotBid
- 您愿意为 ec2 实例每小时支付的最高金额。这并没有考虑到使用这些脚本创建的基础设施所产生的所有成本。请参阅 AWS 文档并阅读此存储库中的代码以了解详细信息。运行create-stack.sh
(位于helpers
目录中)以创建 s3 存储桶。
运行upload-scripts.sh
将引导程序和子系统脚本上传到存储桶。
将从 Mojang 下载的服务器文件上传到您在parameters.json
中指定的存储桶。它应该放置在/common/servers/
目录中。
将所有相关的 minecraft 配置上传到/servers/YOUR_SERVER_NAME/configs
下的存储桶。您必须通过将正确配置的eula.txt
放置在该目录中来确认接受 Minecraft 服务器 eula,以便服务器启动。
运行update-stack.sh
以更新现有堆栈并构建服务器。
查找在 AWS 控制台中创建的弹性 IP。您可以使用它来连接到您的服务器。
如果您在任何时候想要删除您创建的堆栈,请运行delete-stack.sh
。这并不保证 AWS 中的所有资源都会被删除。您需要进行尽职调查以确保它们是。
欢迎拉请求!