想和小伙伴一起玩了
前言
我有服务器,但是配置太低了,无法搭载我的世界服务端;我有台闲置电脑,打算使用闲置电脑当做服务器,使用内网穿透和小伙伴们愉快的联机。配置的时候忘了截图了。
环境
Windows10 (服务端)
Java17 (Oracle 官网下载的 Java,Oracle jdk17)
forge (1.20.1 - 47.2.0)
PCL 2 启动器
Centos7 (内网穿透服务器)
本地服务端配置
去 www.oracle.com 点击 Products -> java -> Oracle JDK -> JDK 17 -> Windows -> x64 Installer 的下载地址下载,然后直接安装即可。使用 cmd 指令 Java -version 验证是否安装成功。
去 https://files.minecraftforge.net/net/minecraftforge/forge/ 下载 forge ,我下载的是 1.20.1 - 47.2.0 的 Recommended 版本。
双击下载下来的 forge ,然后选中第二个安装服务端,设置好路径后,直接安装即可。
安装完成后,进入路径。双击打开 user_jvm_args.txt,写入
-Xms4G -Xmx4G
这个是运行内存,根据自己的配置写即可。双击 run.bat,运行完成后,打开路径中的 eula.txt,将 false 改成 true。后再次运行 run.bat,运行完成后,再次打开路径下的 server.properties ,将 online-mode 改为 false 即可。
客户端
下载 PCL II,在程序中下载 1.20.1 ,然后进入,选择多人游戏,IP 设置为刚刚的服务端的 IP 地址即可进入。
内网穿透
前面可以局域网联机了,但是我和小伙伴天南海北,所以需要进行内网穿透才能一起联机。服务端查看系统架构
查看对应架构
arch
下载对应版本的 frp 工具,https://github.com/fatedier/frp/releases。我这里下载的是 frp_0.51.3_linux_386.tar.gz 和 frp_0.51.3_windows_386.zip。配置文件参考: https://gofrp.org/docs/overview/
其中 frp_0.51.3_linux_386.tar.gz 在服务器内解压,然后配置 frps.ini,内容为
[common]
bind_port = 你与客户端交互的端口
dashboard_port = 管理页面的端口
privilege_token = 客户端交互时需要用到的 token
dashboard_user = 管理页面的账号
dashboard_pwd = 管理页面的密码
vhost_http_port = http对外服务端口号,外部可以访问 ip:vhost_http_port 来访问这个服务
vhost_https_port = https对外服务端口号,外部可以访问 ip:vhost_https_port 来访问这个服务
然后使用 ./frps -c frps.ini
来启动 frps 服务端。如果需要后台执行,则使用 nohup ./frps -c frps.ini >/dev/null 2>&1 &
在我的世界服务器上解压 frp_0.51.3_windows_386.zip。然后编辑 frpc.ini,内容如下:
[common]
server_addr = frp服务器ip
server_port = 与服务端交互的端口,记得和frp服务端的 bind_port 相同
privilege_token = 客户端交互时需要用到的 token,与服务端相同
[remote_desk]
type = tcp
local_ip = 127.0.0.1
local_port = 本地服务的端口
remote_port = frp服务端需要映射端口,表示在 frp 服务端监听的端口,
访问此端口的流量将会被转发到本地服务对应的端口。
启动 frp 客户端:frpc.exe -c frpc.ini
现在需要打开 frp 服务端的 firewall 防火墙和阿里云的云服务器防火墙的端口即可。游戏连接的时候,访问的 ip 是 frp服务器ip:vhost_http_port
。
补充:最近我又配置了一下 frp ,新的 frp 配置不一样,请按照官网样例进行配置,并且特别注意新版本中,有的配置是 string 类型,需要添加双引号