《星露谷物语》的联机机制基于局域网(UDP 协议)。通过公网 IP 服务器进行内网穿透,可以绕过复杂的路由器设置,实现稳定、低延迟的跨网络联机。
一、 原理示意图
你的电脑(房主)通过 frpc 客户端与云服务器的 frps 服务端建立隧道,将服务器的某个端口流量转发到你本地的游戏端口。
二、 服务端配置 (frps.toml)
在云服务器(建议使用 1Panel + Docker)上配置 frps.toml:
# frp 服务端监听端口,用于和你的本地电脑建立通信连接
bindPort = 7000
# 身份验证密钥(Token)
# 只有服务端和客户端 token 一致时才能连接,建议设置复杂一些防止被扫
auth.token = "你的随机安全密钥"
# Web 管理面板配置(可选)
# 设置后可通过浏览器访问 http://服务器IP:7500 查看连接状态
dashboard.port = 7500
dashboard.user = "admin" # 管理面板登录名
dashboard.pwd = "你的管理密码" # 管理面板登录密码
三、 客户端配置 (frpc.toml)
在房主电脑的 frp 文件夹下配置 frpc.toml:
Ini, TOML
# 远程服务器的公网 IP 地址
serverAddr = "175.178.59.129"
# 远程服务器通信端口(须与服务端 bindPort 一致)
serverPort = 7000
# 身份验证密钥(须与服务端 auth.token 一致)
auth.token = "你的随机安全密钥"
# 具体的穿透规则
[[proxies]]
name = "stardew-valley" # 规则名称,可自定义
type = "udp" # 星露谷联机必须使用 UDP 协议
localIP = "127.0.0.1" # 本地监听地址,通常为回环地址
localPort = 24642 # 星露谷默认的局域网端口
remotePort = 24642 # 映射到服务器上的端口,朋友加入时连接这个端口
四、 关键步骤总结
1. 防火墙开闸(最重要)
确保云服务器控制台(如腾讯云/阿里云)和 1Panel 防火墙同时放行:
7000 (TCP):用于 frp 建立隧道。
24642 (UDP):用于游戏数据传输。
2. 编写一键启动脚本
在本地 frpc.exe 目录下新建 启动联机.bat,解决编码问题请使用 ANSI 格式保存:
代码段
@echo off
title 星露谷内网穿透助手
cd /d "%~dp0"
frpc.exe -c frpc.toml
pause
3. 进入游戏联机
房主:启动脚本 -> 启动游戏 -> 合作 -> 主持 -> 勾选“接受 IP 连接”。
好友:启动游戏 -> 合作 -> 加入 -> 加入局域网游戏 -> 输入云服务器 IP。
注: 使用云服务器穿透不仅能玩星露谷,对于《泰拉瑞亚》、《我的世界》等游戏也同样适用,只需修改对应的 localPort 即可。