Ubuntu搭建minecraft服务器
题记
最近在b站刷了好几个游戏区up主更新了Minecraft(我的世界)的视频,心血来潮我也想开始玩一玩,依稀记得好像Minecraft可以装在远程,然后多人共同使用,查了一下同时联机人数为5或以下,内存需要512MB ,所以心血来潮在我的乞丐配置的服务器上建一个Minecraft服务器。我主要参照如何搭建一个“我的世界”服务器 - 快速指南进行搭建,这篇博客就来记录一下我搭建的过程。
我的服务器配置
- Ubuntu系统
- 2G内存
- 1核CPU
- 带宽1M(我在使用1.15.2的版本进行多人游戏时,需要升级带宽到2M,否则当玩家大于2人时就会出现频繁断线,甚至连接不上的情况)
服务器搭建
-
mkdir minecraft
新建一个名为minecraft的文件夹 -
cd minecraft
进入minecraft文件夹 -
打开25565号端口,如果是阿里云服务器直接通过控制台的安全组就能配置。
-
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar
下载minecraft服务器,这里版本为1.12.2. -
sudo apt install default-jdk
安装JDK,如果你的服务器执行javac -version
命令,能够打印出javac版本号,则跳过此步。 -
sudo apt-get install screen
安装screen,用于让minecraft在服务器后台运行。 -
free -m
查看内存(我的空闲内存只有986M(ㄒoㄒ)) total used free shared buff/cache available Mem: 1993 215 986 3 790 1601 Swap: 947 160 786
-
java -Xms1024M -Xmx2048M -jar minecraft_server.1.12.2.jar nogui
-Xms设置服务器最小内存 -Xmx是最大内存。
此时会报一个错,是正常的, 此时会生成一些文件,其中一个名为eula.txt。
|
|
-
sed -i.orig 's/eula=false/eula=true/g' eula.txt
执行这个命令,来修改里面的内容,相当于安装软件时勾选同意协议的意思。 -
java -Xms1024M -Xmx2048M -jar minecraft_server.1.12.2.jar nogui
运行minecraft服务器。
一切正常的话会显示 [04:05:03] [Server thread/INFO]: Done (4.439s)! For help, type "help" or "?"
。此时服务器就在运行了。
本地客户端连接
在本地(我是windows10系统,使用的HMCL启动器),打开minecraft(注意版本要和服务器一样),点击Direct Connect
(Add Server
可以存下ip地址,就不需要每次输入了),输入你服务器的ip地址。
如果此时你没有连上,且你的服务器显示如下的信息:
xxxxxxxxx@xxxxxxx[id=<null>,name=xxxxx,properties={},legacy=false] (/xxxxxxxx:50786) lost connection: Disconnected
这是因为非正版玩家被设定成禁止进入了。
此时在服务器上修改minecraft
目录中的server.properties
文件,将online-mode=true
修改成online-mode=false
.
再次启动服务器之后,在本地就可以进入了!
最后一步
正式运行minecraft服务器,在之前的步骤中,启动mincraft服务器之后,窗口不能关闭,否则服务器就会断开,现在让服务器一直在服务器后台开启。
screen -S mc
创建名为mc的session。java -Xms1024M -Xmx2048M -jar minecraft_server.1.12.2.jar nogui
启动服务器。
Screen的指令:
screen -ls
查看所有session,会打印出如后台的名称。
screen -r mc
会切换到名为mc的session中。
先按住ctrl+a
,然后按d
. 能够跳出当前的session,但是后台程序依然会继续运行。
exit
严格来说这不是Screen的命令,而是Linux中退出shell的命令,但是screen中的会在你退出最后一个程序(通常就是shell)的时候自动关闭,所以可以用来彻底关闭session用。
追加mod
Note:我自己重新搭建了1.15.2版本的服务器,注意与上文1.12.2区分开,请选择你需要的版本.
下载Forge
官网下载地址: http://files.minecraftforge.net
下载相应版本的Forge,我自己下载的是forge-1.15.2-31.1.0-installer.jar
运行Forge
java -jar ./forge-1.15.2-31.1.0-installer.jar nogui --installServer
将下载好的jar包放在minecraft_server.1.15.2.jar
所在目录,然后在服务器上输入上面的命令,然后就会经过漫长的下载过程,途中可能因为下载的资源在外网,所以会由于网络问题断开,多重复输入命令就能全部下载下来。
执行完毕之后会生成几个新的文件夹,和forge-1.15.2-31.1.0.jar
文件。
运行服务端
java -jar forge-1.15.2-31.1.0.jar
使用这个命令就会让服务器运行了。
在客户端追加mod
我自己是HMCL的客户端,直接在线安装就很方便地安装上了。
装载mod
有些mod需要同时装在服务器和客户端(比如矿工的优势)上,有的只需要装在客户端上(比如Xaero地图)。
客户端将jar包放在.minecraft\mods目录下,服务器将jar包放在mods目录下即可。需要重启程序才能装载mod。
参考资料
- 阿里云ECS搭建我的世界服务器 https://yq.aliyun.com/articles/675070
- Ubuntu下搭建我的世界服务器 https://blog.csdn.net/CSDNzyq/article/details/52735097
- Linux下搭建带mod的Minecraft服务器 https://www.jianshu.com/p/89f14756d16c
- Minecraft Forge 安装 https://blog.csdn.net/oschina_41734362/article/details/79319399
- linux下建立可加载mod的minecraft服务器 https://blog.csdn.net/github_39068149/article/details/72910409#243-%E5%8A%A0%E8%BD%BDliteloader
- 我的世界中文论坛MCBBS https://www.mcbbs.net/portal.php