如何在 Amazon Lightsail 上托管专用的 Valheim 服务器

您将通过本教程学习如何在云中托管专用的 Valheim 服务器。按照本教程进行操作,您可以启动专用的 Valheim 服务器并在云中运行该服务器。 

Valheim 是一款热门游戏,在专用服务器上可获得最佳体验。专用服务器有很多优点,例如:

  • 性能:一开始您可能没注意到性能问题,但随着游戏进程的推进,在同一服务器上托管和玩游戏可能会导致游戏卡顿,有时甚至在最关键的时刻出现卡顿。
  • 始终在线:如果您与两个甚至更多朋友一起玩,那么所有人同时登录可能具有挑战性。而专用服务器始终可用,您和朋友随时都可以登录。
  • 延迟:如果您的朋友住得很远,专用服务器可区分延迟差异,并为每个人提供更好的整体体验。
本教程将您的服务器托管在 Amazon Lightsail 上,Amazon Lightsail 是一款易于使用且经济实惠的虚拟专用服务器。 
 
关于本教程
时间 30 分钟
费用 可通过 Free Tier 免费试用
使用场景 计算、Gametech
产品 Amazon Lightsail 
级别 200
上次更新时间 2021 年 3 月 3 日

步骤 1:创建 Linux 实例

若要创建专用服务器,您必须先创建一个实例。 

1.1 — 注册 Amazon Lightsail 账户。 

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 服务器的专用服务器。祝您体验愉快!

此页内容对您是否有帮助?

推荐的后续步骤