我的世界Java版开服教程(Ubuntu)
前言
Linux 开服也很简单,内存占用小,推荐使用,下面使用 Ubuntu18.04.1 演示
没有正版账号一样可以玩
基岩版协议 UDP,默认端口 19132
Java 版协议 TCP,默认端口 25565
minebbs:https://www.minebbs.com/
mod 百科:https://www.mcmod.cn/
mc 导航网:https://www.mcnav.net/
启动器(内含各版本)
pcl2 启动器:https://afdian.net/p/0164034c016c11ebafcb52540025c377
hcml 启动器:https://hmcl.huangyuhui.net/
官方启动器:https://www.minecraft.net/zh-hans/download/alternative
在 Minecraft 服务端中,最重要的部分就是服务端核心,核心通常有以下几类:
Minecraft 原版核心
Minecraft 纯插件核心
Minecraft 纯 MOD 核心
Minecraft 插件 MOD 混合核心
插件是一些能帮助服主完成管理工作的额外组件,它不需要再客户端安装
相比于插件,MOD 则是需要在服务端和客户端同时添加才能够使用,单独在服务端添加客户端将无法进入服务器,单独在客户端添加,能进入服务器,但 MOD 将不会起到作用(辅助类另说,如小地图,顶部显示物品,Xray 透视等,这里仅指个人功能类)
目前我的世界 Java 版主流服务端有:(还有一些我没了解到的就不列出来了)
核心名称 | 描述 | 地址 |
---|---|---|
原版服务端 | 官方服,即纯净服,无法添加插件,安装 forge 后可以添加 Mod,可自定义内容少 | https://mcversions.net |
Bukkit、CraftBukkit(水桶服) | 比较原始的插件服务端,并不支持添加 Mod,但可以添加 Bukkit 插件它能使用 CraftBukkit 插件,但它对 Spigot 插件兼容性比较差,它只能加 CraftBukkit 插件和 Spigot 的部分插件 | https://getbukkit.org/download/craftbukkitt |
Spigot(水龙头) | Spigot 对 Bukkit 进行了优化,支持添加 Bukkit 插件,但不支持添加 Mod,稳定性良好 | https://getbukkit.org/download/spigott |
Paper(纸龙头) | Paper 对 Spigot 进行了优化,支持 CraftBukkit 和 Spigot 插件,但不支持添加 Mod,再带 TPS 优化,在 1.9.x 之前的版本的核心自带反作弊功能,1.9.x 后被移除 | https://papermc.io/ |
MCPC+ | 可以安装 Mod 及 Bukkit 插件,优化鸡肋。仅支持 JAVA7 运行,最高支持版本 1.7.10 | https://sourceforge.net/projects/cauldron-unofficial/files/old_releases/version_1/ |
KCauldron (KC 端) | KC 端,可以安装 Mod 及 Bukkit 插件,比 MCPC+,Cauldron,Thermos 优化了一波,吃内存并不多了,但最高支持版本仅到 1.7.10 | https://sourceforge.net/projects/kcauldron/ |
Thermos (水瓶端) | 是 KCauldron 的优化版本,比原先的 Cauldron 更加稳定,能添加 MOD 也能添加 Bukkit 插件,最高支持版本 1.7.10 | https://cyberdynecc.github.io/Thermos/install |
Contigo (水杯端) | 是 Thermos 的儿子,进行了大多优化,服务器滞后优化,多线程进行运算,更低的延迟,更好的世界防护 (Forge 调用的物品不经过 Bukkit 插件!) | https://github.com/djoveryde/Contigo |
Uranium (铀端) | 是 KC 的优化版本,多线程进行运算,效率更高,支持 Bukkit 插件和 ForgeMOD ,最高支持版本 1.7.10 | https://www.uraniummc.cc/ |
Catserver (猫端) | 国人开发的一代神端,支持 ForgeMOD 和 Bukkit/Spigot 插件,并且优化了多线程,1.12.2 版本 | https://catmc.org/ |
mohist (墨端) | 既可以加入 mods 又可以加入插件,兼容 paper 的一些插件支持,不需要多大的服务器即可运行,并且自带多线程,比较多插件不支持,部分 mods 不支持 | https://mohistmc.com/ |
Arclight (海螺端) | 既可以加入 mods 又可以加入插件,服务器网络环境不太好,下载必备库比较累 | https://github.com/IzzelAliz/Arclight/releases |
magma | 基于 Forge 和 CraftBukkit 的 1.12.2 服务器,使用 Forge 的 mod 和 Bukkit 插件,后续会支持 1.14&1.15 | https://magmafoundation.org/ |
Sponge Forge(海绵端) | 拥有自己的插件体系,在 1.8 及以上版本能做到 Mod 与 Sponge 插件的共同使用 | https://www.spongepowered.org/ |
Sponge Vanilla(海绵香草端) | 支持 Sponge 插件,不支持 ForgeMOD ,占用内存少,配置需求低 | https://www.spongepowered.org/ |
Glowstone (萤石) | 一个完全开源的服务端,支持 Bukkit 插件。版本为 1.12.2 | https://www.glowstone.net/ |
java 下载(镜像站):
内用户建议使用镜像站下载(建议使用编程宝库,是我觉得比较全的)
injdk:https://www.injdk.cn/
mc 版本以及对应的 Java 版本:
1.7.X —— jdk8
1.8.X —— jdk8/11
1.12.X —— jdk8/11
1.16.X —— jdk16/11
1.17.X —— jdk16 以上
1.18.X—— jdk17
Ubuntu 可以直接用 apt 仓库安装 jdk
下面就以 catserver 端来开服演示:
猫端是我第一个开服所用的端,也是我觉得挺不错的端,虽然猫端有过一段黑历史,但丝毫不影响我的使用。众所周知 mod 最繁荣的两个版本 1.7.10 和 1.12.2 版本,新版本内容丰富点,所以我直接选择了 catserver(注意:每个版本和每个核心都有自己的存在意义,不要诋毁其他的服务端来吹捧自己的选择).
简单的教程:
命令安装 JDK8,命令下载 catserver,命令启动
详细教程:
- 准备服务器:
服务器(Linux 系统 Ubuntu、Debian、centos 都行)需要你自己准备(我建议用服务器,因为 24 小时全天运行,且稳定)使用官方推荐 Ubuntu 开服,我这里使用的是 Ubuntu18.04.1 版本
- 放行端口:
根据的服务端的协议选择协议(比如说 Java 版为 tcp 协议),Java 版的默认端口是 25565,有些 Ubuntu 会开着防火墙的,可以直接关掉也可以选择端口放行(下文会介绍如何操作)

默认登录账号是 Ubuntu
- 查看当前防火墙状态,inactive 是关闭状态 active 是开启状态。【
centos:firewall-cmd --state
】
sudo ufw status
- 关闭防火墙(如果没有开启就不用执行),【
centos:systemctl stop firewalld
】
sudo ufw disable
- 查看 apt 库都有哪些 jdk 版本,【
centos:yum search java|grep jdk
】
apt-cache search java|grep jdk
安装 Java 环境,需要再次输入 y 确认,【
centos:yum install java-1.8.0-openjdk
】sudo apt-get install openjdk-8-jdk
请查看 转载后记 部分,有对 Java 环境版本的推荐,这里不推荐安装 OpenJDK8
查看 jdk 是否安装成功
java -version
创建一个空目录 (cat 是目录名字,可以随意)
mkdir /home/ubuntu/cat
进入目录
cd /home/ubuntu/cat
下载开服包,打开 catserver 官网,获取下载链接,【
centos:yum -y install wget
】wget https://luohuayu.coding.net/p/CatServerRes/d/CatServerRes/git/raw/master/serverjar/CatServer-a8b73e9-universal.jar
先运行一次,下载必要文件
java -jar CatServer-a8b73e9-universal.jar
- catserver 端忽略这步
官方开服包第一次运行的话会生成一个
eula.txt
输入 vim eual.txt
接着按 i 键进入编辑模式,把 eula=false
的 false
改成 true
接着按 esc
键
再输入:wq
回车(冒号别漏)
输入
stop
回车,停止运行关闭正版验证,在
server.properties
文件里的online-mode=true
中的true
改成false
我学过一点 Linux 基础,所以更偏向直接用命令修改(速度快效率高),当然可以选择安装宝塔面板,可视化文件管理,适合小白
先介绍直接用命令修改,可以按
tab
键补全vim /home/ubuntu/cat/server.properties
按 i 键或者 ins 键进入编辑模式,把光标移动到
online-mode=true
把true
改成false
接着按 esc
键
再输入:wq
回车(冒号别漏)

接下来建立一个 screen(cat 是窗口名字,可以随意)【
centos:yum install screen
】screen -S cat
启动服务器,显示下面信息就证明开服成功了
java -jar CatServer-a8b73e9-universal.jar
然后就可以执行服主命令了,比如说 op {玩家id}
给某玩家管理员权限(需要玩家在线)

- 接下来连接世界测试一下,输入公网 IP,端口是默认的 25565(可以不用填端口,除非改成了其他端口)


按下 Ctrl+A+D 挂起窗口,接着查看 screen 有没有正常
screen -ls

ok 没问题。这时候 ssh 连接软件就可以关掉了
配置:
Server.properties 配置文件,官方文档:https://minecraft.fandom.com/wiki/Server.properties
generator-settings= # 用于自定义超平坦世界的生成
op-permission-level=4 # 设定 OP 的权限等级 #1 – OP 可以无视重生点保护 #2 – OP 可以使用 /clear、/gamemode、/tp 等等命令,可编辑命令方块 #3 – OP 可以使用 /ban、/deop、/kick 以及 /op 命令 #4 – OP 可以使用 /stop 命令
allow-nether=true # 是否开启地狱世界 (关闭后删除将不会生成地狱世界)
level-name=world # 主世界名称
enable-query=false #是否开启 GameSpy4 协议服务器监听器,用于获取服务器信息,建议不要修改
allow-flight=false # 允许玩家在安装添加飞行功能的 mod 前提下在生存模式下飞行。
prevent-proxy-connections=false # 如果开启服务器发送的和 Mojang 的验证服务器的 ISP/AS 不一样将会被踢出
server-port=25565 # 服务器的端口号
max-world-size=29999984 # 设置世界边界的最大半径值,单位为方块。通过成功执行的命令能把世界边界设置得更大,# 但不会超过这里设置的最大方块限制。如果设置的 max-world-size 超过默认值的大小,那将不会起任何效果。
level-type=DEFAULT # 确定地图所生成的类型 #DEFAULT – 标准世界 #FLAT – 超平坦世界 #LARGEBIOMES – 预设世界,但所有生态系都更大(仅快照 12w19a,或正式版 1.3 之后可用)#AMPLIFIED – 预设世界,但世界生成高度提高(仅快照 13w36a,或正式版 1.7.2 之后可用)#CUSTOMIZED – 自快照 14w21b 以来,服务器也支持自定义地形。使用方法是在 generator-settings 贴上代码
enable-rcon=false # 是否允许远程访问服务器控制台。
force-gamemode=false # 玩家加入服务器时强制变成默认游戏模式
level-seed= #世界种子
server-ip= #将服务器与一个特定 IP 绑定。建议留空,留空或是填入你想让服务器绑定的域名。
network-compression-threshold=256 # 默认会允许 n-1 字节的数据包正常发送, 如果数据包为 n 字节或更大时会进行压缩。# 所以,更低的数值会使得更多的数据包被压缩,但是如果被压缩的数据包字节太小将会得不偿失。#-1 – 永久禁用数据包压缩 #0 – 压缩全部数据包 #(建议在 64-1500)
max-build-height=256 # 玩家在游戏中能够建造的最大高度
spawn-npcs=true #决定是否生成村民
white-list=false #服务器的白名单,OP 无须加入白名单
spawn-animals=true # 动物是否可以生成
snooper-enabled=true #一旦启用,将允许服务端定期发送统计数据到 http://snoop.minecraft.net.
hardcore=false #极限模式(启用后,玩家死后会被服务器封禁)
resource-pack-sha1= #资源包的 SHA-1 值,必须为小写十六进制
online-mode=false # 是否开启正版验证
resource-pack= # 可输入指向一个资源包的 URI。玩家可选择是否使用该资源包
pvp=true # 是否可以打架
difficulty=1 # 设置游戏的难度(peaceful (0)= 和平,easy (1)= 简单,normal (2)= 普通,hard (3)= 困难)
enable-command-block=false # 是否启用命令方块
player-idle-timeout=0 # 当进入 AFK 模式,在规定时间内 T 出服务器,设置成 0 为不 T 出服务器
gamemode=0 #设置玩家的游戏模式 (survival (0)= 生存,creative (1)= 创造,adventure (2)= 冒险,spectator (3)= 观察者)
max-players=20 #最大玩家数
max-tick-time=60000 # 设置每个 tick 花费的最大毫秒数
spawn-monsters=true #是否生成怪物
view-distance=10 #设置服务端传送给客户端的区块量 (范围 3-15) # 减小此数值可有效缓解卡顿
generate-structures=true # 定义是否在生成世界时生成结构(如村庄)
motd=A Minecraft Server # 玩家客户端的多人游戏服务器列表中显示的服务器信息,显示于名称下方。 中文需转码
Catserver 文件夹结构
Catserver 的文件夹结构
├─config //模组的一些设置
├─libraries //一些支持库
├─logs //存放服务端日志的文件夹
├─mods //存放模组的文件夹
├─plugins //存放插件的文件夹
└─bStats //存放插件配置的一些文件夹
└─world //世界文件夹
├─data //世界数据文件夹
│ ├─advancements
│ └─functions
├─DIM-1 //世界里的世界#滑稽
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─DIM1
│ ├─data
│ │ └─functions
│ ├─playerdata
│ └─region
├─playerdata //玩家数据文件夹
└─region
├─banned-ips.json //存放了被 ban IP 玩家的 UUID 及游戏名称等相关信息。
├─banned-players.json //存放了被 ban ID 玩家的 UUID 及游戏名称等相关信息
├─bukkit.yml //由 Bukkit 派生得到的服务端都有的文件。保存着 Bukkit 所提供的最基本的设置选项。
├─catserver.yml //这是 Paper 才有的配置文件,您一般不会在 Bukkit 或 Spigot 中看到它。
├─CatServer-a8b73e9-universal.jar //服务端核心
├─commands.yml //它提供了一种快速而简单的方法来强制服务器使用Mojang提供的命令(而不是Bukkit中内置的命令)而不产生冲突。
├─eula.txt //在首次开服的时候,我们需要同意 EULA 协议。
├─help.yml //一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。
├─ops.json //op们的游戏昵称 UUID 等信息会在这里出现。
├─permissions.yml //是默认的权限定义YAML文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件(以及使用权限的插件)可以在整个系统中使用它。
├─server.properties //服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。
├─spigot.yml //这是 Spigot 才有的配置文件,您一般不会在 Bukkit 中看到它。因为 Paper 是由 Spigot 派生而来的服务端,所以在 Paper 的服务端中,它也会出现。
├─usercache.json //储存着用户部分信息的缓存文件。
├─version_history //一些 Minecraft 和服务端核心的版本信息。
├─whitelist.json //白名单列表。(如果您在server.properties中开启了白名单,您就可以在该文件中添加和管理谁被允许或不被允许进入服务器)
关于 screen 的更多设置
如果想恢复服务端后台执行我的世界命令,只需输入
screen -r cat
如果想关服可以执行下面命令 在 screen 外杀掉名为 mc 的 screen
screen -S cat -X quit
关于 Ubuntu 防火墙更多设置
开启防火墙,需要输入 y 确认
sudo ufw enable
防火墙放行端口
sudo ufw allow/deny 19132
// 允许 / 拒绝 访问 19132 端口,19132 端口后可跟 /tcp 或 /udp,表示 tcp 或 udp 封包。
放行完成,需要重启防火墙生效
sudo ufw reload
安装1Panel
Ubuntu 安装命令:
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh
转载后记
由于 Minecraft 的更新,很多朋友会选择 最新版本 进行开服,因此推荐安装 OpenJDK17
sudo apt-get install openjdk-17-jdk
如果服务器的配置小于 2 核心 2GB 不推荐开服,因为很可能内存溢出,导致开服失败