前言

最近上班上得太痛苦了!!!闲的蛋疼骗你的,想找点儿好玩儿的事做,所以想搞点儿乐子玩儿。

想了想,好久没用我心爱的服务器了,我怕它冻感冒了,得让他尝尝Java的厉害。

喂!该起床了!!!

开始

首先,在搭建前需要有点儿名词概念:

  1. Java版本:俗称PC版

  2. 基岩版:C++版、PE版、手机版(是的,基岩版是PC、移动端互通的)

  3. 插件:一些功能性的改变,需要插件平台

  4. Mod:游戏玩儿法的改变,需要Mod平台

要让服务器支持插件或Mod,需要安装对应的启动核心,分为以下几种:

  1. 原生启动核心,到官网下载Java服务端基岩版
  2. 单插件版本,如spigot
  3. 单Mod版本,如forge
  4. 插件、Mod服,如mohist

我们现在要搭建的是一个支持Java、基岩互通的插件服务器,所以我们的服务器是一个单插件版本服务器。

下载内容

  1. JDK-Java开发工具包1.21.3需要JDK21
  2. 官方启动核心:演示版本1.21.3
  3. Spigot插件启动核心构建工具,下载BuildTools.jar就行
  4. Geyser-Java基岩互通工具:下载Geyser-Spigot.jar

安装Java

网上随便找一篇文章参考,或者直接下载.msi安装包进行安装。

创建世界

  1. 创建一个新的空文件夹,如`my-server,放入下载好的官方启动核心,使用以下命令生成世界:

    1
    java -Xmx1024M -Xms1024M -jar minecraft_server.x.xx.x.jar nogui

    记得改x.xx.x.jar-Xmx1024M表示最大内存1024MB,-Xms1024M表示最小内存1024MB,根据自己情况更改。

  2. 执行结束后报错,需要同意协议,编辑eula.txt文件:

    1
    eula=true
  3. 编辑server.properties文件,参考服务端配置文件格式,我的配置如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    #Minecraft server properties
    #Thu Nov 07 15:47:40 CST 2024
    accepts-transfers=false
    allow-flight=false
    allow-nether=true
    broadcast-console-to-ops=true
    broadcast-rcon-to-ops=true
    bug-report-link=
    debug=false
    difficulty=hard
    enable-command-block=false
    enable-jmx-monitoring=false
    enable-query=false
    enable-rcon=false
    enable-status=true
    enforce-secure-profile=true
    enforce-whitelist=true
    entity-broadcast-range-percentage=100
    force-gamemode=false
    function-permission-level=2
    gamemode=survival
    generate-structures=true
    generator-settings={}
    hardcore=false
    hide-online-players=false
    initial-disabled-packs=
    initial-enabled-packs=vanilla
    level-name=world
    level-seed=
    level-type=minecraft\:normal
    log-ips=true
    max-chained-neighbor-updates=1000000
    max-players=8
    max-tick-time=60000
    max-world-size=29999984
    motd=InsectMk's Server
    network-compression-threshold=256
    online-mode=false
    op-permission-level=4
    pause-when-empty-seconds=60
    player-idle-timeout=0
    prevent-proxy-connections=false
    pvp=true
    query.port=25565
    rate-limit=0
    rcon.password=
    rcon.port=25575
    region-file-compression=deflate
    require-resource-pack=false
    resource-pack=
    resource-pack-id=
    resource-pack-prompt=
    resource-pack-sha1=
    server-ip=
    server-port=25565
    simulation-distance=10
    spawn-animals=true
    spawn-monsters=true
    spawn-npcs=true
    spawn-protection=16
    sync-chunk-writes=true
    text-filtering-config=
    text-filtering-version=0
    use-native-transport=true
    view-distance=10
    white-list=false

  4. 重新执行命令以生成世界:

    1
    java -Xmx1024M -Xms1024M -jar minecraft_server.x.xx.x.jar nogui

    在终端输入stop可关闭服务。

构建插件核心

上面的步骤就已经开了一个官方服了,但是我们想要插件服,需要使用下载的Spigot插件启动核心构建工具生成插件启动核心。

新建一个文件夹,如Spigot,放入下载好的BuildTools.jar文件,在该目录运行以下指令生成插件核心(PS:第一次构建需要下载各种依赖,会比较慢,耐心等待):

1
2
3
4
# 指定版本
java -jar BuildTools.jar --rev 1.21.3
# 最新版本
java -jar BuildTools.jar --rev latest

构建完成后在Spigot目录下生成一个spigot-x.x.x.jar文件,这就是我们的插件启动核心,注意保存。

注意:

  1. 构建很慢,因为需要访问外网,最难搞的就是下载maven,可以先下载maven,然后解压放在文件夹中,复制终端中的下载地址:

    1
    2
    Maven does not exist, downloading. Please wait.
    Starting download of https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip

    自行到https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.zip下载Maven压缩包,可以复制链接到迅雷下载,下载完成后,解压放到BuildTools.jar的根目录中。

  2. Maven下载内容也很慢,需要配置国内的仓库地址,参考maven配置阿里云镜像源,编辑apache-maven-x.x.x/conf/settings.xml,在<mirrors>节点下加入以下内容:

    1
    2
    3
    4
    5
    6
    7
    <!-- 阿里云镜像仓库 -->
    <mirror>
    <id>alimaven</id>
    <mirrorOf>central</mirrorOf>
    <name>aliyun maven</name>
    <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
    </mirror>

组装服务器

现在准备工作已经全部完成了,现在只需要拼装服务器就行了。

  1. 回到my-server目录,放入构建插件核心步骤的spigot-x.xx.x.jar文件,执行以下命令启动插件服:

    1
    java -Xmx1024M -Xms1024M -jar spigot-x.xx.x.jar nogui

    参数跟官方服启动核心是一样的,只不过更换了启动核心文件的名字。

  2. 启动完成后会在my-server文件夹下生成plugins文件夹,这个文件夹就是放置我们服务器插件的地方,现在现在终端输入stop停掉服务。

  3. plugins放入下载的Geyser-Spigot.jar互通插件,然后执行步骤1的指令重启服务器以生成插件配置

  4. 互通插件代理的是基岩版服务,需要重新修改服务器配置,找到my-server/plugins/Geyser-Spigot/config.yml,修改对应内容,一样可以参考服务端配置文件格式,我只关闭了正版验证,修改内容如下:

    1
    2
    remote:
    auth-type: offline
  5. 修改完成重启服务器就可以进入服务器游玩了!!!

插件推荐

到这里就已经搭建完成了,这里推荐一些我喜欢的插件,你也可以到modrinthSpigotMC等插件下载网址自行下载。

  1. Creeper Recover:苦力怕爆炸修复(强烈推荐:你懂的)
  2. deathteleport:死亡传送(回到你死亡的地方-拿回属于你自己的东西!)
  3. SimpleWhitelist:白名单(阻挡坏人!)
  4. SkinsRestorer:皮肤插件(强烈推荐:关闭正版验证后就只有默认皮肤了,该插件可实现自定义皮肤)
  5. AdvancedTeleport:传送(让你的朋友们能随时随地碰面)

参考

一份GeyserMC搭建的文字版教程

[MC服务器教程-2] 开一个水龙头(Spigot)服务端和你的朋友一起玩插件生存吧!

maven配置阿里云镜像源

服务端配置文件格式