【内网穿透】搭建我的世界Java版服务器,公网远程联机

简介: 本次教程将在windows本地搭建java版的MC服务器,并用cpolar内网穿透突破局域网限制,实现在公网环境下跟小伙伴远程联机,超简单配置,无需公网IP,也不用设置路由器。 如果你的服务器已经搭建成功,并可以正常在局域网内联机,可以直接跳到第三步,在本地配置cpolar内网穿透,创建隧道映射25565端口,实现异地远程联机。

前言

本次教程将在windows本地搭建java版的MC服务器,并用cpolar内网穿透突破局域网限制,实现在公网环境下跟小伙伴远程联机,超简单配置,无需公网IP,也不用设置路由器。


如果你的服务器已经搭建成功,并可以正常在局域网内联机,可以直接跳到第三步,在本地配置cpolar内网穿透,创建隧道映射25565端口,实现异地远程联机。


1. 搭建我的世界服务器

以windows10系统为例,配置java环境,搭建服务器。


1.1 服务器安装java环境

下载java17

https://www.oracle.com/java/technologies/downloads/#jdk17-windows

Java Downloads | Oracle


选择exe文件,下载完成后双击安装包一路默认安装即可。

4eb91c1bbc916b977a084284b7b05b5e.png


java安装完成后,打开文件夹,找到java,将jdk安装路径复制下来,本例中为C:\Program Files\Java\jdk-17.0.5

f555ee2bbe9dc7bb1c661598af312041.png


在开始菜单栏搜索高级系统设置并打开系统属性,点击环境变量

813b94569fce3b6aaab4b2a9b82e37d6.png


点击新建一个系统环境变量

59561a55855732bcfbc1bf933416cd64.png


变量名:JAVA_HOME

变量值:JDK的安装路径,本例中为C:\Program Files\Java\jdk-17.0.5

e547d7084e3ab5892b913f9449efbf97.png


在系统变量列表中,双击Path变量

d0ca01b3139114fa912b72c995faad48.png


点击右侧的新建,在变量名值前面加%JAVA_HOME%\bin,点击确认

b1e905e3fdfddca3a6c2fd7d618ec4c9.png


校验是否成功:开始菜单栏搜索cmd,打开命令提示符,输入javac,出现以下内容则说明配置成功。

485564a8c0a0d2fd6564ab5d50aea0d3.png


1.2 配置服务端

下载MC服务端,最新版的服务器端可以官网下载

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

Download server for Minecraft | Minecraft


f97c2ba5ecf9c5d1c46341a6ecdff5b7.png


下载完成后,在文件所在的文件夹新建一个文本文档

4542ac52ca8cbbee21199db6071f9881.png


然后打开这个文本文档输入以下信息

java -Xms1G -Xmx2G -jar server.jar nogui
pause

Xmx1024M:给服务器分配的最大内存

Xms1024M:给服务器分配的最小内存

server.jar:服务端名字 请务必保证服务端名字和指令中的相同

11e58c366ef24af77ffb113abd05f928.png


然后保存这个文本文档并关闭,重命名把后缀改成.bat(windows默认看不到后缀,可以设置一下)

2d76b2f58c24c0fdbea6a997be53de9e.png


双击打开.bat文件,这时候你会看到一个命令窗口,过一会它会自动关闭,你会看到文件夹有多出来一些文件,找到eula.txt这个文件并打开

12f0f10c271ed6fd092e7bcbea13bc6c.png


将eula=false改为eula=true,然后保存

7d88e8aea2154a8eb16b04cbe4c00439.png


打开server.properties文件,做如下改动:online-mode=false(关闭正版验证),其他改动可以按照自己的喜好。至此服务器已经配置完毕,服务器的设置详情都在server.properties。


重新点击.bat文件,即可打开服务器。

716677ad1a95cd28500004917d853ac8.png


2. 测试局域网联机

打开我的世界启动器,点击进入游戏,选择多人游戏

a4023aa1b3d20e2c4abe9ffc0d05d3e5.png


点击添加服务器

7467ba6caebefdbdc6af63c33880d391.png


服务器名称

服务器地址:填写本地ip地址+mc端口号(默认为25565),如127.0.0.1:25565


点击完成

398e4483b18210abaa65d29d11db0281.png


选择刚刚创建的服务器后,点击加入服务器

fff5e518b08f06493539f45a2e81cc57.png


连接成功,接下来测试在公网环境下远程联机。

694f2e7119f762488543e607f1cc8e63.png


3. 公网远程联机

上面我们实现了在局域网内的联机,接下来我们将突破局域网的限制,实现在公网环境下的远程联机,通过cpolar内网穿透,将内网端口映射到公网上,其会生成相应的公网地址,异地小伙伴就可以通过该公网地址远程联机一起玩了,不需要公网ip,也不用设置路由器,操作简单。


3.1 安装cpolar内网穿透

cpolar官网:cpolar - 安全的内网穿透工具

https://www.cpolar.com/

3.1.1 windows系统

windows系统可以直接在官网下载适用于Windows平台的zip压缩包,解压后得到cpolar安装包,然后双击安装包一路默认安装即可。


3.1.2 linux系统(支持一键自动安装脚本)

如果您的服务器在linux系统上,请参考下面这个教程来安装cpolar内网穿透


linux系统安装cpolar内网穿透https://cpolar.com/docs#linux-system-installation-cpolar

3.2 创建隧道映射内网端口

cpolar安装成功后,在浏览器上访问cpolar web UI管理界面(默认为本地9200端口),以【 http://本地ip地址:9200 】形式访问,如http://127.0.0.1:9200/,并使用cpolar账号登录


da2985c574c1b609ee41d96fa351320e.png


登录成功后,点击左侧的隧道管理——创建隧道:


隧道名称:可自定义命名,注意不要与已有隧道名称重复

协议:选择tcp协议

本地地址:25565(我的世界默认端口号)

端口类型:随机临时TCP端口

地区:China vip

点击创建


16eb34e1b77b35c6a0bd7c74f758b2c0.png


隧道创建成功后,页面自动跳转至隧道列表页面,可以看到状态正常显示为active,为正常在线状态


c6457fe9520285695da41afbd5f9b999.png


点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚创建成功的我的世界隧道已经有生成了相应的公网地址,我们将其复制下来,注意tcp://无需复制,本例中为3.tcp.vip.cpolar.cn:10786


c74a9eb2b7f7401396dc2f193ff6671b.png


3.3 测试公网远程联机

启动我的世界,可以直接添加一个新的服务器,或者编辑刚刚添加的本地服务器


6622d5bfb5dc803ea9bc30332787385f.png


在服务器地址栏,输入cpolar所生成的公网地址3.tcp.vip.cpolar.cn:10786,点击完成


7a5bd1a1f641441312032a2279a080da.png


加入服务器,公网远程联机成功


d0c34b0161abccf2dea1ed9bae590291.png


4. 配置固定TCP端口地址

需要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。为了方便小伙伴远程联机,我们接下来为其配置固定的TCP端口地址,该地址不会变化,方便小伙伴远程联机,而无需每天重复修改服务器地址。


配置固定tcp端口地址需要将cpolar升级到专业版套餐或以上。


4.1 保留一个固定tcp地址

登录cpolar官网,点击左侧的预留,找到保留的tcp地址,我们来为我的世界保留一个固定tcp地址:


地区:选择China vip

描述:即备注,可自定义

点击保留


db4ba3e085959c9d78a4e759ae24827d.png


地址保留成功后,系统会生成相应的固定公网地址,本例为5.tcp.vip.cpolar.cn:12637,将其复制下来


6698fabecaa77dac9808375c1785cf75.png


4.2 配置固定tcp地址

在浏览器上访问9200端口,http://127.0.0.1:9200/,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到我的世界隧道,点击右侧的编辑


72f27b8f260eeed16def6b829d471152.png


修改隧道信息,将保留成功的固定tcp地址配置到隧道中


端口类型:修改为固定tcp端口

预留的tcp地址:填写保留成功的地址,本例为5.tcp.vip.cpolar.cn:12637

点击更新


c3beb4059ccd472ce91d469b4f5bc950.png


隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到我的世界隧道,可以看到公网地址已经更新成为了固定tcp地址。


c5c7d9b7de499e7dacd332682a062692.png


测试使用固定公网TCP端口地址远程联机


d70630f0e6f9db0a0ee5c861ce954bd8.png


公网远程联机成功!现在,该公网地址不会再随机变化了。


a8dce6f3ffce61b8d39bd329e53b613d.png

相关文章
|
22天前
|
网络安全 开发工具 数据安全/隐私保护
自建内网穿透服务器
本文介绍了如何使用FRP实现内网穿透。首先准备一台具有公网IP的云服务器和一台内网服务器,接着在云服务器上安装Docker和FRP服务端,配置`frps.ini`文件并启动服务。在内网服务器上手动安装FRP客户端,配置`frpc.ini`文件并启动服务。最后通过FRP控制台验证连接状态,确保可以通过公网IP访问内网服务。
97 10
自建内网穿透服务器
|
2月前
|
Java Linux
java读取linux服务器下某文档的内容
java读取linux服务器下某文档的内容
38 3
java读取linux服务器下某文档的内容
|
2月前
|
运维 Java Linux
【运维基础知识】Linux服务器下手写启停Java程序脚本start.sh stop.sh及详细说明
### 启动Java程序脚本 `start.sh` 此脚本用于启动一个Java程序,设置JVM字符集为GBK,最大堆内存为3000M,并将程序的日志输出到`output.log`文件中,同时在后台运行。 ### 停止Java程序脚本 `stop.sh` 此脚本用于停止指定名称的服务(如`QuoteServer`),通过查找并终止该服务的Java进程,输出操作结果以确认是否成功。
46 1
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
82 4
|
2月前
|
Java Shell Maven
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
Flink-11 Flink Java 3分钟上手 打包Flink 提交任务至服务器执行 JobSubmit Maven打包Ja配置 maven-shade-plugin
119 4
|
2月前
|
分布式计算 监控 Hadoop
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
Hadoop-29 ZooKeeper集群 Watcher机制 工作原理 与 ZK基本命令 测试集群效果 3台公网云服务器
43 1
|
13天前
|
Java 开发者
Java多线程编程中的常见误区与最佳实践####
本文深入剖析了Java多线程编程中开发者常遇到的几个典型误区,如对`start()`与`run()`方法的混淆使用、忽视线程安全问题、错误处理未同步的共享变量等,并针对这些问题提出了具体的解决方案和最佳实践。通过实例代码对比,直观展示了正确与错误的实现方式,旨在帮助读者构建更加健壮、高效的多线程应用程序。 ####
|
4天前
|
缓存 Java 开发者
Java多线程编程的陷阱与最佳实践####
本文深入探讨了Java多线程编程中常见的陷阱,如竞态条件、死锁和内存一致性错误,并提供了实用的避免策略。通过分析典型错误案例,本文旨在帮助开发者更好地理解和掌握多线程环境下的编程技巧,从而提升并发程序的稳定性和性能。 ####
|
4天前
|
安全 Java 开发者
Java中的多线程编程:从基础到实践
本文深入探讨了Java多线程编程的核心概念和实践技巧,旨在帮助读者理解多线程的工作原理,掌握线程的创建、管理和同步机制。通过具体示例和最佳实践,本文展示了如何在Java应用中有效地利用多线程技术,提高程序性能和响应速度。
27 1
|
12天前
|
安全 Java 开发者
Java 多线程并发控制:深入理解与实战应用
《Java多线程并发控制:深入理解与实战应用》一书详细解析了Java多线程编程的核心概念、并发控制技术及其实战技巧,适合Java开发者深入学习和实践参考。