ChrisKim
Do not go gentle into that good night.
颢天

一小时,从零搭建私有内网穿透进行游戏联机

视频

b 站在线观看:https://www.bilibili.com/video/BV1fj411Z7F7

视频文件下载:https://www.aliyundrive.com/s/wb5jfUdTeyb

视频与本文都采用 CC BY-NC-SA 4.0 许可,转载和二次创作请遵守该协议。请前往协议网站,或查看视频分享文件夹内的 LISENCE.txt 文件查看详细协议。

!!FAQ(常见问题)请拉到文章底部!!

资料

P1 搭建私有内网穿透服务

① 原理科普、优缺点分析

没啥其他要说的

② 购买云服务器

购买时的选配要点:

  • CPU / 内存 / 磁盘 等配置均可以选择最低配
  • 带宽需要按情况选择,如果你要联机的游戏比较依赖网络带宽(如 Minecraft),那么一定要保证带宽大小。建议的最低带宽大小为 10 Mbps.
  • 如果你不会使用 Linux,则选择和教程一样的系统:Ubuntu 20.04 LTS
  • 登陆用户:root(如果你的云服务器提供商不允许使用 root 登陆,则之后每条指令前需要加 sudo)

③ 登录云服务器

Xshell 官网:https://www.xshell.com/zh/

④ 配置 frps

下面是我们使用的一键安装脚本的 GitHub 仓库链接:

如果打不开,可以直接使用我复制下来的安装指令:

wget https://raw.githubusercontent.com/stilleshan/frps/master/frps_linux_install.sh && chmod +x frps_linux_install.sh && ./frps_linux_install.sh
# 以下为国内镜像
wget https://github.ioiox.com/stilleshan/frps/raw/branch/master/frps_linux_install.sh && chmod +x frps_linux_install.sh && ./frps_linux_install.sh

管理指令:

  • 查看状态:sudo systemctl status frps
  • 启动:sudo systemctl start frps
  • 关闭:sudo systemctl stop frps
  • 重启:sudo systemctl restart frps

⑤ 配置 frpc

frp 的 GitHub 仓库链接是:

如果你访问 GitHub 困难,可以从我的云盘下载:https://run.sh.cn/frpc

(如果我的云盘没有更新最新版也没有关系,实测服务端和客户端版本差距不大也能正常使用)

配置文件 frpc.ini 模板:

[common]
server_addr = 服务器的公网IP
server_port = 7000
token = 12345678

启动脚本 run.bat

frpc.exe -c frpc.ini
pause

P2 frp 服务端配置

使用 nano /usr/local/frp/frps.ini 修改配置文件。

下面写了注释的是我们可以自行修改的,没标注释的就不要动(除非你知道这是什么含义):

[common]
bind_addr = 0.0.0.0
bind_port = 7000         # frps运行的端口,frpc配置的servcer_port需要与其一致
bind_udp_port = 7001
kcp_bind_port = 7000
vhost_http_port = 80
vhost_https_port = 443
dashboard_addr = 0.0.0.0
dashboard_port = 7500    # frps仪表盘运行的端口,用浏览器访问仪表盘时用这个端口
dashboard_user = admin   # 仪表盘的账号,和下一条一起删除则不进行鉴权
dashboard_pwd = admin    # 仪表盘的密码,和上一条一起删除则不进行鉴权
log_file = ./frps.log
log_level = info
log_max_days = 3
disable_log_color = false
token = 12345678         # frp内网穿透的密码,frpc配置的token 需要与其一致
allow_ports = 2000-3000,3001,3003,4000-50000 # frp内网穿透允许的端口,删除这条则取消限制
max_pool_count = 5
max_ports_per_client = 0
subdomain_host = frps.com
tcp_mux = true

修改好后,按 Ctrl + S 保存,然后按 Ctrl + X 退出编辑器。

然后使用 sudo systemctl restart frps 重启 frps 让修改的配置生效。

P3 Minecraft 游戏联机

要点:

  • local_port 与开服服务器的 server_port 一致
  • remote_port 是告诉连接的玩家在游戏中输入的端口

① 内网穿透配置模板

将下面的模板添加到 frpc.ini[common] 段落的后面。

Java 版模板:

[mcje]
type = tcp
local_ip = 127.0.0.1
local_port = 25565
remote_port = 25565
use_encryption = true
use_compression = true

基岩版模板:

[mcbe]
type = udp
local_ip = 127.0.0.1
local_port = 19132
remote_port = 19132
use_encryption = true
use_compression = true

② Java 官方下载地址

https://www.oracle.com/java/technologies/downloads/

需要满足的条件:

Minecraft 版本Java 版本
1.2017+
1.1917+
1.1817+
1.1716+
1.12+8+
1.11-8(更老则需要 7)

查看本机的 Java 版本:java -version(如果报错则说明本机 Java 的配置有问题)

③ 配置 Java 版原版服务器

原版服务端 server.jar 下载方式:

服务器启动脚本 run.bat

java -Xmx8G -jar server.jar nogui
pause

配置文件重点:

  • server-port
    • 需要与内网穿透的 local_port 一致
  • gamemode
    • survival – 生存
    • creative – 创造
    • adventure – 冒险
  • difficulty
    • peaceful – 和平
    • easy – 简单
    • normal – 中等
    • hard – 困难
  • max-players
    • 最大玩家数量
  • online-mode
    • true – 只有正版能进服
    • false – 无正版验证
  • white-list
    • true – 只有白名单玩家能进服
    • false – 任何玩家能进服

④ 配置 Java 版 Mod 服务器

⑤ 基岩版服务器下载

https://www.minecraft.net/zh-hans/download/server/bedrock

(由于基岩版大家一般玩的都是最新版,因此我就不提供我的云盘下载了)

P4 Terraria 游戏联机

① 内网穿透配置模板

将下面的模板添加到 frpc.ini[common] 段落的后面:

[tr]
type = tcp
local_ip = 127.0.0.1
local_port = 7777
remote_port = 7777
use_encryption = true
use_compression = true

② PC 独立原版服务端

如果是 steam 下载的泰拉瑞亚,则直接到游戏目录中启动 TerrariaServer.exe.

如果是其他情况,可前往泰拉瑞亚官网下载,在网页页脚点击 PC Dedicated Server 下载服务端:https://terraria.org/

③ PC 独立 tModLoader 服务端

如果是 steam 下载的 tModLoader,则直接到游戏目录中启动 start-tModLoaderServer.bat.

如果是其他情况,可前往 tModLoader 的 GitHub 仓库下载:

FAQ (常见问题)

暂无

本文链接:https://www.zouht.com/3256.html
本文使用:CC BY-NC-SA 4.0 许可
# # #
首页      教程      一小时,从零搭建私有内网穿透进行游戏联机

发表回复

textsms
account_circle
email

  • 内网穿透很好解决了我服务器性能不够的问题

    9 月前 回复
  • PeachAsh

    最开始都是正常的都能连上,然后过了一会xshell就连接不上云服务器了,然后frp也一直船头失败。重启云服务器了还是不行

    9 月前 回复
  • GGGloryYy

    通过内网穿透后使用原版MC和加了10几个mod的整合包局域网联机能够成功,但是在用有大概260个mod的整合包就行局域网联机 不能正常进行联机 会出现Internal Exception:java.net.SocketException:Connection reset这个错误,在主机那边看的话就是显示玩家已进入游戏然后过一会就玩家已退出游戏。想问下博主,这是因为服务器的带宽太小导致的吗?谢谢!

    6 月前 回复
  • yuriliker

    检测 GitHub Proxy 代理失效 开始使用官方地址下载

    3 月前 回复
  • yuriliker

    下载ftp的时候显示“检测 GitHub Proxy 代理失效 开始使用官方地址下载”,而且多次连接超时该怎么解决呢?

    3 月前 回复

颢天

一小时,从零搭建私有内网穿透进行游戏联机
视频 b 站在线观看:https://www.bilibili.com/video/BV1fj411Z7F7 视频文件下载:https://www.aliyundrive.com/s/wb5jfUdTeyb 视频与本文都采用 CC BY-NC-SA 4.0&nbs…
扫描二维码继续阅读
2023-07-14