Minecraft服务器搭建教程:从零开始打造专属游戏空间
Minecraft服务器搭建教程:从零开始打造专属游戏空间
Minecraft是一款非常受欢迎的沙盒游戏,玩家可以在虚拟世界中自由探索、建造和生存。想要拥有一个自己的Minecraft服务器,不仅可以与朋友一起游玩,还能自定义游戏规则和玩法。本文将详细介绍如何在服务器上搭建一个Minecraft服务器,包括准备工作、服务器部署、客户端连接等步骤。
操作前提
我们的Minecraft服务器,本质是一个Java进程,和网站一样可以在本地部署,但是如果是小伙伴们想要访问,就需要一个公网IP,让和你不处在同一个局域网下的小伙伴,可以连接。
为了有公网IP,你可以直接把Minecraft服务器架设在公网服务器,这样小伙伴和你都可以访问这个服务,达到联机目的。
如果没有服务器,建议看这篇:内网映射版本
服务器选择
我们只是搭建一个Minecraft,不是需要想中大型企业一样,需要大量CVM服务器来集群,所以我更推荐轻量应用服务器,价格比CVM便宜很多,缺点是套餐内的流量、磁盘和内存等硬件强绑定,无法单独升级某一项。
建议Java版本Minecraft,使用腾讯云轻量应用服务器的2C 4G 8M版本(2个CPU核心、4GB内存、带宽为8M)。
系统类型
为了避免高延时影响游戏体验,建议选择大陆服务器。考虑服务器配置问题,建议使用Linux系统服务器,不推荐使用Windows Server服务器。
比如:不推荐Windows Server;当然,也不是绝对的,如果你的服务器配置比较高,比如腾讯云轻量应用服务器的8G内存版本,用Windows也挺不错的,上手更加简单:
我个人的习惯,比较喜欢使用Linux的Debian发行版本:
另外,不是你本地的电脑是Windows就一定要选择Windows Server的服务器的,所以大家不要担心选择Linux系统服务器会连接不上;同时,也不要担心自己不会操作Linux系统服务器嗷。
准备工作
首先,我们需要本地连接服务器,通常使用SSH进行远程连接。形式一般是一个本地的Terminal或者CMD/PowerShell(Windows的命令提示窗口),通过SSH工具,使其会话变为远程Linux终端设备。
使用SSH远程登录服务器前,我们需要放行SSH的对外端口,也就是让我们服务器可以和我们通信;SSH的默认端口是22:
SSH连接
Linux/macOS客户端用户:直接打开终端,输入
ssh user@IP
IP为你的服务器IP,user为你服务器ssh用户的用户名;Ubuntu默认用户名为ubuntu,其他Linux发行版本一般为root)。
如果你不确定默认的用户名,以及初始化服务器的密码,也可以在厂商控制台内操作。
e.g.腾讯云获取默认用户名:
你也可以使用厂商提供的一键连接工具:
如果:我的服务器IP是192.168.1.1,user为root用户,则SSH命令为
ssh root@192.168.1.1
Windows:直接右键右下角的windows,打开powershell,第一次打开会比较久;打开后输入
注意:
- Win XP、Win7和Win8等Win10之前版本,没有自带SSH。
- Win10自带的Powershell,自带SSH
- Win11自带的Windows Terminal,自带SSH
Android/iOS:Android可以使用MT文件管理器2.0,进行SSH连接;iOS可以在App Store上搜索下载SSH工具。不过我个人是不推荐使用移动端来操作的,挺不方便的。
SSH登录
SSH第一次登录,会提示你确认服务器的主机密钥指纹。这是SSH协议的安全特性之一,旨在防止中间人攻击(Man-in-the-Middle Attack, MITM)。这里我们输入yes保存验证后回车。紧接着,输入盲输入密码即可登录:
使用root身份
进入服务器,使用root身份,终端输入:
su - root
如果你本来就是root身份登录服务器,如:ssh root@192.168.1.1
。那么,你不需要执行此步骤。
安装Java环境
详细可以参考:
- Linux使用Jenv优雅配置多版本JDK,开发环境切换不再繁琐
Centos7等使用yum软件管理包的发行版:
sudo yum install java-1.8.0-openjdk
Ubuntu/Debian等使用apt软件管理包的发行版:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
检测Java是否安装:
java -version
宝塔面板(推荐)
管理服务器,推荐宝塔可视化面板,Linux新用户可以使用可视化UI面板快速上手,老用户也可以用宝塔面包轻松运维服务器。
可以进入宝塔的官方,注册一个宝塔账号:
注册账号
看看宝塔的介绍图:
根据你的服务器类型(Windows或者Linux;Linux里面又区分是Debian还是Ubuntu,亦或者CentOS)
比如:在Linux服务器上的Debian发行版本,搭建宝塔面板:
wget -O install.sh https://download.bt.cn/install/install_lts.sh && sudo bash install.sh ed8484becBASH
依照服务器的性能,一般普通的个人服务器;大概1-3min,宝塔就安装好了:
在厂商的防火墙内放行端口后,即可访问:
记得在厂商的后台,放行端口哦。比如腾讯云轻量应用服务器:
部署Minecraft服务器
创建游戏运行目录
以下方法,多选一嗷!!!推荐小白选择宝塔面板安装。强烈建议,配合我们B站视频操作
方法一:宝塔创建(推荐)
为了方便管理,所以我们设置一下Minecraft的运行路径:
打开宝塔面板,进入文件-根目录-新建目录-输入你想取的名称-确定创建:
这个时候,如图,我创建了一个Minecraft的运行目录:MC,且这个目录在系统根目录下。
方法二:命令行创建
如果你没有安装宝塔,或者不想安装宝塔;可以使用终端命令创建目录:
# 切换当前工作目录到根目录
cd/
# 创建 MC 运行目录;用于存放我们后续文件
mkdir MC
# 切换终端运行目录为MC目录;
cd /MC
下载Minecraft服务器
Minecraft服务器下载地址
其中:
- 1-4:下载可能会有困难.
- 5:下载较慢
- 6:可以直接用wget部署到服务器。但是Forge Mod服务器和Spigot插件服务目前需要捐赠账号:爱发电;官方原版可以免费下载。购买捐赠账号后,可以解锁远程辅助一次。
方法一:宝塔下载(推荐)
先下载Minecraft server到本地,再用宝塔,面板上传到服务器:
注意:不同版本Minecraft文件结构不一样:
- 如果你下载的是我整合好的Forge包,可以参考文章:Minecraft Mod服务器搭建(Forge服务器)
- 如果你下载的是我整合好的Spigot包,目录结构比较复杂,包含Spigot、CraftBukkit、apache-maven-3.6.0、spigot-X.x.x.jar等文件。
- 如果下载的是我镜像搬运的原版服务器,目录结构就很简单了,只有minecraft_server.X.x.x.jar文件。
而针对不同的Minecraft文件结构,后文的启动命令也要随之改变:
- Forge需要把minecraft_server.X.x.x.jar字段替换为forge-xxxx.jar;或者直接运行run.sh
- Spigot需要把字段替换为spigot-X.x.x.jar。
方法二:终端命令
首先cd到Minecraft的运行目录:
cd /MC
因为我上文是在根目录创建MC文件夹,所以这边是:
# 进入文件夹内
cd /MC
# 使用wget下载
sudo wget https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar
# 重命名
mv server.jar minecraft_server.1.12.2.jar
以1.12.2为例,如果要下载其他版本,请注意更改链接。如果需要服务器版本直链,可以联系我,付费演示搭建。
关闭防火墙
如果你使用的是腾讯云服务器,那么去腾讯云后台放行端口即可。
如果你有使用宝塔面板辅助搭建,那么宝塔也自带安全内也要放行端口。
如果上述两句不是很懂,那么可以看我b站视频: https://www.bilibili.com/video/BV18Z4y1V7Dm/。
尝试运行
请到宝塔服务器里检查,是否下载下来的文件是minecraft_server.X.x.x.jar。
如:你想搭建的是1.12.2的服务器,则更改文件名字为:minecraft_server.1.12.2.jar。如果是搭建Forge或Spigot服务器,记得替换字段
java -Xmx3500M -Xms256M -jar minecraft_server.1.12.2.jar
注意:
- Xms256M是服务器启动所占最大(运行)内存,Xmx3500M是服务器正常运行最大内存。看用户,比如:腾讯云轻量应用服务器,4G内存可以这样设置(具体可以使用free命令查看当前可用空余内存后,设置Xmx)
- 我游戏路径是/MC是路径,即pwd后的路径
这个时候,如果你是第一次运行,应该是报错;因为你没有同意许可证。
同意用户许可文件eula.txt
方法一:vi/vim更改
在Minecraft运行路径下,终端输入:
vim eula.txt
此时,按一下i,进入编辑模式。把eula=false,改为eula=true。
按“Esc”,随后,输入::wq保存退出
这个是vim操作,如果你想深度了解vim,可以参考文章:终端文本编辑神器–Vim命令详解。如何配置Vim以及Vim插件?
方法二:宝塔修改(小白推荐)
用宝塔面板,在文件->(进入Minecraft运行目录)->找到eula.txt->修改eula=false,改为eula=true
注意是true,不要再有人改成ture然后问我为什么启动不了( ;´Д`) 。
正式运行Minecraft服务器
java -Xmx1500M -Xms512M -jar minecraft_server.1.12.2.jar
服务器应该就开始了
Minecraft客户端连接服务器
打开客户端1.12.2版本(客户端版本要与服务器版本尽可能相同),我是Mac电脑,所以Java版本,我用HMCL启动器
打开后,选择语言为中文(可跳过)–多人游戏–添加服务器
服务器地址为(你的IiP:25565)
e.g.你的服务器是192.168.1.1,那么你的MC服务器则是:192.168.1.1:25565
注意:这其中”:”为英文。
然后,就可以看到我们的游戏了。
如果,无法进入请看问题。
停止服务器
面对终端上密密麻麻的事件表,怎么停止服务器?
停止服务器,终端输入:
stop
然后回车,或直接按键盘Ctril+C停止服务器
24小时运行服务器
方法有很多,但是强烈推荐使用screen,如果以下内容看得一知半解,或者想了解更多screen命令使用,可以参考教程:
- 终端命令神器–Screen命令详解。助力Unix/Linux使用和管理
安装依赖文件
终端输入:
Centos Linux:
sudo yum install -y screen
Ubuntu/Debian:
sudo apt install -y screen
创建虚拟终端
screen -R automc
automc仅仅是一个名称,可以自己取名。
然后,你的界面会进入一个新的终端界面(虚拟终端),在这里运行MC后
按Ctrl+a,再按d退出虚拟终端,即完成Minecraft服务器的后台24小时运行。
再次进入虚拟终端
再次i进入虚拟终端,只需:
screen -R automc
即可进入,进入后,输入stop并回车,即可关闭服务器。
MC服务器常用命令
设置管理员
/op(玩家ID)
使用方法:
- 需要授权OP管理员的玩家,进入游戏。如:用户Mintimate进入游戏。
- 已经有OP管理员权限的玩家,或者直接在游戏交互界面内,输入:
/op Mintimate。 - 设置OP管理员成功。
如:
死亡不掉落物品(管理员命令):
/gamerule keepInventory true
MC客户端下载
我个人推荐用官方启动器或者HMCL启动器;其他第三方启动器,不好说,如果服务器建好,端口也放行,但是连接不上,建议用HMCL或者官方启动器。
官方启动器:https://minecraft.net/
HMCL启动器下载:https://hmcl.huangyuhui.net/download
官方和HMCL的公网有可能进不去,为提供镜像下载:
https://url57.ctfile.com/d/26158157-39233167-4af7b9
(访问密码:6146)
Linux和macOS最好配置带JavaFX版本的JDK,配置教程:
- 10分钟学会在Linux/macOS上配置JDK,并使用jenv无缝优雅地切换JDK版本。兼顾娱乐和生产~
Windwos用户无具体要求,配置JDK即可。建议配置JDK 64位的版本。
常见问题
登入失败:无效会话(请尝试重启游戏及启动器)
如果,无法进入游戏,且显示登入失败:无效会话:(请尝试重启游戏及启动器)
原因很简单:你并没有用Minecraft的正版账号登录。解决方法很简单:正版账号登录游戏或服务器关闭正版账号验证:
在Minecraft server的目录下。终端输入(你也可以直接使用宝塔面板操作):
vim server.properties
将online-mode:true的true改为false,然后保存退出。
之后,因为Java并不是JIT语言,所以如果你的Minecraft服务器还正在运行,需要重启Minecraft Server服务器:
如何替换服务器上地图存档
如何替换服务器上的地图存档为自己本地的地图存档呢?其实很简单,将本地Minecraft的.minecraft内的saves内的地图文件,重命名为world,并上传到Minecraft目录内,替换掉原本的world文件并重启Minecraft服务器即可。
你也可以直接上传到Minecraft根目录,然后修改server.properties内level-name字段后的world为你上次的存档文件夹。
server.properties如何配置
server.properties文件如何配置呢?大家感兴趣可以看看Minecraft的Wiki:https://minecraft.fandom.com/zh/wiki/Server.properties?variant=zh
修改后,记得重启MC服务器。