Linux开服也很简单,内存占用小,推荐使用,下面使用Ubuntu18.04.1演示
没有正版账号一样可以玩
基岩版协议UDP,默认端口19132 Java版协议TCP,默认端口25565
我的世界中文站:https://www.mcbbs.net/,插件,mod,整合包都有 minebbs:https://www.minebbs.com/ mod百科:https://www.mcmod.cn/ mc导航网:https://www.mcnav.net/ 面板服:https://mcsmanager.com/
启动器(内含各版本) 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/craftbukkit |
Spigot(水龙头) | Spigot对Bukkit进行了优化,支持添加Bukkit插件,但不支持添加Mod,稳定性良好 | https://getbukkit.org/download/spigot |
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.mcbbs.net/thread-926208-1-1.html | https://www.glowstone.net/ |
java下载(镜像站):
内用户建议使用镜像站下载(建议使用编程宝库,是我觉得比较全的) 编程宝库:http://www.codebaoku.com/jdk/jdk-index.html injdk:https://www.injdk.cn/ 清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn/Adoptium
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,命令启动
详细教程:
1.准备服务器:
服务器(Linux系统Ubuntu、Debian、centos都行)需要你自己准备(我建议用服务器,因为24小时全天运行,且稳定)使用官方推荐Ubuntu开服,我这里使用的是Ubuntu18.04.1版本
2.放行端口:
根据的服务端的协议选择协议(比如说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是否安装成功
代码语言:javascript复制java -version
# 创建一个空目录 (cat是目录名字,可以随意)
代码语言:javascript复制mkdir /home/ubuntu/cat
# 进入目录
代码语言:javascript复制cd /home/ubuntu/cat
# 下载开服包,打开catserver官网,获取下载链接,【centos:yum -y install wget】
代码语言:javascript复制wget https://luohuayu.coding.net/p/CatServerRes/d/CatServerRes/git/raw/master/serverjar/CatServer-a8b73e9-universal.jar
# 先运行一次,下载必要文件
代码语言:javascript复制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键补全
代码语言:javascript复制vim /home/ubuntu/cat/server.properties
# 按i键或者 ins 键进入编辑模式,把光标移动到 online-mode=true
把 true
改成 false
接着按esc键
再输入:wq
回车(冒号别漏)
# 接下来建立一个screen(cat是窗口名字,可以随意)【centos:yum install screen
】
screen -S cat
# 启动服务器,显示下面信息就证明开服成功了
代码语言:javascript复制java -jar CatServer-a8b73e9-universal.jar
然后就可以执行服主命令了,比如说op {玩家id}
给某玩家管理员权限(需要玩家在线)
# 接下来连接世界测试一下,输入公网IP,端口是默认的25565(可以不用填端口,除非改成了其他端口)
# 按下Ctrl A D挂起窗口,接着查看screen有没有正常
代码语言:javascript复制screen -ls
ok没问题。这时候ssh连接软件就可以关掉了
配置:
Server.properties配置文件,官方文档:https://minecraft.fandom.com/wiki/Server.properties
”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文件夹结构”
代码语言:javascript复制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的更多设置:
如果想恢复服务端后台执行我的世界命令,只需输入
代码语言:javascript复制screen -r cat
如果想关服可以执行下面命令 在screen外杀掉名为mc的screen
代码语言:javascript复制screen -S cat -X quit
关于Ubuntu防火墙更多设置:
# 开启防火墙,需要输入y确认
代码语言:javascript复制sudo ufw enable
# 防火墙放行端口
代码语言:javascript复制sudo ufw allow/deny 19132
//允许/拒绝 访问19132端口,19132端口后可跟/tcp或/udp,表示tcp或udp封包。
# 放行完成,需要重启防火墙生效
代码语言:javascript复制sudo ufw reload
安装宝塔:
官网:https://www.bt.cn/
Ubuntu安装命令:
代码语言:javascript复制wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
记得在控制面板放行8888端口,Ubuntu防火墙开了也要放行
转载后记
由于 Minecraft 的更新,很多朋友会选择 最新版本 进行开服,因此推荐安装OpenJDK17
代码语言:javascript复制sudo apt-get install openjdk-17-jdk
如果服务器的配置小于 2核心 2GB 不推荐开服,因为很可能内存溢出,导致开服失败