云服务器星露谷联机教程

本文旨在通过CentOS系统 + docker实现快速搭建 Stardew Valley 服务器(不要问我为什么不用Windows Server)

环境搭建

首先购买一个服务器,这里使用腾讯云79元的轻量应用服务器(2c2g 3M)为例。在安装系统时候可选择预装了Docker的操作系统,也可选择普通的 CentOS。

执行以下代码,更新yum,并切换到国内源,以加速下载

sudo yum update -y
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache

执行以下代码安装docker 和 git(如果没有预装),并启动docker服务,添加开机自启动

sudo yum install -y docker-ce git
sudo systemctl start docker
sudo systemctl enable docker

将用户加入docker用户组

sudo usermod -aG docker $USER
newgrp docker

执行以下命令,检查是否正确安装

docker info

执行以下代码添加docker hub源,防止pull出错(见:Docker/DockerHub 国内镜像源/加速列表(1月27日更新-长期维护)-腾讯云开发者社区-腾讯云

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "https://docker.xuanyuan.me",
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

至此准备工作完毕。

搭建服务器

执行以下命令,克隆GitHub项目

git clone https://github.com/norimicry/stardew-multiplayer-docker.git
cd stardew-multiplayer-docker

这个项目似乎有一点问题,就是可执行文件的位置不对,我不确定是否是作者疏忽了,后续我可能发个issue确认一下,暂时可以通过以下代码修正。

nano docker/start.sh

将StardewValley改为StardewModdingAPI(即打了SMAPI的版本),如图

设置环境变量,steam用户名及密码

## Set these variables only during the first build or during updates
export STEAM_USER=<你的steam用户名>
export STEAM_PASS=<你的steam密码>
export STEAM_GUARD=<你的steamguard代码> # If you account is not protected, don't set

docker compose -f docker-compose-steam.yml up

由于在服务器登录steam账户,steam会向你发送邮件,内容类似这样

看起来您正在尝试使用新设备登录。此处是您访问帐户所需的 Steam 令牌验证码:
请求来自中国
XXXXX

你需要把这个五位代码填入STEAM_GUARD,再次docker compose

export STEAM_GUARD=<你的steamguard代码>
docker compose -f docker-compose-steam.yml up

最后,执行以下代码,应该可以看到 container 了

docker ps

配置服务器

由于星露谷没有官方的服务端,所以我们相当于在服务器开了一个游戏进程。为了开启联机服务,我们需要手动创建一个地图。

但是我们不可能每次都打开一次远程桌面,这就是为什么这个 docker image 预装了SMAPI和always on server mod。这个mod可以自动加载联机地图,自动睡觉(默认时间22:00),自动主持活动,无玩家时暂停游戏等等。

为了联机和打开远程桌面,我们需要开放以下端口:注意!游戏端口24642是UDP协议!

均设置为允许

然后下载一个VNC远程桌面软件,这里我推荐开源免费的TightVNC(www.tightvnc.com)

安装后,打开TightVNC Viewer,并连接到 你的服务器ip:5902

密码输入 insecure,然后你就能看见游戏界面了

点击coop->host->host new farm

这里Starting Cabins是初始联机小屋数量,有几个就能连几个人,最大默认为7

一定记得勾上skip intro,不然会卡的不行

stardew valley always on server 的图像结果

看到类似的界面就可以关闭vnc了,此时服务器mod已经启用,如果没有的话按一下F9

之后最好关闭之前放行的5902端口!

至此服务器搭建已经完成,打开客户端的界面,点击合作->加入局域网游戏

输入你的服务器ip地址即可(不需要端口,因为星露谷强制使用24642端口)

后话

可以为自己的服务器申请一个域名,并且dns解析到自己的服务器地址,便于他人访问。

服务端的存档放在 valley_saves 文件夹,mod 放在docker/mods下,服务端的mod要与客户端同步。

星露谷对配置要求不高,基本运行后占用600~700M内存,但是由于用CPU渲染,会导致CPU占用率接近100%,但是问题不大。

另外星露谷服务器并没有设置密码保护之类的功能,最好做好备份并不要随意公布ip。

祝大家玩的愉快 😛

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇