前言
最近朋友突然想玩”我的世界”(mc)的工业2模组, 作为从大学就开始玩得我,至今也断断续续玩了五六年了. 肯定有必要带朋友入坑啊.
一起玩肯定是服务器联机, 除非住一起的可以使用局域网联机.又因为wangyi代理的mc模组阉割非常严重且不完整, 所以准备自己搭建一个服务器, 正好家里有一台专门做服务器的物理机器(学习docker集群用的), 又有公网ip, 条件可谓非常成熟.
选择使用linux搭建mc,是因为安装简单, 并且相对于Windows版本, 更加节省机器性能.
一、环境
1.硬件
这里贴出硬件仅供参考而已,cpu主频很低, 主要是为了省电,因为主要用途只是学习用.
mc是非常吃单核性能的,后面如果性能不足以流程的玩耍, 再换成手上的一块E5-1650 V3 主频3.6GHz.

物理机
2.软件
系统: ubuntu 20.04
mc版本: 1.12.2
java版本: 8
题外话: 这里ubuntu系统是在物理机下安装了ESXi 8然后虚拟了一台linux机器, 分配了6核心, 12g内存, 50g硬盘
二、安装服务端
使用xshell连接上linux系统
1.更新源
apt-get update

提示没有权限
切换为root账户, 输入密码,再次执行
sudo -i
apt-get update

2.安装java8
sudo apt install -y openjdk-8-jre
最后显示done即为成功

查看下版本
java -version

3.安装模组加载器-forge
原版
mc是不支持mod的,想要玩mod必须安装一个加载器,目前主流的加载器有forge,fabric,前者是老牌加载器, 支持的
mod种类繁多, 且支持所有大型mod(工业啥的)后者更偏向支持高版本mc(1.14以上)的辅助类
mod
在http://files.minecraftforge.net选择需要安装版本的具体版本号

创建mc相关文件的存放目录mcserver
mkdir -p /root/mcserver
cd /root/mcserver
下载加载器文件
例子:
wget https://maven.minecraftforge.net/net/minecraftforge/forge/版本号/forge-版本号-installer.jar
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.12.2-14.23.5.2859/forge-1.12.2-14.23.5.2859-installer.jar

查看文件
ls

安装forge文件
java -jar "forge-1.12.2-14.23.5.2859-installer.jar" --installServer
显示如下红框即为成功, 如果没成功,再执行一次,大概率能成功

启动服务命令
java -Xmx10240M -Xms10240M -jar "forge-1.12.2-14.23.5.2859.jar" nogui
-Xmx: 使用最大内存数 -Xms: 使用最小内存数
第一次执行一般都如下报错

查看当前目录, 应该生成许多文件了
ls

这里需要修改eula文件来让他成功启动
vi eula.txt
将原来的false改为true

再次执行启动命令
java -Xmx10240M -Xms10240M -jar "forge-1.12.2-14.23.5.2859.jar" nogui
显示如下时, 即为成功

但这个时候如果使用的是盗版你启动好了仍然会登陆不进去。
先停止服务
stop
再次查看当前目录, 又多了一些

修改配置文件server.properties,
vi server.properties
将online-mode为false,其余按需修改。

再次执行启动命令
java -Xmx10240M -Xms10240M -jar "forge-1.12.2-14.23.5.2859.jar" nogui
启动成功后, 回到mc客户端
打开游戏->多人游戏->添加服务器(或者直接连接),地址填:你的服务器外网地址:服务器端口
然后就可以进入游戏了!
4.设置后台运行
这里有一个问题,当关闭上一步的启动窗口后,服务端也跟着终止了。
所以需要借助软件使其后台运行
输入stop停止客户端
安装screen
sudo apt install screen

新建一个名为mc的窗口
screen -S mc
在这里执行启动脚本即可
但是每次启动时都需要打这么长一串启动命令代码,很麻烦.
于是可以新建一个脚本文件,每次执行文件即可
vi start.sh
输入启动命令
java -Xmx1024M -Xms1024M -jar "forge-1.12.2-14.23.5.2859.jar" nogui
保存退出

设置脚本文件执行权限并执行
chmod +x ./start.sh
./start.sh
当关闭当前窗口后
想再次进入mc的窗口
执行
screen -r mc
./start.sh
四、添加mod
如果启动了服务器, 请先stop停止.
进入mods文件夹
cd /root/mcserver/mods
将准备好的mod上传到此文件夹即可
安装上传工具
apt install lrzsz

将准备好的文件拖到这个窗口即可
然后回到上级目录,执行启动脚本即可
cd ..
./start.sh