Minecraft(我的世界)是一款非常好玩的游戏,其多人联机玩法,更是增加了许多乐趣。不过我们应当如何搭建服务器,才能和我们的小伙伴们一起玩呢?
今天我就来介绍一下,如何搭建Minecraft原版或者模组服务器。
1,准备
首先,我们需要购买一台Linux服务器,建议选择国内节点,延迟会低很多。
然后下载安装远程服务器管理软件FinalShell。
2,服务器安装Java运行环境
说在前面的是,不同版本的Minecraft服务端需要使用的Java版本也可能有所不同。不过大多数使用Java 8即可。选择正确的Java版本或者jvm可以减少内存占用,提高CPU效率。
当然这里做一个推荐。
原版服务器:
- 1.11.2版本及其以下:使用
Oracle JDK8
或者Alibaba Dragonwell 8
- 1.12版本及其以上:使用
Alibaba Dragonwell 11
或者Alibaba Dragonwell 17
Forge服务器:
- 1.12.2版本及其以下:使用
Oracle JDK8
或者Alibaba Dragonwell 8
- 1.13版本及其以上:使用
Alibaba Dragonwell 11
上面建议已经提供了各个Java下载地址,建议下载压缩包形式,下载好Java之后,将其上传至服务器解压或者安装,并进行JDK环境变量配置,环境变量配置可以看这个博客:链接
配置完成,断开重连服务器,输入命令:
java -version
有版本信息输出则成功:
在此Java配置就完成了!
如果想进一步了解不同的JDK对Minecraft服务端性能影响可以参考:文章
3,开服
到这里就可以启动Minecraft服务器了!这里我将分为原版和Forge模组服务器分别讲解。
(1) 原版
去MCVersions下载你想要的版本的服务端核心,在网站左侧稳定版找到你想要的版本点击Download(我下载1.12.2版本):
进入下载页面,点击下载Server jar下载服务端核心:
然后将下载的jar文件上传至你的服务器的某个文件夹下,然后使用cd
命令进入该文件夹(一定要使用cd
命令进入!)
我下载文件为server.jar
,上传并cd
进所在文件夹之后执行命令启动服务端:
java -jar server.jar nogui
也可以加上jvm参数限制运行内存:
# 限制最小内存为256MB,最大内存为1024MBjava -Xms256M-Xmx1024M-jar server.jar nogui
第一次启动会失败,因为需要你同意一下EULA协议,刷新目录可见当前目录生成了个eula.txt
:
修改里面的false
为true
:
然后重新执行上述命令,即可启动服务端,稍等片刻,最后显示 done! 字样说明启动成功:
不过因为是第一次启动,我们仍然需要修改一些配置才能玩,所以先输入stop
停止服务端。
刷新目录,发现已经生成了很多文件,找到server.properties
文件,这个是服务端配置文件,我们需要进行一些修改,里面内容如下:
上面的online-mode
一定要改为false
否则非正版玩家无法进入。
其余根据实际情况配置,端口的话即可也要配置一下服务器防火墙开放对应端口。
再次执行启动命令:
java -jar server.jar nogui
等待启动完成即可!
然后打开游戏->多人游戏->添加服务器(或者直接连接),地址填:你的服务器外网地址:服务器端口
然后就可以进入游戏了!
(2) Forge模组服务器
去Forge官网下载你想要的版本的Forge,下载installer版(还是1.12.2为例):
得到一个jar文件,将其上传至服务器某个目录下,并使用cd
命令进入该目录,执行安装命令:
java -jar"forge-installer文件名.jar"--installServer
例如我下载的文件文件名为forge-1.12.2-14.23.5.2855-installer.jar
,那么我就使用cd命令进入其目录,执行:
java -jar"forge-1.12.2-14.23.5.2855-installer.jar"--installServer
然后它就开始下载相应的依赖库,需要等一会,因为是从外网下载因此可能很慢或者失败,可以多试几次。
如果一直下载不成功且你有代理的话,可以在执行Forge Installer时通过jvm参数指定代理:
# 例如:java -Dhttp.proxyHost="127.0.0.1" -Dhttp.proxyPort="1080" -Dhttps.proxyHost="127.0.0.1" -Dhttps.proxyPort="1080" -jar "forge-1.12.2-14.23.5.2855-installer.jar" --installServerjava -Dhttp.proxyHost="http代理地址"-Dhttp.proxyPort="http代理端口"-Dhttps.proxyHost="https代理地址"-Dhttps.proxyPort="https代理端口"-jar"forge installer文件"--installServer
最后出现successfully
字样则成功:
刷新目录,我们发现会多出一个文件名形如forge-x.x.xx-xxx.jar
的文件,这个就是主要的forge服务端文件,待会需要执行它启动。(如果是1.7.10版本或者低版本的forge那么这个主服务端文件名应该是forge-x.x.xx-xxx-universal.jar
的形式):
我们可以先删除installer的jar文件和log,因为用不着了:
然后使用命令启动forge服务端,例如我这个1.12.2版本的:
java -jar"forge-1.12.2-14.23.5.2855.jar" nogui
第一次启动也会失败,这个和上面原版服务器一样,去同意一下eula就行。
可见启动命令也差不多的,都是执行相应的jar文件,只不过这里执行的是forge服务端文件,同样可以向上面一样加上jvm参数限制内存。
修改了eula之后再启动,出现done即成功:
还是和上面原版服务器一样,stop
停止,找到配置文件server.properties
,修改online-mode
为false
,其余按需修改。
这个时候我们发现已经生成了mods
文件夹,我们就可以把模组文件上传至这个文件夹。
需要注意的是,一些模组例如工业2中一些东西需要自然生成,但是刚刚已经生成了世界了,这个时候我们可以先删除世界数据文件夹world
(平时也可以用这个方法重新生成世界),待会启动服务端时重新生成:
这个时候配置完配置文件和mod,以及删掉世界后就可以重新执行上述命令启动服务端了,启动完成就可以打开游戏加入了!
不过有一个问题,当我们关闭FinalShell远程窗口会话之后,服务端也跟着终止了。
我们需要借助screen
软件使其后台运行。
首先安装screen
:
sudo apt install screen
然后新建一个名为mc
的窗口:
# screen -S 新窗口名screen -S mc
这个时候你就进入了这个新窗口了,这个窗口和我们远程会话进程是分离的,在这个窗口中,使用cd
命令进入服务端核心所在文件夹并执行我们上面启动服务端的一系列操作即可。
在这个新窗口启动服务端之后,关闭FinalShell,服务端仍然还在运行,我们就可以正常进入游戏。
以后再连接服务器,可以使用screen
命令再进入我们的服务端的命令窗口对服务端进行操作:
# screen -r 窗口名,进入窗口screen -r mc
4,总结
看起来Minecraft开服的步骤很多,其实并不难,总结起来就是:运行服务端 -> 同意eula -> 第一次启动 -> stop -> 修改配置(加mod,删world) -> 再次启动
这样就完成了初步配置。
以后关闭服务端就是进入服务端运行的screen
窗口,执行stop
命令停止即可。
再启动只需使用java -jar
命令运行服务端/Forge服务端核心jar文件即可。
如果想给你的MC服务器套上一个域名可以参考:文章
附上文一些文件备用下载地址(提取码都是2333
):