起因

在與好友聯機遊玩星露谷時若使用Steam伺服器,穩定性較差。因此,若是要與好友共同遊玩星露谷物語,需要尋找一種更穩定的連線方式。

準備

  1. 一臺擁有公網IP的伺服器(這裡我使用了Bandwagon的VPS主機)
    注:由於購買Bandwagon主機成本相對較高,若只是用來做內網穿透,不推薦使用Bandwagon主機,可選用其他VPS提供商更便宜的套餐。
  2. 用來遊玩星露谷物語的電腦
  3. 和你一起聯機的好友

    正式開始

    連接主機

    準備OpenSSH客戶端

    若使用Mac,則可直接忽略該步驟

若電腦是Windows系統,則需以管理員身份運行PowerShell。為確保OpenSSH可用,請運行以下命令

1
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'

若兩者均尚未安裝,則此操作會返回以下輸出

1
2
3
4
5
Name  : OpenSSH.Client~~~~0.0.1.0
State : NotPresent

Name : OpenSSH.Server~~~~0.0.1.0
State : NotPresent

若通過剛才的操作,檢測到未安裝OpenSSH,則需要運行以下指令以安裝客戶端組件

1
Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0

若電腦是Linux系統,則直接在終端用對應發行版的包管理器來安裝OpenSSH客戶端
以我使用的Arch Linux為例,直接在終端以管理員身份運行

1
pacman -S openssh

若是Debian系的發行版,則以管理員身份運行

1
apt install openssh

其他發行版這裡就不一一列舉了

正式連接

安裝OpenSSH客戶端成功後,則需用終端(Windows終端為PowerShell)運行以下命令

1
ssh root@你的伺服器IP地址 -p 伺服器登錄端口號

在伺服器上配置frps

此處只講解Linux伺服器的配置方法。
Linux伺服器可以直接使用wget指令下載frp的包,大多數的Linux發行版都內建該指令。如果沒有內建該指令,則需要先用該發行版所採用的包管理器安裝wget。
使用wget下載frp的指令如下

1
wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz

若此文章已過時,可自行前往frp官方GitHub倉庫尋找最新的下載鏈接,並替換上述指令中的下載鏈接。
等待下載完成後,輸入以下指令解壓(若是自行下載的最新版包,則需將下述指令中的壓縮包名修改為你所下載的最新版包名)

1
tar -zxvf frp_0.54.0_linux_amd64.tar.gz

然後使用cd指令進入解壓後的文件夾(同樣地,若是自行下載的包,需修改以下路徑名)

1
cd frp_0.54.0_linux_amd64

然後運行以下命令

1
./frps -c frps.toml

這樣伺服器端就配置成功了。
注:某些VPS主機的提供商默認封鎖端口,需手動放行所必須的7000和24642端口

在遊玩星露谷的電腦上配置frpc

注:下列操作只需在聯機房主的電腦進行,加入房間的好友無需進行以下配置。
首先前往frp官方的GitHub倉庫下載適用於你的操作系統的frp版本(frp可能會被很多殺毒軟體視為病毒,需手動放行)。之後在電腦上對下載的壓縮包進行解壓縮,並進入解壓縮後的文件夾。找到名為“frpc.toml”的文件,用編輯器打開它,將裡面的配置信息替換為以下內容(刪掉我的註釋)

1
2
3
4
5
6
7
8
9
server_addr = "xxx.xxx.xxx.xxx"   #此處替換為你的伺服器IP地址
server_port = 7000

[[proxies]]
name = "starudp" #此處的名稱可隨意更改,不過最好不要出現中文或特殊字符
type = "udp"
localIP = "127.0.0.1"
localPort = 24642
remotePort = 24642

配置文件修改好後,用終端打開這個文件夾,並以管理員身份運行以下指令

1
./frpc -c frpc.toml

這一步結束後,若無報錯,則內網穿透成功,可以和好友聯機玩星露谷了。
若好友要加入該房間,則需選擇「局域網連接」,並輸入xxx.xxx.xxx.xxx:24642(xxx部分替換為你的伺服器IP地址)