星露谷云服务器开服教程 (Ubuntu)

本教程将指导您如何在基于 Ubuntu 系统的云服务器上搭建星露谷物语(Stardew Valley)多人联机服务器,通过 Stardew Multiplayer Server Mod 实现 24/7 在线托管。

前提条件

  • 一台运行 Ubuntu Server 的云服务器(推荐 2核4G 或更高配置)。
  • SSH 客户端(如 PuTTY, Xshell 或终端)。
  • Steam 账号及已购买的星露谷物语。

一. 搭建云服务器

  1. 选择云服务商: 注册并登录阿里云、腾讯云、AWS 或其他云服务商账号。
  2. 创建实例:
    • 地域: 选择离您和您的朋友较近的地域,以获得更低的延迟。
    • 配置: 建议选择 2核4G 或更高配置的经济型实例。
    • 操作系统: 选择 Ubuntu Server (例如 Ubuntu 20.04 LTS 或 22.04 LTS)。
    • 安全组/防火墙: 重要! 确保开放星露谷物语服务器所需的端口(默认为 24642 TCP/UDP)。您可能还需要开放 SSH 端口(默认为 22 TCP)。
  3. 连接服务器: 使用 SSH 客户端连接到您的云服务器。

二. 安装 SteamCMD 并下载星露谷物语

由于服务器通常没有图形界面,我们将使用 SteamCMD 来下载游戏。

  1. 更新系统并安装依赖:

    1
    2
    3
    sudo apt update
    sudo apt upgrade -y
    sudo apt install -y lib32gcc-s1 steamcmd
  2. 创建 SteamCMD 用户 (可选但推荐):
    为了安全起见,建议创建一个非 root 用户来运行 SteamCMD 和游戏。

    1
    2
    3
    sudo adduser steamuser
    sudo -i -u steamuser
    cd /home/steamuser

    后续操作请切换到 steamuser 用户执行。

  3. 下载星露谷物语:

    1
    steamcmd +login <your_steam_username> <your_steam_password> +force_install_dir /home/steamuser/stardewvalley +app_update 413150 validate +quit
    • <your_steam_username><your_steam_password> 替换为您的 Steam 账号信息。
    • 413150 是星露谷物语的 Steam AppID。
    • 如果您的 Steam 账号开启了两步验证,首次登录可能需要输入验证码。

三. 安装 SMAPI 和 Stardew Multiplayer Server Mod

  1. 下载 SMAPI:
    访问 SMAPI 官方 GitHub 发布页面 (https://github.com/Pathoschild/SMAPI/releases),找到最新版本的 SMAPI-<version>-installer.zip,复制其下载链接。

    在服务器上下载并解压:

    1
    2
    wget <SMAPI_DOWNLOAD_URL> -O smapi-installer.zip
    unzip smapi-installer.zip -d smapi_installer

    <SMAPI_DOWNLOAD_URL> 替换为您复制的下载链接。

  2. 安装 SMAPI:
    进入 SMAPI 解压目录,并运行安装脚本。

    1
    2
    3
    cd smapi_installer
    chmod +x install.sh
    ./install.sh

    按照提示操作,当询问游戏路径时,输入 /home/steamuser/stardewvalley

  3. 下载 Stardew Multiplayer Server Mod:
    访问 Nexus Mods 页面 (https://www.nexusmods.com/stardewvalley/mods/20659),下载最新版本的 Mod 文件。

    在服务器上下载并解压到游戏 Mods 文件夹:

    1
    2
    wget <MOD_DOWNLOAD_URL> -O stardew-multiplayer-server-mod.zip
    unzip stardew-multiplayer-server-mod.zip -d /home/steamuser/stardewvalley/Mods

    <MOD_DOWNLOAD_URL> 替换为您复制的 Mod 下载链接。

四. 配置和运行服务器

  1. 配置 Stardew Multiplayer Server Mod:
    首次运行游戏后,Mod 会在 Mods/StardewMultiplayerServer 目录下生成 config.json 文件。您需要编辑此文件来配置服务器。

    1
    nano /home/steamuser/stardewvalley/Mods/StardewMultiplayerServer/config.json

    主要配置项:

    • ServerPort: 服务器端口,默认为 24642。确保此端口已在云服务器安全组中开放。
    • SaveGameName: 要加载的存档名称(例如 MyFarm_123456789)。
    • Password: 服务器密码(可选)。
    • MaxPlayers: 最大玩家数。
    • PublicServer: 是否在公共列表显示(通常设置为 false)。
  2. 运行星露谷物语服务器:
    使用 SMAPI 启动游戏,Mod 会自动接管并启动服务器。

    1
    2
    cd /home/steamuser/stardewvalley
    /usr/bin/dotnet ./StardewModdingAPI.dll
    • 注意: 直接运行此命令会在当前终端会话中启动服务器。如果关闭终端,服务器也会停止。
  3. 使用 Screen 或 Tmux 保持服务器后台运行 (推荐):
    为了让服务器在您关闭 SSH 会话后依然运行,可以使用 screentmux

    安装 Screen:

    1
    sudo apt install screen

    使用 Screen 运行服务器:

    1
    2
    3
    screen -S stardew_server
    cd /home/steamuser/stardewvalley
    /usr/bin/dotnet ./StardewModdingAPI.dll

    按下 Ctrl+A 然后 D 即可分离 Screen 会话,服务器将在后台继续运行。

    重新连接 Screen 会话:

    1
    screen -r stardew_server

五. 客户端连接

  1. 启动游戏: 玩家在本地启动星露谷物语。
  2. 选择联机: 在游戏主菜单选择“联机” -> “加入”。
  3. 输入服务器信息:
    • IP 地址: 您的云服务器的公网 IP 地址。
    • 端口: 服务器端口(默认为 24642)。
    • 密码: 如果服务器设置了密码。

常见问题与故障排除

  • 无法连接服务器:
    • 检查云服务器安全组/防火墙是否开放了服务器端口(24642 TCP/UDP)。
    • 检查服务器是否正在运行。
    • 检查 config.json 中的 ServerPort 是否与客户端连接端口一致。
  • 游戏版本不匹配: 确保服务器和所有客户端的游戏版本、SMAPI 版本以及 Mod 版本一致。
  • 内存不足: 如果服务器崩溃,尝试升级云服务器配置(例如增加内存)。

希望本教程能帮助您成功搭建星露谷物语云服务器!