Minecraft除了单机一个人玩外,还能局域网与朋友联机玩,除此之外,还能连接到远程服务器,与不同地区的玩家一起玩耍. 那么,该如何开启一个MC服务器呢?
注: 此教程的系统环境为windows
,服务端采用spigot
.
一. MC服务器是什么?
MC可以单机玩,也可以联机玩,联机主要有两种方式:
一种是局域网内联机
,这种方式只要打开MC客户端,然后在游戏内点击开启局域网模式,在同一个局域网内的客户端就能连上了,
适合几个人在一起玩,但只能是MC原版的玩法,没有额外的功能,比较单调.
另一种就是开启MC服务器
联机,这种方式更加通用,不同地区的玩家都能加入进来,而且通过插件可以改变游戏的玩法,此教程讨论的就是这种方式.
通过MC服务器,不同地区的玩家可以一起玩,一起建筑,一起打怪,还可以通过插件来改变游戏的玩法,增加更多的特性,比如增加金币功能(打怪掉落金币,可以用金币购买其它玩家的物品),增加领地功能(防止其它人破坏你的建筑)等.
二. MC服务器怎么开?
开服主要有以下几种方式:
自己电脑上开服
一般用做测试
目的.
比如本地开个服,测试一下指定版本的某个插件能否正常使用.
你可能会问,我用这种方式开服,其它人有办法连接上来吗? 可以百度一下动态IP,内网IP与端口映射,这里暂时不作过多介绍.
租用服务器开服
可以在淘宝或百度上搜索服务器租用
,租用其它服务商的服务器,
一般可以租VPS或独立主机,
VPS通常用的虚拟化技术,就是在一台服务器上弄出多个独立的系统出租给不同的用户,因此稳定性相对差些,
独立主机则是对应物理机,质量相对更高,但也更贵.
初期开服适合使用这种方式.
购买服务器托管
这种方式初期购买花费较高(购买服务器物理机的费用),然后找机房托管,托管费通常相对比租用要便宜点.
优点很明显,服务器是你自己的,质量与性能都有保证,一般正规的大服都会采用此方式.
但难度也摆在那里,从购买机器,挑选机房,运送机器,怎么不被坑就看你的能力了.
租用专门的MC服务器
因为MC开服需求比较大,因此也出现了很多专业的MC服务器出租商, 他们可能提供专门的MC服务器网页管理系统方便管理服务器, 也可能针对MC服务端在网络,性能,稳定性上做了一些优化.
这种是比较推荐的方式,适合大多数人使用.
总结
不管选用哪种方式开服,主要还看服务提供商的质量,比如是否有断电,崩服,重启的情况,网络质量是否稳定,是否会掉线等.
三. 服务端介绍
MC服务端本质只是一个java软件
,下载下来后只有一个jar文件,需要先安装java,然后用java来打开这个jar文件,服务端就启动了.
有哪几种服务端?
一般流行将服务端分为插件服
与MOD服
两类,每类都有多个服务端可供选择,此教程只讨论插件服
,以下是几种最流行插件服的服务端:
官服(vanilla)
: 指的是MC官方服务端,但功能比较简单(一般不会直接使用此服务端开服)-
水桶服(Bukkit/CraftBukkit)
(官网): 这是社区开发的服务端,在官服的基础上增加了丰富的功能(此服务端因为某些原因,已经不再更新).Bukkit与CraftBukkit的区别?Bukkit是一个接口,CraftBukkit是它的实现
水龙头服(Spigot)
(官网): 此服务端是在水桶服之后出的,最显著的特点是在水桶服的基础上做了优化,提高了性能(推荐!目前最流行的)PaperSpigot
(官网): 此服务端在水龙头服的基础上做了优化,但目前在稳定性上不如水龙头服(可以尝试)
数据存在哪里?
你可能会问,服务端开启后,数据存在哪里?
服务端本身的数据
默认存放在文件里,比如服务端的配置文件,比如你在游戏中使用命令设置玩家为op,那op信息也保存在文件中,再比如改变了游戏世界,那世界的改变也会保存在世界文件里插件数据
一般也存放在文件里,但有些插件可能会将数据存放在数据库
中
服务端目录介绍
以spigot服务端为例,不同版本的服务端目录/文件结构可能存在差异
其中最重要的目录/文件如下:
plugins
: 插件目录,这是非常重要的目录,里面放着你的全部插件xxx.jar
: 插件目录内的jar文件就是插件(一般文件名与插件名相同,但也可以改,比如从英文改成中文方便理解)插件名
: 一般插件目录内会有一个与插件名一致的文件夹,这就是插件数据文件夹
,通常用来保存插件的配置与数据.
server.properties
: 官服的配置文件(说明)bukkit.yml
: 水桶服的配置文件(说明)spigot.yml
: 水龙头服的配置文件(说明)
其它的目录/文件如下:
world
是主世界目录/world_nether
是地狱世界目录/world_the_end
是末地世界目录ops.json
文件保存op列表(op就是管理员,权限最大)whitelist.json
文件保存白名单列表(需要在官服的配置文件内启用白名单)banned-ips.json
文件保存封禁的IP列表permissions.yml
文件是服务端自带的权限系统的配置文件(但功能比较简单,一般用权限插件代替)banned-players.json
文件保存封禁的玩家列表
四. 服务端下载
官方下载
官方没有提供现成的服务端,需要你去手动构建指定版本的服务端,此方法可以用来获取最新
的服务端,但缺点是复杂且容易失败.
官方提供了一个构建工具BuildTools(使用方法)
简单步骤说明如下:
- 下载Java(运行minecraft需要java,开服同样需要它)
- 下载Git(这是版本控制工具,开发者常用的)
- 下载BuildTools(这是开发spigot的作者弄的构建工具,就是运行后会给你自动下载文件,组装文件,并产出最终可用的服务端文件)
- (windows系统下)打开
git bash
界面(不能使用普通的命令行界面),输入java -jar BuildTools.jar
来运行它,在经过漫长的构建过程后,会生成一堆文件 - 那个
spigot-x.x.x.jar
就是最终的服务端产出了
第三方下载
一般情况下,从第三方下载已经构建好的服务端比较合适,比如:
五. 服务端运行
安装java
推荐安装最新版本的java8,有两种方式:
- 非安装版(有时也被称作绿色版),指下载后解压出文件夹直接使用,但缺点是在命令行窗口中必须输入完整的java文件路径
- 安装版,下载后是一个可执行文件(如以exe或msi为后缀的),双击运行再按提示安装,安装结束后打开命令行窗口,输入
java
便会有提示(因为安装时已经把java的路径添加到了系统的PATH环境变量中,所以系统能找到java命令)
如何确认java安装成功?输入java --version
即可,如果看到了java版本,说明安装成功了,反之,如果提示命令未找到,则可能没有安装成功.
如果你用的是非安装版,比如解压出文件夹jre1.8
到C:\Program Files
,
则必须使用命令"C:\Program Files\jre1.8\bin\java" --version
,注意如果目录含有空格,则必须用引号包围起来.
启动服务端
一般使用bat脚本
来启动服务端,步骤如下:
- 将下载的服务端文件复制到任意空目录中
- 在目录内新建一个名为
start.bat
(后缀是bat就行)的文件 - 用文件编辑器(推荐Notepad++)打开后输入
java -jar xxx.jar
(其中xxx.jar换成服务端的jar名),然后保存 - 双击刚新建的start.bat脚本文件,会出现一个命令行窗口,启动过程中会不断地输出日志.
- 日志基本上都是英文的(因为服务端的作者是外国人),在日志刷得基本上结束后,会看到类似
Done (14.786s)! For help, type "help" or "?"
的信息,服务端就算启动完成了. - 如果服务端与客户端在同一台电脑上,则在打开游戏客户端后添加服务器,输入IP地址
localhost
就可以进服了
双击start.bat脚本后,命令行窗口闪了一下就退了?
如果出现这种情况,一般是java路径没配置之类的原因,可以用文本编辑器打开start.bat
脚本文件,在最后面换一行,然后输入pause
,
这样命令行窗口就不会立即退出,可以看到出错原因.
第一次运行服务端,没启动成功?
在第一次启动服务端时,会提示You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
然后自动停止.
你需要打开生成的eula.txt
,将里面的eula=false
改成eula=true
然后保存(表示同意服务端相关的协议),
再启动服务端就可以了.
客户端进不去服务器?
默认服务端可能开启的是正版模式,因此如果你不是正版登录的(盗版登录/离线登录),就会进不去服,可以打开server.properties
文件,将online-mode=true
改成online-mode=false
再重新启动服务端就可以了.
关闭服务端
一般使用命令来关闭服务端,在控制台界面输入stop
即可.
要注意的是,不要直接点命令窗口右上角的关闭按钮
,否则关闭的只是命令窗口,服务端还在后台运行着.
这样下次启动服务端时会提示**** FAILED TO BIND TO PORT!
,即端口被占用了.
如果出现这种情况,打开任务管理器,找到服务端的java进程然后杀死,但这种非正常的关闭会导致数据保存不完整
.