前言
留了一堆烂摊子还想着疫情结束后在学校处理完,没想到得知消息开学至少要到5月8号了……我看我们这届毕业生可以收拾收拾原地毕业算了,不过好在消息出的还不算是太晚,现在还有点时间来处理毕设和论文,其他的只能走一步算一步了……早知道去年就应该出去实习的啊,唉……
好了,闲话说完了,该办正事了,这里还是补之前留下的计划,本来是打算早就写一下的,没想到拖了这么久,这里是以已装有Java环境的Linux系统的云服务器为例来讲一下可以加载mod的MC服务器的架设。
原版服务器
首先来说下原版服务器的架设,除开环境等要素,第一点自然是开服工具了,选择虽然比较多,但我这里就只讲讲官方的开服工具minecraft server(因为我也只会用这个),官方也提供免费下载。
那么下好了之后,自然就是要放到服务器中使用了,我们先创建一个叫做mc的文件夹来存放要用到的东西,把minecraft server放到这里边并进入这个目录,然后用:
java -Xms1024m -Xmx4000m -jar minecraft_server.1.12.2.jar nogui
这条命令来启动开服工具
下面来讲讲这条命令中一些需要注意的地方:
我们看到这其中有-Xms和Xmx这两处
他们代表了分配给这个进程的内存大小范围,以m为单位。
然后是-jar和nogui中间的文件名,这里是我用到的1.12.2版本的开服工具为例,具体名字要与自己用到的开服工具的文件名相同,注意修改
好,接下来我们来看看结果,初次启动的话会失败,然后在同目录下会生成一个叫做eula.txt和一个叫做server.properties的文档(如果失败那么十有八九是Java环境没装好的问题),第一个是开服需要同意的服务条款,打开它将:
eula = false
这一栏修改为:
eula = true
然后保存并关闭。
而第二个文档则是服务器的相关信息和设定,我们来挑其中重要的部分讲:
着重注意的一条:
online-mode=true
这一条是和正版验证相关的,如果希望没有正版账户的客户端也能进入服务器的话这一条的值一定要修改为false
server-ip=
server-port=
这两条放一起讲,需要填一个是服务器的公网ip,一个是服务器支持外部访问的端口,ip可以不填,会默认以公网ip开服
然后其他规则就自己看着修改吧
接着再次执行上一条命令:
java -Xms1024m -Xmx4000m -jar minecraft_server.1.12.2.jar nogui
之后会弹出一系列信息并在当前目录下生成一系列文件夹和文档,等到控制台提示消息
[Server thread/INFO]: Done (19.525s)! For help, type “help” or “?”
那么就是开服成功了,可喜可贺、可喜可贺。
不过,到这里为止我们的路才走了一半,好,关闭掉这个进程,工作再开。
mod服务器
在完成了原版服务器的基础上,我们来进行forge的安装以及mod的加入,同样的,首先是下载forge,在forge的官网上也有提供下载。
但是要记住,需要的是可以在Linux系统中使用的,这里以我用的forge-1.12.2-14.23.5.2847-universal.jar这个文件为例
下载好了之后将其放到mc文件夹中,然后执行命令:
java -Xms1024m -Xmx4000m -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
相关的信息和之前是一样的,这里就不再复述。
首次执行会失败,会提示需要相应的支持库,这里只要把你本地MC中的.minecraft文件夹下的libraries文件夹放入服务器的mc文件夹就好了,但是记住一定要是对应版本的
移动完成后我们再次执行启动命令:
java -Xms1024m -Xmx4000m -jar forge-1.12.2-14.23.5.2847-universal.jar nogui
同样的,当我们看到控制台信息出现:
Done (4.386s)! For help, type “help” or “?”
就说明开服也成功了,此时mc目录下会再生成一个叫做mods的文件夹,顾名思义,它是用于存放你想要加载进服务器的mod的
最后一步,把你想要玩的mod下载到mods文件夹,重启forge进程,你的mod服务器就搭建完成了,可喜可贺、可喜可贺
注意事项
①按照上述步骤开好服务器之后,如不加其他处理,你的服务器会在关闭控制台窗口后被终止,要解决这个问题,只要在启动命令的最前面加上nohup,以及最后边加上&就行了,如:
nohup java -Xms1024m -Xmx4000m -jar forge-1.12.2-14.23.5.2847-universal.jar nogui &
②mod服开设失败的绝大多数情况的原因都是内存不够或者mod冲突问题,如遇到开服失败可以从这两方面着手
③内存问题可以使用添加交换文件的方法解决(类似于虚拟内存)