最流暢的聯(lián)機(jī)體驗(yàn)!TR使用IPv6遠(yuǎn)程聯(lián)機(jī)
前言
本教程參考了星露谷物語吧的貼子:http://c.tieba.baidu.com/p/7591250125
學(xué)習(xí)本教程,則默認(rèn)主機(jī)已經(jīng)有一個(gè)可用的公網(wǎng)IPv6地址,而客機(jī)有一個(gè)可用的IPv6地址
IPv6聯(lián)機(jī)有什么好處?
最直觀的好處:延遲低
這是使用Sakura Frp創(chuàng)建的最低級(jí)內(nèi)網(wǎng)映射隧道的延遲

這是我好友ping我的IPv6地址的延遲

看上去似乎只有7ms的差距?實(shí)際上,內(nèi)網(wǎng)穿透在使用中的延遲要×2,因?yàn)檫@里ping是向Frp服務(wù)器通信,而實(shí)際使用中還要經(jīng)Frp服務(wù)器轉(zhuǎn)發(fā)到主機(jī),因此實(shí)際延遲是52×2=104ms,而IPv6是直接向主機(jī)通信,延遲就是直觀的45ms,足足比內(nèi)網(wǎng)穿透快了一倍多
我怎么知道自己電腦支不支持IPv6聯(lián)機(jī)?
這里區(qū)分開主機(jī)和客機(jī)兩個(gè)部分,主機(jī)需要有公網(wǎng)IPv6地址,客機(jī)只需要有IPv6地址就行了
我是主機(jī)
首先打開這個(gè)測(cè)試IPv6的網(wǎng)站:http://test-ipv6.com/
若評(píng)分顯示10/10,且IPv6地址開頭不是fe80,那么說明你有公網(wǎng)IPv6地址,可以繼續(xù)閱讀下面的教程聯(lián)機(jī)
可能會(huì)顯示你有公網(wǎng)IPv4地址,其實(shí)這有可能是運(yùn)營商的地址,用這個(gè)是聯(lián)機(jī)不了的,不用管(當(dāng)然除非你本身就有公網(wǎng)IPv4地址)

如果你評(píng)分不是10/10或者IPv6地址開頭是fe80,這說明你沒有IPv6地址或者只有局域網(wǎng)地址,建議上B站搜索教程(因?yàn)槲覜]有這種情況,也沒法給有用的教程)
這里我找了一個(gè)視頻教程,可以參考一下:

我是客機(jī)
客機(jī)的話只要你能ping通主機(jī)的IPv6地址就行,同時(shí)按下Windows鍵+R鍵,在彈出窗口中輸入cmd
然后在命令行中輸入?ping -6 [主機(jī)的IPv6地址]
注意,這個(gè)中括號(hào)一定要帶上,就像這樣:

只要在下面彈出的內(nèi)容中,已接收不是0,就說明你可以主機(jī)用IPv6聯(lián)機(jī)。當(dāng)然,丟失率為0%的話聯(lián)機(jī)效果最好

我有公網(wǎng)IPv6,怎么聯(lián)機(jī)?
需要注意的是,TR本身是不支持IPv6聯(lián)機(jī)的,因此我們要使用端口轉(zhuǎn)發(fā)工具,這里用的是tinyPortMapper,支持TCP和UDP端口轉(zhuǎn)發(fā),拿去給其他不支持IPv6聯(lián)機(jī)的游戲用也是可以的,Github下載鏈接
TR默認(rèn)使用TCP端口7777,如果你用TerrariaServer.exe開服的話,可以更改端口
以下內(nèi)容直接摘自開頭提到的星露谷吧的貼子
下載好后解壓,打開有tinymapper.exe文件的文件夾,然后在上方路徑框內(nèi)輸入"cmd"并按下回車

在打開的輸入框中輸入下面命令
它的語法:-l監(jiān)聽本地ip地址 -r轉(zhuǎn)發(fā)至目標(biāo)ip地址 -u表示這是udp連接 -t表示這是tcp連接,泰拉用-t就行了
如果是IPv6地址需要加上中括號(hào)再加冒號(hào)加端口號(hào)。選項(xiàng)和地址之間不需要空格
主機(jī)的命令:tinymapper.exe -l[<主機(jī)IP>]:<主機(jī)端口號(hào)> -r127.0.0.1:7777 -t
含義是:監(jiān)聽當(dāng)前設(shè)備上某個(gè)IPv6的7777端口,然后轉(zhuǎn)發(fā)至本地的游戲端口
客機(jī)的命令:tinymapper.exe -l127.0.0.1:<監(jiān)聽端口號(hào)> -r[<主機(jī)IP>]:<主機(jī)端口號(hào)> -t
含義是:監(jiān)聽本地的某個(gè)端口號(hào),然后轉(zhuǎn)發(fā)至主機(jī)負(fù)責(zé)解釋IPv6數(shù)據(jù)的地址的指定端口
以上的尖括號(hào)<>不需要保留。相同的參數(shù)名稱,參數(shù)數(shù)值也要相同!
端口號(hào)可以自圌由設(shè)定,但不應(yīng)小于1024,更不能大于65535
之后主機(jī)進(jìn)入游戲,依次點(diǎn)擊“多人模式 -> 開服并開始游戲”,選完角色和世界后,Steam多人模式可關(guān)可不關(guān),直接開房間即可
客機(jī)輸入客機(jī)命令提到的監(jiān)聽地址便可進(jìn)入
你這也太麻煩了吧?
我寫了一個(gè)快捷方式(就像隔壁星露谷吧的貼子一樣)可以幫你完成轉(zhuǎn)發(fā),你只需要輸入IPv6地址和端口即可
下載鏈接:https://crapsky233.lanzouj.com/b01f2vk0f
密碼:hnpm
使用方法附在壓縮包里面了
對(duì)于主機(jī):雙擊打開“主機(jī)端口轉(zhuǎn)發(fā).bat”,根據(jù)提示輸入你的IPv6地址,如果你從游戲內(nèi)開服的話,端口項(xiàng)直接留空即可(按回車)
對(duì)于客機(jī):雙擊打開“客機(jī)端口映射.bat”,根據(jù)提示輸入主機(jī)發(fā)給你的IPv6地址,然后進(jìn)游戲,IP輸入127.0.0.1,端口輸入26000
"方便命令.bat"幫你記錄了一些會(huì)用到的命令。
如果腳本或此程序向你申請(qǐng)管理員權(quán)限請(qǐng)同意。
關(guān)于臨時(shí)IPv6地址
客機(jī)不需要關(guān)心,但主機(jī)需要留意。由于轉(zhuǎn)發(fā)的目標(biāo)地址固定,每次更換臨時(shí)IPv6地址,也就需要更換一次<主機(jī)IP>,比較麻煩。目前看來臨時(shí)IPv6地址應(yīng)該是重啟一次換一次,不會(huì)換得很頻繁
臨時(shí)IPv6地址主要是為了保證安全的,這樣即使地址泄露,只要換一個(gè)就沒事了
臨時(shí)IP是可以關(guān)閉的
打開cmd窗口輸入如下命令,
開啟:netsh interface ipv6 set privacy state=enable
關(guān)閉:netsh interface ipv6 set privacy state=disable
輸入這個(gè)命令需要重啟一下網(wǎng)卡(禁用再啟用),不知道咋弄可以直接重啟電腦