MineCraft服务器搭建教学(尚未完工)

前置说明:

  • Minecraft服务端程序的运行需要Java环境,不同MC版本需要的Java版本也不同
Minecraft版本1.6.x及更低1.7.x - 1.15.x1.16.x1.17.x-1.20.x1.21以及更高
Java版本Java 7Java 8Java 11Java 17Java 21

注意,下载java安装包的时候需要选择对应操作系统的,例如Windows系统要选择 bin.exe 或者 bin.msi 结尾的

Java-1.png

本文包含以下内容:

JAVA版服务器

  1. 搭建一个JAVA原版服务器
  2. JAVA版服务端的程序文件结构组成
  3. JAVA版当前流行的多种服务端和他们的文件结构组成

一、立即搭建一个官方原版服务端

首先我们去Minecraft官网下载一个最新的官方服务端https://www.minecraft.net/zh-hans/download/server

1.png

目前的最新版本是1.18.1,所以官方提供了1.18.1版本的服务端程序下载,我们把这个文件下载下来,最好新建一个文件夹来存放它

2.png

然后我们要安装 Java 运行环境:https://www.oracle.com/java/technologies/downloads/

对于1.18.1版本,我们需要下载java17或者jdk17.

如果上述网站无法下载,大白云资源站也提供了各个版本的下载:https://file.dabaiyun.net/01-%E5%B7%A5%E5%85%B7%E8%BD%AF%E4%BB%B6/Java

我们下载 jdk-17_windows-x64_bin.exe

然后启动并安装,最好全部保持默认设置

3.png

在其他较老的教程种总是提到配置JAVA环境变量的操作,但是在现在的新版java安装完成后,系统环境变量会被自动配置完成,因此我们无需手动配置环境变量

接下来我们回到之前下载的Minecraft服务端,在文件夹里新建一个文本文档

4.png

文件名命名为 启动服务器.bat 弹出的提示选择

5.png

如果你的文件不会显示文件后缀,点击上方的查看,然后勾选文件扩展名

6.png

然后右键点击我们刚刚新建的启动服务器.bat,点击编辑

7.png

写入以下内容:

java -Xmx1G -jar minecraft_server_1.18.1.jar

8.png

按下Ctrl + S 保存,并退出

在启动之前,我们先了解一下刚刚启动服务器.bat的内容

首先这是个.bat文件 该后缀告诉Windows系统,这个文件的内容是一串可以执行的代码,双击后会运行

java 调用系统环境变量配置所指向的java主程序,在我的这台示例电脑上,其等效于:C:\Program Files\Java\jdk-17.0.1\bin\java.exe

-Xmx1G 表示给这个程序分配内存最大值为1GB,其中 Xmx表示最大

-jar 表示要启动的程序包,在这里我们要启动minecraft服务端程序minecraft_server_1.18.1.jar

接下来,双击启动启动服务器.bat,会弹出一个窗口,我们可以看到,服务器已经跑起来了

9.png

但是你会发现窗口闪退了,不管重新启动多少次都是这样

而且文件夹里多了一些东西

10.png

由于命令行程序执行完毕后会自动退出,导致错误信息也看不到

这里我们重新编辑启动服务器.bat 加上一行内容:pause 这个单词意思为暂停,即程序运行到这一句会暂停而不是退出,这样我们就能看到我们的程序到底发生了什么

9-1.png

再次启动

11.png

注意这一句:You need to agree to the EULA in order to run the server. Go to eula.txt for more info.

其中文意思为 您需要同意EULA才能运行服务器。去eula.txt获取更多信息

现在我们打开eula.txt

12.png

将其中的false改成true

13.png

按下Ctrl + S 保存,并退出

然后重新启动服务器,服务器正常启动了,初次启动会生成很多文件,包括存档等,需要很长时间

当我们看到 Done! 这个字的时候,说明服务器已经启动完成了

14.png

如果你开服务器的电脑是云服务器的话,例如阿里云轻量应用服务器,那么可以直接打开MC游戏,输入ip地址,就可以进入了

15.png

16.png

记得在防火墙放行 TCP协议 25565端口

二、服务端程序文件组成结构

现在服务器已经运行起来了,接下来我们关注一个Minecraft服务器到底有哪些文件组成

17.png

  • libraries - 基本程序包,服务器运行必不可少的文件之一,包括初次启动生成的和少许从网络上下载的文件
  • logs - 日志文件
  • versions - 版本库,现在版本的mc服务端允许多个不同版本的服务器存放在一个文件夹里
  • world - 服务器存档,包括主世界、地狱、末地的地图,和所有玩家数据

    • DIM1 - 末地地图
    • DIM-1 - 地狱地图
    • playerdata - 玩家数据
    • 其他文件均为主世界地图数据
  • banned-ips.json - 被封禁的ip
  • banned-players.json - 被封禁的玩家id
  • ops.json - 服务器OP玩家id
  • server.properties - 服务器配置文件。极其重要!下文将详细介绍
  • usercache.json - 玩家数据缓存
  • whitelist.json - 白名单,需要在配置文件中开启才生效(详见下文)

Server.properties 服务器配置文件详细说明

为了更好的编辑文本,推荐使用NotePad代替记事本,点此下载

服务器配置项目众多,我们只关注最常用的几个项目,其中true表示开启,false表示关闭

enable-command-block=false - 允许命令方块
gamemode=survival - 服务器默认游戏模式,survival生存,creative创造
level-name=world - 存档文件夹名称
motd=A Minecraft Server - 服务器标语,也就是在多人游戏界面可以看到的字符,这个通常不关注,因为大多数服务器会安装标语插件
pvp=true - 服务器是否允许pvp
difficulty=easy - 服务器难度,easy简单,normal普通,hard困难
max-players=20 - 服务器最大玩家数
online-mode=true - 开启正版验证
allow-flight=false - 允许随意飞行
view-distance=10 - 视野距离,单位区块,通常不要超过7不然会吃性能
server-ip= - 服务器监听网络数据包的目标IP,不懂得网络知识的话请务必留空
allow-nether=true - 开启地狱
server-port=25565 - 服务器端口(重要!)
simulation-distance=10 - 模拟距离,在这个距离区块外的区块只会加载但是不会运算(降低服务器负担)这个值不要超过view-distance不然指不定出什么奇怪的特性
hardcore=false - 极限模式,请勿作死
white-list=false - 白名单,请务必配合登入系统使用(登入插件或者正版验证)
broadcast-console-to-ops=true - 将控制台操作广播给op,一般技术性调试会使用,也就是说在服务器控制台(上面咱启动服务器后出现的窗口)打指令,会告诉所有在线的op以帮助进行技术性操作
spawn-npcs=true - 允许出生点保护区域内生成npc,例如村民,商人
spawn-animals=true - 允许出生点保护区域内生成动物
spawn-monsters=true - 允许出生点保护区域内生成怪物
spawn-protection=16 - 出生点保护半径,在这个半径球体内的出生点附近区域不能被非op玩家挖掘和建造

后续等待大白更新。。。。咕咕咕