搭建私人《我的世界》服务器,使用Cpolar内网穿透更简单
文章目录
- 1.前言
- 2.本地服务器搭建
- 2.1 设置环境变量
- 2.2 进行《我的世界》服务器端设置
- 2.3 测试和使用
- 3.本地MC服务器的内网穿透
- 3.1.Cpolar云端设置
- 3.2.Cpolar本地设置
- 3.3.测试和使用
- 4.结语
1.前言
要说去年游戏圈的重磅大瓜,想必网易和暴雪的分家必能上榜。虽然两家大型公司的网上互撕固然精彩,但也确实将一众玩家彻底抛弃,留下众多“魔兽难民”哀叹青春易逝(当然,笔者也在其中)。尽管青春逝去徒留十几KB的电子骨灰盒,但生活仍要继续,我们还是需要有个消遣放松的环境,所以游戏仍将继续。现在,我们就来看看,如何摆脱大厂运营商,用自家电脑搭建一个《我的世界》私人服务器,容纳好友们共同探索和放松的私人空间。
2.本地服务器搭建
通常《我的世界》都是单机游戏,但也提供了局域网联机的模式,因此我们可以采用在本地搭建《我的世界》服务器,再通过Cpolar的内网穿透功能,搭建起能够容纳多人同时登录的私人服务器。
2.1 设置环境变量
由于《我的世界》是基于java开发的,因此需要先构建起一个java环境。这里我们下载java17进行java环境的搭建。(下载网址为https://www.oracle.com/java/technologies/downloads/#jdk17-windows)在软件下载完成后,只要选择双击后缀名为.exe的文件,一路点击“下一步”即可进行安装。


安装完成后,我们需要找到上一步安装的java17文件夹,并将这个路径复制下来。在本例中,java安装的位置在本地E盘中,因此路径就为:E:\Program Files\Java\jdk-17。接着在菜单栏的搜索框中输入高级系统设置,并打开系统属性,点击环境变量进行设置。


进入环境变量设置后,新建一个系统变量:
- 变量名称为java_home
- 变量值为本地java的安装路径,也就是
E:\Program Files\Java\jdk-17
输入完成后,点击确认按钮建立该变量。


建立名为java_home的环境变量后,再在环境变量选项卡的系统变量框内,双击点选名为Path的选项,就会出现编辑环境变量的窗口。

我们在这个窗口右侧点击新建按钮,将我们之间建立的java_home加入环境变量列表中。需要注意的是,在这里添加的环境变量名称前后要加%,并在名称后加入\bin。即最终的变量名称为%java_home%\bin。


注:为了验证我们设置的环境变量是否成功,可以在搜索栏中输入cmd,打开命令行操作界面,输入命令:java,只要出现如下显示,就说明新的环境变量设置成功。

2.2 进行《我的世界》服务器端设置
环境变量设置完成后,我们就可以下载一个《我的世界》服务器端,对其进行相应设置,让其成为游戏服务器。而《我的世界》服务器端可以在“https://www.minecraft.net/zh-hans/download/server”这个网址找到。需要注意的是,进入这个网址后,会弹出公服的下载页面,我们点击红框所指位置,就能留在MC服务器端下载页面。

而下载文件按钮,则是minecraft_server.1.19.3.jar处。

在下载完成后,我们先不着急进行安装,而是在下载下载的MC服务器文件夹内,新建一个文本文档。

并在该文件内输入如下内容
java -Xms1G -Xmx2G -jar server.jar nogui
pause
就像这个样子

其中,Xms为给服务器分配的最小内存为1G;Xmx为给服务器分配的最大内存为2G;server.jar为服务端的名称(实际建立的服务端名称一定要与设置的指令一致)。
完成这些设置后,就可以保存退出,并将这个文档文件的后缀名改为.bat。

完成这些修改后,双击运行这个新建文本文档.bat,系统会自动打开命令行界面进行操作。接着在这个文件夹内,就会出现一些新文件,我们在其中找到名为eula.txt的文本文档,双击打开。

并在这个文本文档的最后一行找到eula=false,将其修改为eila=true,接着保存并关闭。

接着打开server.properties文件,将online-mode=true更改为online-mode=false,即关闭正版验证(服务器的大多数配置都在此文件内,包括设置允许多少个玩家登入服务器等内容)。

接着我们再次双击运行新建文本文档.bat,就能启用MC私人服务器。如果跳出防火墙设置询问窗口,只要点击允许访问即可。需要注意的是,cmd窗口的进程不能关闭(没有设置程序后台运行,关闭cmd进程会导致MC服务器关闭)。

到这里,我们的《我的世界》私人服务器就完成各项配置,可以在局域网范围内进行多人互联游戏。
2.3 测试和使用
此时我们打开《我的世界》启动器,在主界面选择“多人游戏”,在多人游戏界面下方找到添加服务器选项,点击输入服务器信息,由于我们是在本地电脑上进行测试,因此服务器地址,就是本地地址+《我的世界》输出端口号,即127.0.0.1:25565(25565是MC的固定端口号)


在MC启动器中设置好服务器信息后,就能登录该服务器。


3.本地MC服务器的内网穿透
通过上一步,我们已经将本地电脑成功设置为《我的世界》的服务器,接下来,我们就要让本地MC服务器通过cpolar,获得一个公共互联网地址,让大家都能通过这个地址连接到我们的私人MC服务器。
为了让伙伴们能随时连接到我们的MC服务器,因此我们将cpolar升级到专业版(专业版cpolar能够提供固定TCP连接服务,避免了免费版cpolar每隔24小时重置TCP连接导致私人MC服务器进行重新设置)。
3.1.Cpolar云端设置
首先我们登录Cpolar的官方网站,在官网页面左侧找到预留按钮,并在预留页面找到保留的TCP地址选项

在保留的TCP地址选项中,我们需要填入两个基本信息
- 地区:大家可以选择喜欢的服务器,这里我们选择
China VIP - 描述:可以看做是这条固定TCP隧道的描述,这里我们输入《我的世界》作为备注
接着点击选项右侧的保留按钮,就能将这条TCP隧道保留下来。


这时“我的世界”的空白TCP隧道就设置完成。接下来,我们回到本地电脑上,将这条空白TCP隧道与本地的《我的世界》服务器端连接起来,让本地电脑的《我的世界》私人服务器能被大家连接到。
3.2.Cpolar本地设置
在本地电脑上,我们先打开cpolar客户端【下载地址为https://www.cpolar.com/download】,在客户端主界面左侧找到隧道管理项下的创建隧道,并点击进入隧道创建页面。
在这个页面,我们可以对打算创建的隧道基本信息进行设置:
- 隧道名称:这里我们输入“我的世界”
- 协议:选择TCP协议
- 本地地址:即本地MC服务器的输出端口,MC默认的输出端口号为25565
- 端口类型:由于我们已经在cpolar云端设置了空白固定TCP隧道,因此这里选择固定TCP端口
- 以及预留的TCP地址:这个地址来自于cpolar云端,固定TCP隧道后生成的地址栏位
填入相关信息后,就可以点击页面下方的创建按钮,将cpolar云端与本地MC服务器端口连接起来,即为本地《我的世界》服务器生成一个能为大家访问的地址。


而这个能为大家访问到的地址,就在cpolar客户端主界面左侧状态项下的在线隧道列表内

3.3.测试和使用
这时,我们再次打开《我的世界》启动器,选择多人游戏,并在这个页面中选择编辑按钮对之前测试的本地地址进行修改,或是点击添加服务器重建一个MC服务器。


不管选择哪种方式,我们都需要将cpolar客户端生成的固定TCP隧道地址,输入服务器地址栏位中,让《我的世界》启动器自动连接到我们设置的私人服务器上,实现在公共互联网上一起玩《我的世界》。

4.结语
至此,我们将本地电脑转变为私人《我的世界》服务器的操作就全部完成了,可以将cpolar生成的网络地址发送给一众好友,邀请大家一起在私人服务器上畅快游戏,而不必再大厂服务器上各种氪金升级。同时搭建MC私服的思路,也可能应用在其他带有局域网联机功能的单机游戏上,让我们的休闲生活更加丰富多彩。
当然,使用cpolar建立私人游戏服务器,只是cpolar内网穿透功能的应用场景之一,如果大家对cpolar的使用有任何疑问,可以与cpolar官方联系,他们将为大家提供力所能及的协助。也欢迎加入cpolar的VIP官方群,共同探索cpolar的无限潜能。
相关文章:
搭建私人《我的世界》服务器,使用Cpolar内网穿透更简单
文章目录1.前言2.本地服务器搭建2.1 设置环境变量2.2 进行《我的世界》服务器端设置2.3 测试和使用3.本地MC服务器的内网穿透3.1.Cpolar云端设置3.2.Cpolar本地设置3.3.测试和使用4.结语1.前言 要说去年游戏圈的重磅大瓜,想必网易和暴雪的分家必能上榜。虽然两家大…...
map和set的使用
文章目录关联式容器树形结构的关联式容器setinsert增减erase删除multiset修改mappair<key,value>insertoperator[] 的引入insert和operator[]的区别multimap小结map的使用统计最喜欢吃的前几种水果前K个高频单词,返回单词的频率由高到低,频率相同时࿰…...
常用正则表达式大全
链接...
注意,摸鱼程序员常用的9个小技巧,早点下班不秃头
9个养生小技巧,祝大家不秃头嗨害大家好鸭! 我是小熊猫~毕竟摸鱼一时爽,一直摸一直爽嘛~一、整理字符串输入二、迭代器切片(Slice)三、跳过可迭代对象的开头四、只包含关键字参数的函数 (kwargs)五、创建支持「with」语…...
【Linux】文件时间-ACM
文章目录文件时间-acmAccessChangeModify文件时间-acm 我们可以使用stat 文件名的方式查看对应的文件的时间信息 Access 表示文件最近一次被访问的时间 文件的访问 实际也就是文件的读取 实际操作中,文件的Access时间可能没有变化,这是因为在新的Linux内核中,Access时间不…...
[架构之路-124]-《软考-系统架构设计师》-操作系统-3-操作系统原理 - IO设备、微内核、嵌入式系统
第11章 操作系统第5节 设备管理/文件管理:IO5.1 文件管理5.2 IO设备管理(内存与IO设备之间)数据传输控制是指如何在内存和IO硬件设备之间传输数据,即:设备何时空闲?设备何时完成数据的传输?SPOO…...
【竞赛/TPU】算能TPU编程竞赛总结
如果觉得我的分享有一定帮助,欢迎关注我的微信公众号 “码农的科研笔记”,了解更多我的算法和代码学习总结记录。或者点击链接扫码关注【竞赛/TPU】算能TPU编程竞赛总结 1 基础知识 1.1【Ubuntu】 Ubuntu操作系统中有很多不同的文件夹,每个…...
Substrate 基础教程(Tutorials) -- 模拟网络 添加可信节点
三、模拟网络 本教程基本介绍了如何使用一个私有验证器(validators)的授权集合来启动私有区块链网络。 Substrate节点模板使用授权共识模型(authority consensus model),该模型将块生产限制为授权帐户的旋转列表(rotating list)。授权帐户(…...
SAP 设置无物料号的费用采购
现在还是以外购电来说一下ERP中费用采购单的使用步骤: (1).Tcode:OMSF定义物料组D1,如下图。 (2).到配置路径IMG Path:物料管理->采购->帐户分配(或直接SE16:V_T163K)定义一科目分配类别,默认的K就是费用采购科目分配类型,如果可能可以复制一个,如下图,注意下…...
k8s ConfigMap 中 subPath 字段和 items 字段
Kubernetes中什么是subPath 有时,在单个 Pod 中共享卷以供多方使用是很有用的。volumeMounts.subPath 属性可用于指定所引用的卷内的子路径,而不是其根路径。 这句话理解了,基本就懂subPath怎么用了,比如我们要替换nginx.cnf, 挂…...
UML建模
主要记录UML中的相关知识,包括类、对象、接口、方法、用例、活动、状态、组件和部署图,详细介绍类之间关系与类图的绘制 文章目录一、UML介绍二、类图类之间的关系依赖关系继承关系实现关系关联关系组合关系聚合关系正文内容: 一、UML介绍 …...
JavaScript常见面试题(更新中)
介绍js的基本数据类型 js一共有五种数据类型 分别是undefined null boolean number string 还有ES6中新增的symbol和ES10的bigInt symbol代表创建后独一无二的不可变的数据类型,他的出现我认为是为了解决可能出现的全局变量冲突的问题 BigInt是一种数字类型的数据 …...
TCP/IP协议
✏️作者:银河罐头 📋系列专栏:JavaEE 🌲“种一棵树最好的时间是十年前,其次是现在” 目录TCP/IP协议应用层协议自定义应用层协议DNS传输层协议端口号UDP协议UDP协议端格式TCP协议TCP协议段格式TCP工作机制确认应答(安…...
Python使用异步线程池实现异步TCP服务器交互
背景: 实现客户端与服务端交互,由于效率原因,要发送与接收异步,提高效率。 需要多线程,本文用线程池管理。 common代码: import pickle import struct import timedef send_msg(conn, data):time.sleep(…...
matplotlib常用操作
文章目录1 matplotlib绘图1.1 绘图步骤2 matplotlib基本元素2.1 matplotlib 画布2.2 设置坐标轴长度和范围2.3 设置图形的线型和颜色2.4 设置图形刻度范围、刻度标签和坐标轴标签等2.4.1 设置刻度范围2.4.2 设置坐标轴刻度2.5 文本标签图例3 matplotlib的ax对象绘图4 绘制子图5…...
二分算法题
文章目录一、在排序数组中查找数字二、0~n-1中缺失的数字三、旋转数组的最小数字四、二维数组中的查找一、在排序数组中查找数字 题目传送门 法一:暴力解 直接遍历然后计数 法二:二分法求边界 看到关键字排序数组、有序数组,一定要想到二分…...
Vue+ElementUI+SpringBoot项目配合分页插件快速实现分页(简单暴力)
首先需要在项目中引入Element-UI的组件库,使用以下命令,不会引入的请自行百度。 npm i element-ui -S Element官网地址:https://element.eleme.cn/#/zh-CN/component/changelog 去Element-UI官网组件库找到合适的分页插件,并把他引…...
【回眸】牛客网刷刷刷!嵌入式软件中也会遇到的嵌入式硬件,通讯,通讯协议专题(一)
前言 最近继续刷题,看看嵌入式软件还需要了解一些嵌入式硬件中的通讯协议和常用接口协议 比如说SPI CAN I2C 通讯协议专题 1.波特率 波特率 每秒传送的字符数 * 字符位数。串口的工作模式为1个起始位,7个数据位,1个校验位,1个…...
使用Vue展示数据(动态查询)
学习内容来源:视频P4 本篇文章进度接着之前的文章进行续写 精简前后端分离项目搭建 Vue基础容器使用 目录选择组件修改表格组件修改分页组件增加后端接口前端请求数据接口页面初始化请求数据点击页码请求数据选择组件 在官方文档中选择现成的组件,放在页…...
构建数据库测试数据——mysql
建表脚本 -- 建表 CREATE TABLE test_table (id INT(11) NOT NULL AUTO_INCREMENT,varchar_col VARCHAR(50),char_col CHAR(10),text_col TEXT,tinyint_col TINYINT(4),smallint_col SMALLINT(6),mediumint_col MEDIUMINT(9),int_col INT(11),bigint_col BIGINT(20),float_col…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
电脑插入多块移动硬盘后经常出现卡顿和蓝屏
当电脑在插入多块移动硬盘后频繁出现卡顿和蓝屏问题时,可能涉及硬件资源冲突、驱动兼容性、供电不足或系统设置等多方面原因。以下是逐步排查和解决方案: 1. 检查电源供电问题 问题原因:多块移动硬盘同时运行可能导致USB接口供电不足&#x…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
Matlab实现任意伪彩色图像可视化显示
Matlab实现任意伪彩色图像可视化显示 1、灰度原始图像2、RGB彩色原始图像 在科研研究中,如何展示好看的实验结果图像非常重要!!! 1、灰度原始图像 灰度图像每个像素点只有一个数值,代表该点的亮度(或…...
32位寻址与64位寻址
32位寻址与64位寻址 32位寻址是什么? 32位寻址是指计算机的CPU、内存或总线系统使用32位二进制数来标识和访问内存中的存储单元(地址),其核心含义与能力如下: 1. 核心定义 地址位宽:CPU或内存控制器用32位…...
react菜单,动态绑定点击事件,菜单分离出去单独的js文件,Ant框架
1、菜单文件treeTop.js // 顶部菜单 import { AppstoreOutlined, SettingOutlined } from ant-design/icons; // 定义菜单项数据 const treeTop [{label: Docker管理,key: 1,icon: <AppstoreOutlined />,url:"/docker/index"},{label: 权限管理,key: 2,icon:…...
Java中HashMap底层原理深度解析:从数据结构到红黑树优化
一、HashMap概述与核心特性 HashMap作为Java集合框架中最常用的数据结构之一,是基于哈希表的Map接口非同步实现。它允许使用null键和null值(但只能有一个null键),并且不保证映射顺序的恒久不变。与Hashtable相比,Hash…...
