(第一次写的时候没保存,暴毙, Y某风暴哭泣)
这篇文章主讲JAVA版,因为对bedblock版本不太熟悉。
想要开mc的服务器,首先得下载mc的服务端,例如JAVA版服务端
我初中的时候天真的以为服务器只是大型局域网联机,但是原理确实一样,所以还是被端口转发映射折磨到死去活来,差点弃理从文
因为家庭网络和云服务器的网络环境各不相同,所以分两个part来讲
本地
一般家庭用户用的都是Windows/MacOs系统,不排除有些人喜欢linux,但书归同途一般用的都是带gui的操作系统,所以基于这点来介绍下序操作
准备工作
- 下载服务端
- 下载JAVA配置好环境变量
- 端口映射/转发 或者 内网穿透
下载服务端和JAVA
- MC服务端可以自行百度/GOOGLE, 官网只提供了1.18.3的JAVA版服务端, 但在启动器上提供了其他版本的server端
- JAVA可以在官网下载jdk版,或者直接下载jre
- 下载后记得安装
配置环境变量
因为本人长期使用windows和linux终端,对于mac和linux-gui配置并不清楚(linux 终端貌似会自动配置)
对于Windows11系统:
- 打开主菜单的搜索或者直接点击搜索,输入
环境变量
,打开编辑系统环境变量 - 点击
环境变量
- 找到
系统变量
下的Path
选中并点击编辑 - 点击新建,并输入java的安装地址(需要在后面加上
\bin
,当然\
还是/
取决于操作系统,但是我们要运行的是bin文件夹下的java以及jar) - 点击确定,就完成了配置
可以通过在终端运行java -version
来判断有没有安装成功
端口转发 / 内网穿透
首先讲一下为什么要端口转发 / 内网穿透:
- 要把本地数据发送到外网/想要外网能接受本地数据
- 要把本地服务让外网能连接/想要外网能访问本地服务
- 可以实现很多酷炫的功能,比如把自己的电脑做成云盘
如果要开mc服务器的话,这也是踏不过去的一道坎。
当然得确认自己的ip地址是v4还是v6, 可以通过该测试来判断
- v4表示ipv4即ip的第4套协议,同理v6是第6套
别问我第5套我也不知道 - 因为v4的地址只有42亿左右,早在几年前就被分配完毕,所以目前绝大部分的家庭网络没有自己的独立ip。
- 独立ip好似一个绝对路径,直接告诉了别人你家的地址门牌号
- 处于内网环境就好比,别人只能知道你住哪个小区,得有社区管理才能找到你具体地址
- 接上面的例子,有些小区防护严格,不让外人进小区,你的数据就没有办法和外面进行交互
- v6的地址在设计之初号称能让每一粒沙子有自己的ip,所以有v6地址,意味着是独立ip
如果是ipv6的话通过关闭防火墙更改入站规则就可以进行下一步
因为俺没有用过ipv6的网络,俺不知道怎么操作,也不好不懂装懂,还是接着读吧QWQ
端口转发
数据发送流程如下
- 本地发送请求至路由器
- 路由器通过设定好的端口转发,提交到外网
- 外网接受到请求,发送数据回路由器
- 路由器通过NAT发送给指定设备
所以,打开路由器找到NAT服务中的端口映射和触发,填上所用于做服务器的设备的ip(注意,不是内网ip如192开头172开头等,可以直接在浏览器中搜索ip来查看真实ip),以及端口号25565(mc服务器默认的端口,可以在配置文件中修改)
然后就可以进行下一步啦
- ps: 如果不成功,说明是大内网环境,解决方法 打电话给运营商; 内网穿透 ; 等等
内网穿透
如果不想整并去了解端口映射,可以采用内网穿透来解决
- 内网穿透的原理为: 采用中转服务器,让数据交互可以通过中转服务器来完成
所以,可以直接下载内网穿透软件,例如各种frp可以简单的解决这种问题,这里推荐frp 感觉各种收费的frp就是利用这个进行操作的。操作简单,有中文文档。不懂得可以评论问我xd。
开服
确保了别人可以访问你服务器主机数据后,就可以开服啦
- 在服务端文件夹打开终端(windows cmd/powershell)
- 输入
java -jar minecraft_server.1.18.1.jar nogui
- 如果想有一个gui显示可以把nogui删掉
- 如果是其他版本需要把
minecraft_server.1.18.1.jar
改为对应的名字
- 第一次运行的话,需要同意eula协议,可以直接打开服务端所在文件夹更改
eula.txt
的最后一行false
totrue
- 再次 运行
java -jar minecraft_server.1.18.1.jar nogui
- 服务器运行成功,可以拉别人来玩啦!
云服务器
我所用的云服务器为vultr, 有长期活动,用下面的链接注册后,充值35刀可以获得1个月的100刀额度,所以垃圾活动,但是还是挺好用的。服务器按时间收费,随时可以停,但退款我没有试过。
开服
下面指令为ubuntu
的操作其他操作系统请输入对应的操作
首先通过ssh连接云服务器或者用各家网站上的服务直连
先对刚购买的云服务器更新
sudo apt-get update && sudo apt-get upgrade
安装java
sudo apt-get install openjdk-17-jdk
下载 Minecraft 1.18.3服务端
wget https://launcher.mojang.com/v1/objects/125e5adf40c659fd3bce3e66e67a16bb49ecc1b9/server.jar
- 如果你想创建新文件夹的把服务端文件放进去的话,可以去看我的linux常用指令看看怎么操作
开放防火墙端口
sudo ufw allow 25565 && sudo ufw enable
运行服务端
java -jar server.jar nogui
更改eula.txt
vim eula.txt
jjlllllxxxxstrue
- 按下Esc,输入
:wq
- 想要看懂上面操作可以看我的Vim操作介绍
运行服务端
java -jar server.jar nogui
服务器开启成功!
如果想要进行服务器配置的更改, 需要在开服前对 server.properties
进行修改, 也就是
vim server.properties
- 最好还是先学一下vim的Vim操作 [doge]
同时最好学一下screen服务的运用,以免ssh终端服务器的运行
Minecraft 服务器常用指令
help
- 查看服务器指令帮助op
- 给玩家管理员权限deop
- 取消玩家管理员权限ban
- 静止玩家进入该服务器ban-ip
- 静止该ip玩家进入该服务器- ...
其他
等我有空我会写一下mc服务器怎么装插件的介绍把xd
另外强烈建议去mcbbs论坛学习!
Comments | NOTHING