Linux服务器搭建Minecraft原版/Mod服务器详细教程

简介: Linux服务器搭建Minecraft原版/Mod服务器详细教程

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

网络异常,图片无法展示
|

修改里面的falsetrue

网络异常,图片无法展示
|

然后重新执行上述命令,即可启动服务端,稍等片刻,最后显示 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-modefalse,其余按需修改。

这个时候我们发现已经生成了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):

相关文章
|
7天前
|
安全 算法 Linux
Linux 服务器还有漏洞?建议使用 OpenVAS 日常检查!
在数字化时代,Linux 服务器的安全至关重要。OpenVAS 是一款优秀的开源漏洞扫描工具,可以帮助及时发现并修复服务器中的安全隐患。本文将介绍 OpenVAS 的主要功能、使用方法及应对漏洞的措施,帮助用户加强服务器安全管理,确保企业数字化安全。
22 7
|
10天前
|
监控 Ubuntu Linux
使用VSCode通过SSH远程登录阿里云Linux服务器异常崩溃
通过 VSCode 的 Remote - SSH 插件远程连接阿里云 Ubuntu 22 服务器时,会因高 CPU 使用率导致连接断开。经排查发现,VSCode 连接根目录 ".." 时会频繁调用"rg"(ripgrep)进行文件搜索,导致 CPU 负载过高。解决方法是将连接目录改为"root"(或其他具体的路径),避免不必要的文件检索,从而恢复正常连接。
|
13天前
|
缓存 Unix Linux
服务器linux!!!
本文介绍了计算机的演变历史、硬件基础知识及服务器相关知识。从电子管时代的ENIAC到冯-诺伊曼架构,再到现代计算机系统组成,详细讲解了计算机的发展历程。此外,文章还介绍了服务器的分类、品牌、硬件组成以及IDC机房的上架流程,为读者提供了全面的技术背景知识。
32 0
服务器linux!!!
|
15天前
|
人工智能 安全 Linux
|
3天前
|
网络协议 安全 Linux
Linux 上设置自己的公共时间服务器
Linux 上设置自己的公共时间服务器
12 0
|
15天前
|
Linux
Linux 修改服务器时间
【10月更文挑战第27天】Linux 修改服务器时间
36 0
|
3天前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
17 3
|
3天前
|
监控 安全 Linux
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景
在 Linux 系统中,网络管理是重要任务。本文介绍了常用的网络命令及其适用场景,包括 ping(测试连通性)、traceroute(跟踪路由路径)、netstat(显示网络连接信息)、nmap(网络扫描)、ifconfig 和 ip(网络接口配置)。掌握这些命令有助于高效诊断和解决网络问题,保障网络稳定运行。
15 2
|
11天前
|
缓存 监控 Linux
|
14天前
|
Linux Shell 数据安全/隐私保护