banner
NEWS LETTER

MC服务器的搭建

Scroll down

目录

前言

MC开服不是什么困难的事,只要你有一定的电脑基础,这是一件非常简单的事

服务端的选择和下载

一般常用的服务端有以下几种:

原版

  • Vanilla:Vanilla,又称官服,是我认为最拉跨的服务端,但它纯净无修改,特性与原版一样.

Bukkit及其分支

  • Bukkit:CraftBukkit是一个使用BukkitAPI的Minecraft多人模式服务端¹,它是使官方
    Minecraft 服务器以更高执行效率的调用BukkitAPI的一个变种服务端,例如在运行 Bukkit 插件时会更有效率.²

  • Spigot:
    SpigotMC是运行Bukkit服务器mod的一个分支.Spigot旨在提高传统Bukkit服务器Mod的性能和效率,同时仍然保持与Bukkit服务器Mod的插件的兼容性.³

  • HOSE:HOSE是一个基于Spigot的多线程端.

  • PaperMC:Paper是Spigot的分支,同时也是CraftBukkit的分支(套娃)
    ,Paper旨在提供更高的性能.更多的功能和更多的插件api.这是我最喜欢的服务端,只是他的缺点很明显,为了获取更高的执行效率,Paper修改了大量的代码,以至于很多特性(
    包括bug)不能在Paper里实现

  • Purpur:Paper服务器的直接替代品,旨在实现可配置性,新的有趣和令人兴奋的游戏特性,以及Paper之上的性能.⁴

  • Akarin:阿卡林端,又是个我没听过的
    ,是一个基于paper的服务端,旨在提供极致性能,主要优化是:支持多线程.

  • GlowStone:萤石端,没听过,一个基于Bukkit但同时支持Sponge插件的端.
    说实话我真不知道这个是归到混合端还是bukkit分支.

Forge

  • Forge:Forge是Forge官方的服务端,但听说他的运行效率很拉跨(
    可能是整体拉跨 我没开过mod服).

Fabric

  • Fabric:Fabric是Fabric官方的服务端,我没用过,不做评价.

  • Fabric-Carpet:Carpet又称地毯端,基于Fabric,适合Fabric生电服,具有非常多实用功能,例如假人.
    (至于这是不是个端我到现在还不知道XD,我觉得是个模组但别人都叫做端)

  • MCTownServer:一个我从没见过的端,此端旨在为高版本提供更好的优化,似乎还支持JE/BE互通.

混合端

  • CatServer:CatServer又称猫端,他在支持mod的同时还支持Bukkit插件,作为一个mod服,他有着多线程版本,许多mod服用的就是猫端.

  • Mohist:
    Mohist是一个简单易用,高兼容性的服务端,不过这里的高兼容性指的是同时兼容paper和forge插件(模组)
    ,而不是指对插件或模组有着高兼容性,Mohist已经被部分插件加入兼容黑名单.

  • SpongeForge:一个Forge服务端,似乎性能很差.相比起服务端,它更像一个可以支持Sponge插件的模组.

其他

  • SpongeVanilla:一个能支持Sponge插件的服务端(废话).

  • CubeRite:一个由cpp编写的高性能服务端,

  • Nukkit:Nukkit是一个老牌的服务端,起初是为了小游戏而设计,所以抛弃了很多原版特性.

  • Minestom:似乎只是个服务端框架,并不基于任何原有的mc代码.

跨服端

跨服端并不是传统意义上的服务端,而是一个代理端,可以连接后台多个服务端,以实现群组服.

  • BungeeCord:BC又称蹦极端,大概是最早的跨服端.

  • WaterFall:WaterFall是PaperMC发布的一个基于BC端的一个跨服端.

  • Velocity:是PaperMC发布的另一个跨服端,区别在于不基于BC(?).

开服!

java的下载与选用

在开服之前我们先要下载java以支持mc服务端的运行.

注意:尽量下载64位java除非你的电脑条件不允许(不会真有人系统还不是64位的吧).

如下载的java是32位,你将不能把内存调到1024MB以上,这可能导致mod服的崩溃.

一般来说:

服务端版本 java版本
1.8 - 1.6.5 java8,java11
1.17 - 1.19.3 java17

不过1.8 - 1.16.5我更建议使用java11.

linux用户可以直接使用:

  • apt:
1
2
3
sudo apt install openjdk-8-jdk
sudo apt install openjdk-11-jdk
sudo apt install openjdk-17-jdk
  • yum:
1
2
3
sudo yum -y install java-1.8.0-openjdk*
sudo yum -y install java-11.0.17-openjdk*
sudo yum -y install java-17.0.15-openjdk*

服务器的启动

这一步是最简单的一步,也是新手最容易出问题的一步

启动cmd:

输入:

1
java -Xmx2048M -jar 你的服务端名.jar

如果你看到这三行文字说明你离成功不远了

接下来打开eula.txt,把

1
eula=false

改成

1
eula=true

然后重启服务器,至此你的服务器已经开好了.

服务器的选购

如果你选择本机开,请跳过这一步.

如果有钱的话无脑选腾讯阿里这种大厂云.没钱的话可以考虑雨云之类的小厂云.

服务商

  • 腾讯云:腾讯云是由腾讯提供的云服务(废话),个人觉得有点贵,不过新用户和学生的折扣还是挺香的.
  • 阿里云:阿里提供的云服务,感觉有点贵,前些天出了一些事故,不过一般不会有这么大的问题.
  • 雨云:个人比较推荐,比大厂云便宜很多,主要是稳定性差一点,不过这么久了也没出什么大问题.这也是目前我博客和我管理的mc服务器所使用的服务商.
  • 麦块科技:没用过,听说是屎.不过统一通行证用的是他的服务器.
    如有其他服务商的请联系我添加.

域名的选购

域名服务商一般分国内服务商和国外服务商.
以下是我听过的.

国内服务商

万网:现在为阿里域名.
DNSPod:现在似乎被腾讯收购.

国外服务商

Godaddy:似乎是国外最大的域名服务商.
freenom:亮点在于免费提供一年域名.

内网穿透

如果你有公网IP或者你租了服务器,请跳过这一步.

服务商

  • 樱花Frp:一个老牌的frp提供商,由于大量用户涌入,现在免费资源的质量已经大不如前了.
  • OpenFrp:没用过,不做评价.
  • nat123:化石级内穿/ddns软件,要点钱.
  • 花生壳:老牌的内网穿透提供商,不是很推荐,这个挺坑的.

使用教程

地址的配置

一般的内网穿透提供商会需要一个内网地址,这个地址就是你本地服务端的地址.
一般为:127.0.0.1:25565,如果他所需求的地址是分IP地址端口,那应该这样:IP地址:127.0.0.1 端口:25565.
虽说一般端口是这个,但具体还是要看服务器配置文件..

节点的选择

节点尽量选择国内,如果无法选择大陆节点那可以使用香港节点,再不济也要用日本节点.用美国节点就等着体验350+的延迟吧.

附:我的好友加入游戏时要填的地址是什么?

配置完成之后服务商大概会给你一个地址,那个就是了.

动态公网IP与IPV6

如果你有服务器,使用穿透,或是有静态公网IP(什么富哥),请跳过这一步.

IPV4公网IP的申请

如果你选择IPV6开服,请跳过这一步.

IPV4公网获取的条件比较苛刻,要看服务商和地区,主要是服务商..

如果你的服务商是电信,那提前恭喜你,电信是最好申请公网IP的服务商.
但如果是别的服务商,那还是选择别的方法吧…

电信申请公网IP

  1. 拨打10000
  2. 向其索要公网IP
  3. 如果他询问用途,回答:装网络摄像头(这是万能答案,建议让大人来打)

部分地区管的比较严,可能拿不到,有些地方开始回收公网IP了,我这好像就被收了(悲

其他服务商申请公网IP

做什么梦呢,除非你是员工,要不然基本上是没可能的.

映射

一般路由器会有DMZ主机或者端口映射选项.如果没有…那恭喜你成为大冤种(逃.

路由器管理页面

  1. 如果你是windows用户,摁下WIN+R可以打开运行页面,输入cmd即可打开命令提示符.如果你不知道WIN
    键是什么…那打开我的电脑,在上边的路径框内输入cmd.
  2. 这时你大概能看到一个黑色的框框,在里面输入:
    1
    IPconfig
  3. 摁下回车键,可以看到返回了网络信息.
  4. 找到网关地址,那就是路由器的内网地址.
  5. 在浏览器的地址栏输入刚才看到的地址,进入管理页面.

端口映射

创建映射时一般会有三个参数,内网IP地址``内网端口``外网端口.

你可以看到刚才的黑框框内有一行:IPV4地址,那就是你的内网IP地址.

至于内网端口,一般是25565.具体要看你服务端设置.

外网端口我建议设置为25565,这样可以省很多事.

DDNS

DDNS(Dynamic Domain Name Server,动态域名服务)
是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析.

想要用ddns,首先要有个域名(废话).

目前ddns服务似乎挺少的,我知道的有以下几种:

  • DDNS:一个开源项目,就叫ddns,支持各大厂云的域名解析.
  • 花生壳:很少用,不做评价.
  • nat123:我觉得是屎.
  • OpenWRT似乎有这种插件,不过会刷OpenWRT的都应该会装XD.(懒人.jpg)

附:我的好友加入游戏时要填的地址是什么?

  • 如果是动态IPV4公网IP,那服务器地址是你的公网IP:你的外网端口号
  • 如果是IPV6,那服务器地址是[公网IP]:你的外网端口号
  • 如果有DDNS,那服务器地址是域名:你的外网端口号

到这里可能有些人要问了:前面不是说25565端口可以省很多事吗?省了什么事啊?

省事就省事在加入游戏可以不用加:端口

SRV解析

注:这不是必须的.

前言

可能会有些人觉得服务器地址后边带个域名挺难看的,我也觉得.
这当然是有办法解决的,不过你需要一个域名..

解析

  1. 找到DNS解析
  2. 点击添加解析
  3. 按照如下填写
主机记录 记录类型 TTL 记录值
_minecraft._tcp.你想要的前缀 SRV 600 5 0 原本的端口 原本的地址

至此你就可以通过:你想要的前缀.你的域名 进入游戏了.

疑难解答

MC开服疑难解答

最后

如有任何问题请通过的的邮箱联系我,我会尽快修改.

参考

各种 MC(我的世界)服务端核心介绍和下载地址
MineWiki-Nukkit

引用

  1. mc插件百科-CraftBukkit有删改
  2. mcwiki-Bkkit 有删改
  3. mcwiki-SpigotMC有删改
  4. PurpurMC由hsn翻译
其他文章