mc要联机游玩首先需要一台服务器,自用pc由于无法长期开机,耗电严重,系统不稳定等问题。而Linux得稳定性则很适合搭建mc服务器,本篇文章可以教你如何在Linux上搭建mc服务器。
系统要求
相对于服务器的计算,mc更占用的是服务器的内存,cpu要求不高,10人以下游玩只需要1GB左右,20-40人2GB,30-60人3GB,60+人8GB。如果需要加载较多或者消耗性能严重的插件或者mod,则需要尽量选择更高的配置
安装JAVA
现在大多数服务器商会给系统预装Java等程序,我们可以通过以下指令来检查服务器是否已经安装Java
java -version
如果已经安装java,则会有以下回应
root@raspberrypi:/home/pi# java -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build 1.8.0_65-b17)
Java HotSpot(TM) Client VM (build 25.65-b01, mixed mode)
如果没有安装,执行下面代码进行安装
sudo yum install java-1.8.0-openjdk
下载对应想要游玩的服务器端
先创建一个新目录,来放服务器的文件
mkdir mc
cd mc
首先我们要安装纯净端。注意:新的版本可能不兼容mod和插件的安装,最好选择1.12.2以下的版本。执行以下指令安装
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/版本号/minecraft_server.版本号.jar
如我想安装1.12.2,则修改版本号为1.12.2
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar
待运行完安装程序就可以开始游玩了
启动服务器
安装完成后,我们可以开始启动服务器了。执行以下命令开启服务器
sudo java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
如
sudo java -Xms120m -Xmx1024m -jar /root/mc/minecraft_server.1.12.2.jar nogui
第一次执行会报错,提示修改eula.txt文件,我们可以通过vi命令修改或者直接用ftp下载eula文件再重新上传
root@raspberrypi:/home/pi/mc2# sudo java -Xms256M -Xmx900M -jar /home/pi/mc/forge.jar
[12:26:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Using primary tweak class name net.minecraftforge.fml.common.launcher.FMLServerTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLServerTweaker
[12:26:23] [main/INFO] [FML]: Forge Mod Loader version 14.23.5.2768 for Minecraft 1.12.2 loading
[12:26:23] [main/INFO] [FML]: Java is Java HotSpot(TM) Client VM, version 1.8.0_65, running on Linux:arm:4.14.50-v7+, installed at /usr/lib/jvm/jdk-8-oracle-arm32-vfp-hflt/jre
[12:26:23] [main/INFO] [FML]: Searching /home/pi/mc2/./mods for mods
[12:26:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLInjectionAndSortingTweaker
[12:26:23] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[12:26:30] [main/INFO] [FML]: Found valid fingerprint for Minecraft Forge. Certificate fingerprint e3c3d50c7c986df74c645c0ac54639741c90a557
[12:26:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.relauncher.CoreModManager$FMLPluginWrapper
[12:26:30] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.FMLDeobfTweaker
[12:26:31] [main/INFO] [LaunchWrapper]: Loading tweak class name net.minecraftforge.fml.common.launcher.TerminalTweaker
[12:26:31] [main/INFO] [LaunchWrapper]: Calling tweak class net.minecraftforge.fml.common.launcher.TerminalTweaker
[12:26:32] [main/INFO] [LaunchWrapper]: Launching wrapped minecraft {net.minecraft.server.MinecraftServer}
[12:26:33] [main/WARN] [minecraft/ServerEula]: Failed to load eula.txt
[12:26:33] [main/INFO] [minecraft/MinecraftServer]: You need to agree to the EULA in order to run the server. Go to eula.txt for more info.
报错大致如上,修改eula文件命令如下
vi eula.txt
这时我们会打开一个文件
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
#Wed Nov 14 12:26:33 UTC 2018
eula=false
我们只需要把eula=false改为eula=true就可以了,按insert键进入修改模式,修改完毕后按esc后输入:wq命令保存并退出
修改配置文件
这时候我们已经能够成功加载服务器端了
[12:36:50] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 93%
[12:36:51] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 94%
[12:36:52] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 95%
[12:36:53] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 96%
[12:36:54] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 97%
[12:36:55] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 98%
[12:36:56] [Server thread/INFO] [minecraft/MinecraftServer]: Preparing spawn area: 99%
[12:36:57] [Server thread/INFO] [minecraft/DedicatedServer]: Done (15.465s)! For help, type "help" or "?"
但是我们进入游戏会发现连不上去,这是因为你不是正版,想玩盗版服务器就得修改配置文件来关闭连接正版服务器
vi server.propertices
找到这一行:
online-mode:true
将true改为false即可。再次执行启动服务器的命令,应该就可以顺利进入服务器了
写一个快速启动脚本
为了方便,我们可以写一个脚本,不用一直键入长长一串代码
vi start.sh
如上面修改配置文件的方法,写入以下代码
#!/bin/sh
java -Xms120m -Xmx160m -jar /root/mc/minecraft_server.1.12.jar nogui;
保存后,以后我们要开启服务器端只需要输入以下命令就可以开启服务端
bash start.sh
插件或mod服安装
插件服
安装插件或mod服需要forge包或者插件拓展包,常见的有paper sponge spigot等。这些端大部分都只单独兼容mod或者插件,只有cauldron或者mcpc+端可以做到插件和mod共存,但这两个端只支持1.7版本或更低,无更高版本。这里主要讲如何安装高版本mod或插件服务器
首先,我们需要去镜像网站下载对应镜像
Yive的镜像站
上面的网站提供各种各样的mc镜像,可以直接前往下载需要的镜像,关于是插件服还是mod服请自行百度。此处以spigot服为例。
镜像下载完成后,我们需要将镜像放到服务器mc目录中,然后启动该镜像。注意:版本需要对应,且服务器中必须存在原版服务器端
sudo java -Xms120m -Xmx1024m -jar /root/mc/你下载好了的镜像名字 nogui
服务器会如上图面启动图一样照样启动,在启动完成后,服务器端文件会多出一个pulgins文件夹,这是放插件的文件夹。只需要把插件放入该文件夹即可使用
mod服
第一步依旧是搭建一个纯净的mc服务端,这里我们用mod最丰富,版本还不算太老的1.12.2版本做演示,具体方法可以参考这篇教程,不过服务端得下载1.12.2版本,服务端除了去官网可以点此处下载。
然后我们来下载sponge,说白了sponge其实本质上是个mod,所以直接下载下来放到mod文件夹里面即可。直接去官网下载 https://www.spongepowered.org/
选择forge版本sponge下载,然后选择和forge版本对应的sponge。个人建议根据sponge版本下载forge,因为sponge比forge更新的慢,先选forge可能会找不到合适的sponge。2838版本forge对应的sponge也可以在这里下载。
然后我们要为服务器安装forge,由于后面要使用的sponge版本是支持2838版本的forge的,所以我们这里下载2838版本的forge安装程序和服务器核心。forge的官方下载网站是 https://files.minecraftforge.net/ 在左边列表选择1.12.2版本在下面的forge版本中找到2838版本。
首先点击Installer 进入安装程序下载页面,由于这个网站广告比较多加上加载问题很难找到下载位置,所以我们在这个页面右键,查看网页源码,往下翻可以找到下载链接,这个链接的末尾一般是forge+mc版本号+forge版本号+installer.jar的格式,比如forge-1.12.2-14.23.5.2838- installer .jar。也可以点击此处下载 。
把下载下来的该文件放入目录安装目录。
我们先把forge安装程序重命名为installer.jar , 然后输入java -jar installer.jar --installServer
安装完成, 然后我们就发现服务端目录下多了个mod文件夹(用来放服务器mod),此时,forge端便搭建完成。注意:安装forge的时候会自动联网下载libraries文件夹和config文件夹,由于网络问题可能会失败,如果实在没办法安装成功我有个死办法下一部分讲(或许换个网或**也可以解决?)。服务器启动方法不变。
成功安装forge后把sponge放入mod文件夹,然后把sponge插件也放入mod文件夹,重启就能运行mod和插件。注意sponge插件和spigot插件并不是通用的,但大多插件都会有不同核心的多个版本,插件不要用错了。