[Minecraft/我的世界] 使用frp 實現(xiàn)內(nèi)網(wǎng)穿透 開服
什么是frp?
frp 是一個可用于內(nèi)網(wǎng)穿透的高性能的反向代理應(yīng)用,支持 tcp, udp 協(xié)議,為 http 和 https 應(yīng)用協(xié)議提供了額外的能力,且嘗試性支持了點對點穿透。
具體內(nèi)容見?https://github.com/fatedier/frp/

你需要什么?
一臺能開服務(wù)器的電腦。
一個云服務(wù)器
會用電腦
什么?你只想用來開MC服務(wù)器?
那就對了,不然看這個干嘛,github上readme這么大字寫著,直接看那個就行了2333
開服務(wù)器這里不教,你下個對應(yīng)的服務(wù)器用java run他就行了,其他地方有一萬個教程。(或者下次心情好再說)
先稍微說一下服務(wù)器
云服務(wù)器,可以租阿里云,學(xué)生優(yōu)惠一個月就幾塊錢。我看了tx云,帶寬低的不對,不推薦。
鏈接:https://promotion.aliyun.com/ntms/act/campus2018.html
或者阿里云官網(wǎng)打開,ctrl+f搜索“學(xué)生機”就會有鏈接。
主要還是要一個帶寬相對來說高的,比如“輕量應(yīng)用服務(wù)器”。

買完到控制臺里看你的服務(wù)器,看ip地址,類似??(公) 47.101.150.**? ?這樣的

去側(cè)邊欄的 安全》防火墻 里開啟所需要的端口,主要要開的是TCP的,你也可以把UDP的也打開,如果你想搞kcptun之類的話。端口范圍隨便,滿足需求就行100/200的意思就是開放從100到200的所有端口。

如何訪問服務(wù)器,windows上可以搜索一下putty,或者在powershell里面使用下面macos一樣的指令。macos之類的你直接 ssh username@address 就行了。
登陸密碼,控制臺上有地方可以設(shè)置的。
看不懂英文的話,彈出來的內(nèi)容你一直確定就行了。
其他服務(wù)器的就不講了,內(nèi)容太多,自己網(wǎng)上搜索就懂了。
主要就這個端口不要忘記開,沒開死活連不上而且也不知道哪里錯了。

Frp 下載
frp可以去git上下載的,不過我懷疑一部分看這篇文章的朋友可能下載起來很慢,或者下下來不會用,我自己打包了一個。
windows客戶端:https://wws.lanzous.com/ibLJGfidsmb
macos客戶端:https://wws.lanzous.com/iwlFwfidsla
linux的服務(wù)端:?https://wws.lanzous.com/iwzk5fie10d
壓縮包里我都附帶了一個start文件,你們要運行直接點那個東西就行了。(windows下的.bat文件你直接雙擊運行就可以,其他兩個的.sh需要去terminal里面開)
配置
客戶端
以windows為例(你用macos還不會這個那是有點丟人)。

用文本編輯器打開frpc.ini。(推薦用visual studio code,或者其他正經(jīng)的編輯器。別用word之類亂七八糟的。)

[common] 這部分是frp自己的配置內(nèi)容
server_addr寫的是你租的那個阿里云的服務(wù)器ip地址,上面有提到。
server_ports是你留給frp用來內(nèi)網(wǎng)穿透的端口,這個必須和下面講的服務(wù)端設(shè)置的端口相同。(注意防火墻端口記得打開,上面有講)
[minecraft] 下面這些中括號里的名字你隨便來,只要是[? ? ? ?]里面有東西就行,當(dāng)然不要中文。
local_ip不用改
local_port是你mc服務(wù)器配置文件里面寫的那個port (如圖

remote_port這個是你游戲里面用來訪問你的服務(wù)器的端口,你想寫成一樣的也沒關(guān)系。到時候服務(wù)器里面輸入的IP地址就是 server_addr:remote_port, i.e. 192.168.1.1:25565
到此為止客戶端內(nèi)容就結(jié)束了。你要是想host很多個服務(wù)器,那下面多寫幾個就行。(你要是想要bungeecord這種東西,自己舉一反三吧。)

服務(wù)端

這個東西我推薦你先搞到服務(wù)器上,至于怎么弄,你可以用wget + 地址 直接下載到服務(wù)器上再解壓,或者用FileZilla之類的ftp軟件直接給他上傳到服務(wù)器上,我是比較喜歡用ftp。
服務(wù)端配置很簡單,一行。復(fù)雜的內(nèi)容自行參照github的readme,也很簡單的,試試就懂了。

bind_port,和上面說的server_addr一樣就可以。
(你要是會用linux的話,你服務(wù)器上慢慢改都無所謂,你要是不會的話,先在自己電腦上修改好了,再給發(fā)送上去,或者可以搜索如何使用vim)
使用
服務(wù)端
登陸服務(wù)器(注意linux上輸入密碼是不會顯示出來的)
創(chuàng)建一個screen: 輸入 screen -S frps
然后進入你frps的目錄,如果是放在用戶文件夾的目錄上,那就是?cd ~/frps? 這時候你的輸入欄左邊那一串應(yīng)該會顯示你當(dāng)前的目錄?root@iZuf69sm8v95sbhmkcu6naZ:~/frps#
然后輸入 sudo chmod +x frps? ??給予frp服務(wù)器運行權(quán)限
輸入 ./frps -c ./frps.ini?啟動frp服務(wù)器(如下圖)

????6. 到此為止服務(wù)器上能做的就結(jié)束了,你退出screen之后就可以關(guān)閉ssh窗口了。
????7.?如何退出這個screen : 按一下?ctrl + a + d
????8. 如何再次進入這個screen: 輸入 screen -r frps
????9. 如何查看現(xiàn)在有哪些screen:輸入 screen -ls
客戶端
windows為例(macos和linux差不多的),
打開cmd,進入frp文件夾,輸入
frpc.exe -c frpc.ini
一直開著他。
顯示類似這種就說明正常了

運行mc服務(wù)器,打開游戲,輸入服務(wù)器地址:阿里云ip:你設(shè)置的port
