内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

文章目录

今天和大家分享一下只需简单几步即可在windwos系统搭建我的世界服务器,并通过cpolar内网穿透工具将本地服务暴露到公网连接,实现与小伙伴一起联机游戏。

1. Java环境搭建

以windows10系统为例,配置java环境,搭建我的世界服务器,下载最新版java版本

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft
  • 变量名:JAVA_HOME
  • 变量值:JDK的安装路径,本例中为C:\Program Files\Java\jdk-17.0.5
www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

校验是否成功:开始菜单栏搜索cmd,打开命令提示符,输入java -version,出现版本信息说明配置成功。

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

2.安装我的世界Minecraft服务

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

3. 启动我的世界服务

进入到我的世界服务jar包下载目录,点击左上角文件

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

打开powershell,用管理员身份打开

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

执行java运行命令运行jar包服务

java -jar server.jar --nogui

运行后提示一个错误,错误的意思是受EULA。首次运行服务器时,会自动生成一个eula.txt。使用文本编辑器(如记事本)打开eula.txt,将文件中的eula=false改为eula=true。这表示你已阅读并理解了EULA的内容,并会在使用服务端时遵守它。如果不这样做,服务器会在你尝试启动时立即关闭。

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

我们在jar包的目录下面可以看到这个eula.txt文件

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

打开文件,把里面eula的值改为true即可,然后记得保存文件

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

然后我们再次使用上面命令启动运行jar包服务,并且可以看到端口为25565

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

4.局域网测试连接我的世界服务器

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

点击添加服务器

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft
  • 服务器名称
  • 服务器地址:填写本地ip地址+mc端口号(默认为25565),如127.0.0.1:25565

点击完成

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

然后会出现连接不上,因为正版验证需验证正版账号,我们需要将其关闭验证

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

查看powershell也看到了相关错误,接下来需修改相关配置文件,首先关闭powershell

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

找到安装目录下的server.properties文件,编辑

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

然后做如下改动:online-mode=false(关闭正版验证),改动完保存

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

然后再次启动server.jar服务,可以看到下面提示,表示修改成功

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

然后我们再次连接,成功进入游戏

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

5. 安装cpolar内网穿透

cpolar官网:

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

6. 创建隧道映射内网端口

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

  • 隧道名称:可自定义命名,注意不要与已有隧道名称重复
  • 协议:选择tcp协议
  • 本地地址:25565(我的世界默认端口号)
  • 端口类型:随机临时TCP端口
  • 地区:China vip

点击创建

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

7. 测试公网远程联机

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

8. 配置固定TCP端口地址

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

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

8.1 保留一个固定tcp地址

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

  • 地区:选择China vip
  • 描述:即备注,可自定义

点击保留

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

8.2 配置固定tcp地址

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写保留成功的地址,本例为5.tcp.vip.cpolar.cn:12637

点击更新

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

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

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

9. 使用固定公网地址远程联机

接下来我们测试使用固定公网TCP端口地址远程联机

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

公网远程联机成功!

现在,该公网地址不会再随机变化了。

www.zeeklog.com  - 内网穿透实战应用-windwos10系统搭建我的世界服务器,内网穿透实现联机游戏Minecraft

Read more

深入理解 Proxy 和 Object.defineProperty

在JavaScript中,对象是一种核心的数据结构,而对对象的操作也是开发中经常遇到的任务。在这个过程中,我们经常会使用到两个重要的特性:Proxy和Object.defineProperty。这两者都允许我们在对象上进行拦截和自定义操作,但它们在实现方式、应用场景和灵活性等方面存在一些显著的区别。本文将深入比较Proxy和Object.defineProperty,包括它们的基本概念、使用示例以及适用场景,以帮助读者更好地理解和运用这两个特性。 1. Object.defineProperty 1.1 基本概念 Object.defineProperty 是 ECMAScript 5 引入的一个方法,用于直接在对象上定义新属性或修改已有属性。它的基本语法如下: javascript 代码解读复制代码Object.defineProperty(obj, prop, descriptor); 其中,obj是目标对象,prop是要定义或修改的属性名,descriptor是一个描述符对象,用于定义属性的特性。 1.2 使用示例 javascript 代码解读复制代码//

By Ne0inhk

Proxy 和 Object.defineProperty 的区别

Proxy 和 Object.defineProperty 是 JavaScript 中两个不同的特性,它们的作用也不完全相同。 Object.defineProperty 允许你在一个对象上定义一个新属性或者修改一个已有属性。通过这个方法你可以精确地定义属性的特征,比如它是否可写、可枚举、可配置等。该方法的使用场景通常是需要在一个对象上创建一个属性,然后控制这个属性的行为。 Proxy 也可以用来代理一个对象,但是相比于 Object.defineProperty,它提供了更加强大的功能。使用 Proxy 可以截获并重定义对象的基本操作,比如访问属性、赋值、函数调用等等。在这些操作被执行之前,可以通过拦截器函数对这些操作进行拦截和修改。因此,通过 Proxy,你可以完全重写一个对象的默认行为。该方法的使用场景通常是需要对一个对象的行为进行定制化,或者需要在对象上添加额外的功能。 对比 以下是 Proxy 和 Object.defineProperty 的一些区别对比: 方面ProxyObject.defineProperty语法使用 new Proxy(target,

By Ne0inhk