前提
首先你需要有一台服务器(国内服务器最好(避免延迟))、需要连接SSH(也就是可以SSH的软件)、服务器需要Java环境。
服务器购买
为了避免高延时影响游戏体验,建议选择大陆服务器。考虑服务器配置问题,建议使用Linux系统服务器,不推荐使用Windows Server服务器。
建议Java版本Minecraft,使用2C 4G 8M服务器的版本。
准备工作
SSH连接
- Linux/Mac:直接打开终端,输入
ssh user@IP
🙁IP
为你的服务器IP,user
为你服务器ssh用户的用户名) - Windows: 直接右键右下角的windows,打开powershell,第一次打开会比较久;打开后输入:
ssh root@192.168.1.1
如:我的服务器IP是192.168.1.1
,user为root
用户,则SSH命令为ssh root@192.168.1.1
)
注意:
- 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需要输入端口(port),如果你没改过,就是:22
SSH登陆
SSH连接会叫你输入密码,你输入密码的时候,密码是不会显示的,输入完回车即可
切换到root身份
进入服务器,使用root身份,终端输入:
# 如果你本来就是root身份登录服务器,如:`ssh root@192.168.1.1`。那么,你不需要执行此步骤。
sudo su root
安装Java环境
Centos7等使用yum管理项目的发行版:
sudo yum install java-1.8.0-openjdk
Ubuntu16.x等使用apt管理项目的发行版:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
检测Java是否安装:
java -version
如果:
- 系统为Debian10,可能无法使用apt-get来安装JDK8。
- 需要安装Minecraft1.17以上版本,需要JDK17、需要JDK17、需要JDK17!!!
以上情况,需要手动配置JDK(java)
安装宝塔面板
为什么安装宝塔控制面板?其实是不需要的,但是我安装宝塔面板是为了方便操作;如:修改Minecraft运行目录、修改Minecraft默认配置等。
宝塔官网:https://www.bt.cn/?invite_code=MV9rd3Jmbno=
进入宝塔官网,并选择Linux版本,选择安装命令
复制命令到终端,会提示:
Do you want to install Bt-Panel to the /www directory now?(y/n):
就是问你是否确定要安装宝塔面板,确认则输入y,然后回车。
安装完成会回到交互界面,这个时候,浏览器访问:IP:8888,即可访问宝塔面板。(如:你的服务器IP是192.168.1.1,则浏览器访问:192.168.1.1:8888
注意,在你使用网络时候,注意宝塔面板的安全
。比如:你要用25565端口搭建MC服务器,则宝塔面板要放行25565端口。
Tips:你还需要绑定你的宝塔面板(没有可以去免费注册一个)
部署Minecraft服务器
创建游戏运行目录
为了方便管理,所以我们设置一下Minecraft的运行路径:
打开宝塔面板,进入文件-根目录-新建目录-输入你想取的名称-确定创建:
创建目录
这个时候,如图,我创建了一个Minecraft的运行目录:MC
,且这个目录在系统根目录下。
2.创建MC运行目录:
3.切换终端运行目录为MC目录:
下载Minecraft服务器
Minecraft服务器下载地址
- Minecraft 官方版本:https://www.minecraft.net/zh-hans/download/server
- Minecraft Forge版本:http://files.minecraftforge.net/
- Minecraft Spigot版本:https://www.spigotmc.org/
- Minecraft Farbic:http://fabricmc.net/
- 城通网盘镜像站:https://url57.ctfile.com/d/26158157-38513858-513480;访问密码:6146
其中:
- 1-4:下载可能会有困难.
- 5:下载较慢
上传宝塔
先下载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
。
关闭防火墙
如果你使用的是腾讯云服务器,那么去腾讯云后台放行端口即可。不用执行本步骤。但是需要到腾讯云的控制台,放行25565端口,如果你还使用了宝塔面板,建议控制台上直接放行全部端口。
尝试运行
请到宝塔服务器里检查,是否下载下来的文件是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
用宝塔面板,在文件
->(进入Minecraft运行目录)
->找到eula.txt
->修改eula=false,改为eula=true
注意是true
,不要再有人改成ture然后问我为什么启动不了( ;´Д`) 。
正式运行Minecraft服务器
java -Xmx1500M -Xms512M -jar minecraft_server.1.12.2.jar
Minecraft客户端连接服务器
打开后,选择语言为中文(可跳过)–多人游戏–添加服务器
服务器地址为(你的IiP:25565)e.g.你的服务器是192.168.1.1,那么你的MC服务器则是:192.168.1.1:25565
注意:这其中”:”为英文。
然后,就可以看到我们的游戏了。
停止服务器
面对终端上密密麻麻的事件表,怎么停止服务器?
停止服务器,终端输入:
stop
方法有很多,但是强烈推荐使用screen
,如果以下内容看得一知半解,或者想了解更多screen命令使用,可以参考教程:
安装依赖文件
终端输入:
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
并回车,即可关闭服务器。
登入失败:无效会话(请尝试重启游戏及启动器)
如果,无法进入游戏,且显示登入失败:无效会话:(请尝试重启游戏及启动器)
原因很简单:你并没有用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
为你上次的存档文件夹。
暂无评论内容