搭建JAVA版我的世界插件服务器

发布于 2023-07-30  51 次阅读


本文演示如何搭建JAVA版Minecraft服务器,并介绍如何添加插件和升级地图存档

安装Java

本文使用Linux系统演示,对于windows或mac系统,安装过程近似。服务器端(包含存档)可以跨系统使用,打包压缩后即可转移。

安装的java版本与游戏版本有关,对于1.6.4及以下的服务端,需要安装java8或更高版本;1.17以上的服务端建议下载最新版java

可以从 下载地址 下载不同系统和架构的Java安装包

对于CentOS系统,可以使用命令直接安装 yum install java-1.8.0-openjdk

也可也从 下载地址 下载rpm文件

wget https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.rpm

并安装
rpm -ivh jdk-20_linux-x64_bin.rpm

此外还可以通过 alternatives --config java 快速切换java版本

对于Ubuntu版本,使用apt-get install default-jdk

输入 java -version ,输出如下的信息时表示java安装成功

服务器核心介绍

本地的游戏一般称为客户端,运行在服务器上并提供服务的成为服务端,也叫服务器核心,它是一个jar包,通过java运行该jar包时就可以搭建一个服务端

服务器除了原版特性外,还可以提供很多自定义功能,只需要服务端安装的是插件,需要客户端和服务端都安装的是模组

下面介绍常见的服务器核心

  • 官方服务器核心:mojang官方出的服务端
  • Spigot:可以装插件的核心
    • 下载地址:http://spigotmc.org
    • 使用最多的核心,支持bukkit插件,但是不够稳定
  • PaperSpigot:Spigot的性能优化版
    • 下载地址:http://papermc.io
    • 兼容Spigot的插件,禁用了很多原版的特性,默认不能刷地毯/刷铁轨/刷TNT/无头活塞/破基岩/造刷沙机,可以打开部分特性
    • 性能更好,适合低配置服务器使用
  • Purpur:PaperSpigot的优化版
    • 下载地址:http://purpurmc.org
    • 保留paper优化同时拥有更多配置,可以通过配置文件打开PaperSpigot禁用的特性
  • CatServer:高性能与高兼容性的Forge+Bukkit+Spigot服务端
    • 适合创建模组服务器

综上,创建插件服务器,建议使用PaperSpigot或Purpur

服务器切换核心时,若核心是兼容的,则直接替换掉核心的那个jar包即可

开放端口

windows开服可以跳过这一步
MC服务器默认端口是 25565,
firewall-cmd --add-port=25565/tcp --permanent 防火墙开放25565端口

systemctl restart firewalld 重启防火墙


服务器控制台还要再次开放该端口

运行服务器

从上面的下载地址中下载服务器核心

使用下面的命令运行一次服务端

java -Xms2048M -Xmx2048M -jar minecraft_server.jar nogui

-Xms2048M 和 -Xmx2048M 分别设置服务端使用的最小运行内存和最大内存,nogui表示不使用图形用户界面。
这里最大内存和最小内存建议设置为一样的,避免内存浪费

第一次执行会报错并产生一个名为 eula.txt 的新文件。

我们需要同意该文件中的协议,执行 echo 'eula=true' > eula.txt

此时,我们再次运行服务端,就会成功了。
对于windows用户,打开文件输入rula=true保存即可

后台可以输入所有指令,输入stop终止服务

终端关闭后服务器也无法继续运行,可以下载screen软件让服务器保持后台运行

配置服务器

在服务器目录输入 vim server.properties 打开配置文件,可以在此进行服务器的一些基础配置

  • gamemode指游戏模式,0代表生存,1为创造
  • difficulty代表难度,0-3分别是和平到困难
  • pvp=false 关闭玩家伤害
  • online-mode=false 关闭正版验证
  • view-distance=8 视野,非常影响性能
  • server-port=25565 服务器端口

更多配置可以参考这里

服务启动后,在后台可使用 op 玩家ID 设置管理员

在游戏交互界面(按下T键),就可以输入指令

  • /gamerule keepInventory true 设置死亡不掉落
  • /gamemode 设置游戏模式
  • /time set day 设置时间为白天
  • /gamerule playersSleepingPercentage 0 一人睡觉即可跳过夜晚

安装插件

安装插件可以让你的服务器更加有趣,只需要下载插件的jar包然后放到plugins文件夹下重启即可

插件可以去 MCBBSSpigotMC 等网站下载,插件需要支持当前的服务器核心和游戏版本

这里介绍一些常用的插件

  • AuthMe 登录,未开启正版验证服务器需安装
  • HoloMobHealth 显示怪物血条
  • OreTeleport 防矿透
  • ClearEntity 清理掉落物
  • LockettePro 箱子锁
  • ProtocolLib 前置插件
  • CMILib 前置插件
  • LuckPerms 权限管理(常用)
  • Residence 领地
  • EssentialsX 多功能插件,与CMI中必装一个(常用)
  • EssentialsXChat 聊天
  • EssentialsXSpawn 传送
  • Minepacks 背包
  • SkinsRestorer 皮肤插件,未开启正版验证服务器需安装(常用)
  • minimotd 服务器标语
  • Vault 经济前置(常用)
  • Multiverse-Core 多世界(常用)
  • Multiverse-Inventories 多世界背包分离
  • worldedit 创世神
  • WorldEditSUI 创世神选取可视化
  • GSit 椅子可坐

地图存档升级

这里仅介绍如何升级地图,地图降低则容易出问题

一共有两步,一是用户数据的迁移,而是地图数据的迁移,在这之前,一定要备份存档!

第一步,对于spigot核心的地图文件,至少包括world、world_nether、world_the_end三个文件夹,分别代表主世界,下届(地狱),末地的存档。

多人模式玩家数据则保存在每个存档的playerdata文件夹下,记录了玩家手中的物品和末影箱中的物品,我们需要将playerdata文件夹打包备份

第二步,使用 MCA Selector 打开旧版本地图存档,然后选中不需要的区块删掉,之后用新版本客户端打开该存档(可以创建新世界然后将地图覆盖),并选择优化地图。这样未删除的区块会保留,新区块就能生成新版本的地形。

最后将优化好的world、world_nether、world_the_end三个文件夹放到新版核心路径下,并将第一步保存的playerdata文件夹放回去,启动服务器即可。


我々は背負った罪によって道を選ぶのではなく、選んだ道で罪を背負うべきだからだ