本地内网穿透搭建MC服务器
# 本地内网穿透搭建MC服务器
# 前言
如果你和你的朋友在同一个局域网下(校园网,家庭网,热点)情况下,搭建好服务器就可以了,不需要再内网穿透
在centos虚拟机内网穿透的环境下搭建MC服务器联机,预计耗时2-3小时
虚拟机是这样的。独立ip服务器只需要搭建就可以了。虚拟机要考虑的事就多了,修改配置、内网穿透、小水管带宽(恼)
# 工具准备
- VMware
- Centos
- Xshell(可选)
# centos配置
在我服务器的2h2g3m的ubuntu开服时可能是内存太小了,运行不了,有空用centos再试一次
虚拟机centos配置:2h8g,40硬盘
# centos安装和环境配置
# 安装及配置
在阿里云镜像站下载centos,点我下载 (opens new window)
虚拟机安装过程可以一路默认,路径语言root密码可以重点看一下
重启进入centos时是纯命令行,用户名root,密码是刚才设置的密码(输入时不显示)
# 换源
centos默认下载源速度慢,可能下载不通,更换为阿里源
备份
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
换源
sudo rm /etc/yum.repos.d/CentOS-Base.repo
sudo vi /etc/yum.repos.d/CentOS-Base.repo
2
将内容替换为
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
[centosplus]
name=CentOS-$releasever - Plus - mirrors.aliyun.com
baseurl=http://mirrors.aliyun.com/centos/$releasever/centosplus/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
保存退出
yum update
后面一路选择y
# 可能出现的问题
如果没有网络(ping baidu.com都没有回显),yum更新失败,给虚拟机再添加一个nat网络适配器
参考VMware安装完Linux(CentOS)虚拟机后无法连接网络解决方法 (opens new window)
# 安装wget
yum install wget
# 获取ipv4
ip a
没有显示ipv4的地址
解决方法
参考文章
centos解决不显示ipv4 (opens new window)
到/etc/sysconfig/network-scripts目录下修改配置文件
cd /etc/sysconfig/network-scripts
vi ifcfg-ens33
2
将最后的ONBOOT=no改为ONEBOOT=yes
上下键滑到指定位置按i修改为yes,按esc,输入:wq退出
重启一下。再次查看ipv4
ip a
我这里就是192.168.138.133
# 换到xshell操作
上面过程自己输命令有点累,下载xshell下载连接 (opens new window)
22端口ssh连接,名字随意,ip是上面获取的ipv4
左侧密码
现在的命令你可以右键复制到终端了
# 下载java17
参考在 CentOS 7/RHEL 7 上安装 Java 17 (OpenJDK 17) (opens new window)
下载二进制文件
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
安装java17
yum -y install ./jdk-17_linux-x64_bin.rpm
验证
java -version
打印版本即成功
# 安装MC服务端
MC官网下载MC (opens new window)
选择稳定版本,我这里用1.19.3
右键复制下载链接
在xshell中执行
创建mc的安装路径,并进入
mkdir MCserver
cd MCserver
wget https://piston-data.mojang.com/v1/objects/c9df48efed58511cdd0213c56b9013a7b5c9ac1f/server.jar
2
3
# 配置MC
启动!
# 不指定,默认加载 world 文件夹
# java -jar server.jar --world new_world --nogui
# nogui 没有Gui图形化界面
java -jar server.jar --nogui
2
3
4
报错,首次运行需要同意协议
列出文件夹目录,有eula.txt
编辑eula.txt
vi eula.txt
按i编辑文件,将文件中的eula=false改为eula=true,再按esc输入:wq保存退出
如果你不是正版用户,你还需要修改配置文件。
vi server.properties
同样将online-mode的true修改为false(关闭正版验证),改动完保存
再次启动
java -jar server.jar --nogui
# 创建新世界
如果没有-world参数默认加载‘world’世界存档内容,指定一个新建文件夹就可以创建新的世界
mkdir new_world
java -jar server.jar --world new_world --nogui
2
# 内网穿透
如果你有公网ip的服务器,你可以省略这一步。最后一步内网穿透,经过这一步你就可以联机了
推荐一个内网穿透工具Cpolar (opens new window),在官网注册一下
带宽1M/s,这水管太小了,不过不限量,多人可能会很卡顿
安装Cpolar
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
验证是否安装成功
cpolar version
验证个人token
cpolar authtoken xxxxxxx
添加系统服务
sudo systemctl enable cpolar
启动Cpolar
sudo systemctl start cpolar
现在你需要同时开启MC服务和Cpolar服务,这两个服务开启其中任意一个似乎都不能输入外界命令了,建议开启两个xshell页面
java -jar server.jar --nogui
在另一个界面
cpolar tcp -region=cn_vip 25565
现在可以联机了,看下官方文档
到Cpolar中复制分配给你的公网地址
例为tcp://6.tcp.cpolar.top:10577,注意tcp://无需复制,将6.tcp.cpolar.top:10577复制到mc中的服务器地址就可以联机了
如果在一起跟教程搭建服务器失败时,可以在下方评论区留言
# 体验
在内网穿透提供的1M/s带宽下能够满足两个人流畅游戏
# 补充
游戏结束记得存档,避免下次游戏时读档异常无法启动
在MC服务器运行界面执行命令
结束游戏
/stop
存档
/save-all
# 其他
关于局内游戏使用tp等命令时,需要在配置文件server.properties中开启command的一个配置项
在MC服务器运行界面给玩家添加管理员权限
/op username