如何在 Amazon Lightsail 上托管专用的 Valheim 服务器
您将通过本教程学习如何在云中托管专用的 Valheim 服务器。按照本教程进行操作,您可以启动专用的 Valheim 服务器并在云中运行该服务器。
Valheim 是一款热门游戏,在专用服务器上可获得最佳体验。专用服务器有很多优点,例如:
- 性能:一开始您可能没注意到性能问题,但随着游戏进程的推进,在同一服务器上托管和玩游戏可能会导致游戏卡顿,有时甚至在最关键的时刻出现卡顿。
- 始终在线:如果您与两个甚至更多朋友一起玩,那么所有人同时登录可能具有挑战性。而专用服务器始终可用,您和朋友随时都可以登录。
- 延迟:如果您的朋友住得很远,专用服务器可区分延迟差异,并为每个人提供更好的整体体验。
关于本教程 | |
---|---|
时间 | 30 分钟 |
费用 | 可通过 Free Tier 免费试用 |
使用场景 | 计算、Gametech |
产品 | Amazon Lightsail |
级别 | 200 |
上次更新时间 | 2021 年 3 月 3 日 |
步骤 1:创建 Linux 实例
若要创建专用服务器,您必须先创建一个实例。
1.2 — 打开 Amazon Lightsail 控制台。
1.3 — 点击 Create instance(创建实例)。

1.4 — 点击 Change AWS Region and Availability Zone(更改 AWS 区域和可用区)。

1.5 — 选择要启动服务器的区域。服务器离您越近,您在玩游戏时延迟时间越短。但是,别忘了考虑您的朋友从哪里进行连接!

1.6 — 在 Pick your instance image(选择实例镜像)下面,选择 Linux/Unix、OS Only(仅限操作系统)和 Ubuntu 20.04。

1.7 — 选择 4 GB RAM 实例类型或更高版本。

1.8 — 为您的实例命名,然后点击 Create instance(创建实例)。
注意:如果您使用的是全新的 AWS 账户,则可能无法启动实例。若出现这种情况,请耐心等待,几分钟后应当会收到一封电子邮件,说明您的账户已通过检验。

步骤 2:连接到您的实例
现在您已创建实例,可以连接和管理实例了。
2.1 — 在服务器启动后,点击 ... 图标,然后点击 Manage(管理):

2.2 — Valheim 使用多个 UDP 端口进行通信,因此您需要为实例配置防火墙规则。
点击 Networking(网络)页签,然后点击 Add Rule(添加规则):

2.3 — 输入规则,就是将 Protocol(协议)更改为 UDP 并将 Port(端口)或范围更改为 2456-2458。
点击 Create(创建)保存防火墙规则。

2.4 — 点击 Connect(连接)页签并点击 Connect using SSH(通过 SSH 连接)。此页面还提供了有关如何使用自己的 SSH 客户端的说明。
连接之后,您应当会看到一个类似下图的浏览器窗口:


步骤 3:在实例上设置 Valheim 服务器
现在,您可以安装和运行 Valheim 服务器了。
3.1 — 您将使用 Docker 运行 Valheim。首先安装 Docker:
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo apt install docker-compose
3.2 — 创建 docker-compose.yml 文件。
文件输出结果应当如第二个代码块所示。
将 YOURSERVERNAME 和 ATLEAST5CHARACTERS 替换为有效的服务器名称和密码。请注意,此 compose 文件还支持自动更新和备份。
curl -o docker-compose.yml https://gist.githubusercontent.com/robzhu/a127a6bce1ea25b01d40efb57ad1c26e/raw/30a2927a901dd614a518319cfeaa63a6bd2648a4/gistfile1.txt
nano docker-compose.yml
#make your edits inside nano, then press CTRL+S, CTRL+X to save and quit
version: "3"
services:
valheim:
image: mbround18/valheim:latest
ports:
- 2456:2456/udp
- 2457:2457/udp
- 2458:2458/udp
environment:
- PORT=2456
- NAME="YOURSERVERNAME"
- WORLD="Dedicated"
- PASSWORD="ATLEAST5CHARACTERS"
- TZ=America/Chicago
- PUBLIC=1
- AUTO_UPDATE=1
- AUTO_UPDATE_SCHEDULE="0 1 * * *"
- AUTO_BACKUP=1
- AUTO_BACKUP_SCHEDULE="*/15 * * * *"
- AUTO_BACKUP_REMOVE_OLD=1
- AUTO_BACKUP_DAYS_TO_LIVE=3
- AUTO_BACKUP_ON_UPDATE=1
- AUTO_BACKUP_ON_SHUTDOWN=1
volumes:
- ./valheim/saves:/home/steam/.config/unity3d/IronGate/Valheim
- ./valheim/server:/home/steam/valheim
- ./valheim/backups:/home/steam/backups
3.3 — 通过运行以下命令启动服务器:
几分钟后,您应当会看到如下图所示的输出结果。
您现在可以关闭 Lightsail SSH 浏览器窗口了,您的容器将继续在后台运行。
sudo docker-compose up

3.4 — 重新前往 Lightsail 控制台,并复制实例的 IP 地址。

3.5 — 启动 Valheim,然后点击 Join IP(加入 IP)。

3.6 — 将该 IP 地址粘贴到 IP 地址输入位置。如果您要通过其他端口运行服务器,还需要添加端口号。

3.7 — 点击 Connect(连接)即可开始您的冒险之旅!

步骤 4:将当前的场景上传到新的 Valheim 服务器
如果您一直在玩单机版 Valheim 或者在 PC 上托管服务器,则可能想要将您的场景移至专用服务器。下面是具体操作:
4.1 — 通过运行以下命令连接到实例并停止 Valheim 服务器:
sudo docker stop $(docker ps -aq)
4.2 — 在 PC 上打开 worlds 目录,例如:C:\Users\%USERPROFILE%\AppData\LocalLow\IronGate\Valheim\worlds。
该目录下应当包含两个文件:YOURWORLD.db 和 YOURWORLD.fwl。您需要将这些文件上传到专用服务器上。执行此操作的最佳方法是使用 scp,但由于我们没有为 Lightsail 设置 SSH 密钥,因此您可以将文件上传到托管服务(如 Dropbox),然后从服务器下载它们。
4.3 — 将这些文件上传到文件托管服务(如 Dropbox)。在 Dropbox 文件夹中,点击鼠标右键,然后选择 Copy Dropbox link(复制 Dropbox 链接)。
4.4 — 在 Lightsail 实例中,将这两个文件下载到您的 ./valheim/saves/worlds 目录。
cd ./valheim/saves/worlds
wget https://www.dropbox.com/s/<FILE_ID>/YOURWORLD.db?dl=0 -O YOURWORLD.db
wget https://www.dropbox.com/s/<FILE_ID>/YOURWORLD.fwl?dl=0 -O YOURWORLD.fwl
4.5 — 打开 docker-compose.yml 并编辑 WORLD 属性(第 12 行),使其与 .db/.fwl 文件的名称相匹配。
例如,如果文件名为 Valheim.db,则 docker-compose.yml 文件的第 12 行将包含 WORLD="Valheim"。
4.6 — 重启您的服务器。
一切就绪!
sudo docker-compose up
恭喜您
恭喜您!您已创建用于托管 Valheim 服务器的专用服务器。祝您体验愉快!