Minecraft开服详解

发布于 2022-01-16  8 次阅读


(第一次写的时候没保存,暴毙, 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

端口转发

数据发送流程如下

  1. 本地发送请求至路由器
  2. 路由器通过设定好的端口转发,提交到外网
  3. 外网接受到请求,发送数据回路由器
  4. 路由器通过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 to true
  • 再次 运行 java -jar minecraft_server.1.18.1.jar nogui
  • 服务器运行成功,可以拉别人来玩啦!

云服务器

我所用的云服务器为vultr, 有长期活动,用下面的链接注册后,充值35刀可以获得1个月的100刀额度,所以垃圾活动,但是还是挺好用的。服务器按时间收费,随时可以停,但退款我没有试过。
Minecraft开服详解

开服

下面指令为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论坛学习!


浊酒情殇逝,失心狂傲往。 无情者伤人,有情者自伤。