linux云服务搭建Minecraft服务器
<h1 id="1-准备工作">1 准备工作</h1><p>以下内容全部要在root用户内完成</p>
<h2 id="11-安装文件传输工具">1.1 安装文件传输工具</h2>
<p>为了方便传文件到服务器上,这里先装一个远程传输工具。</p>
<pre><code class="language-shell">yum -y install lrzsz
</code></pre>
<h2 id="12-安装java">1.2 安装java</h2>
<p>Minecraft服务端也需要jre才能运行,这里有两个安装方法(选择一种):</p>
<h3 id="121-官网下载">1.2.1 官网下载</h3>
<p>去官网下载(https://www.oracle.com/java/technologies/javase-jre8-downloads.html)linux x64的gz包,得到jdk-8u271-linux-x64.tar.gz文件(目前最新版本是8u271,以后可能会有更新的版本)。</p>
<pre><code class="language-shell">rz #将下载好的gz文件上传到服务器
# 创建安装目录
mkdir /usr/local/java/
# 解压当前目录下的JDK压缩文件(版本不一样文件名也会不一样,善用tab自动补全)
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /usr/local/java/
# 方便后面配置环境,改一下文件名
mv /usr/usr/local/java/jdk1.8.0_271 /usr/usr/local/java/jdk1.8.0
# 设置环境变量(安装 VIM 输入 yum -y install vim)
vim /etc/profile
# 在末尾添加对应变量
滚动光标到末尾 按下 键盘上的 I 键,切换至插入模式
输入这几串内容后 按ESC退出插入模式
然后按下 : 输入 wq 并回车保存
export JAVA_HOME=/usr/local/java/jdk1.8.0
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 应用修改后的环境变量
source /etc/profile
# 软链接程序到环境变量中
ln -s /usr/local/java/jdk1.8.0/bin/java /usr/bin/java
# 测试是否安装正常,显示 java version "1.8.0_261" 则为正常
java -version
</code></pre>
<h3 id="122-或yum安装">1.2.2 或yum安装</h3>
<pre><code class="language-shell">sudo yum install java-1.8.0-openjdk
</code></pre>
<p>有询问输入y即可</p>
<h2 id="13-安装screen">1.3 安装screen</h2>
<p>安装screen,后面开服时会用到。使用screen可以让服务器进程在后台运行,而不会因为远程连接的断开而停止进程。</p>
<pre><code class="language-shell"># RedHat/CentOS
yum install -y screen
# Ubuntu/Debian
apt install screen
</code></pre>
<h2 id="14-配置防火墙">1.4 配置防火墙</h2>
<p>一定要在root用户中操作。</p>
<p>这步很关键,开服之后连接不到服务器,很可能就是因为防火墙没配置好!</p>
<p>添加一个<strong>端口</strong>(25565默认)</p>
<pre><code class="language-text">firewall-cmd --zone=public --add-port=25565/tcp --permanent
</code></pre>
<p>然后 重启防火墙</p>
<pre><code class="language-text">firewall-cmd --reload
</code></pre>
<p>查看端口状态</p>
<pre><code class="language-text">firewall-cmd --zone= public --query-port=25565/tcp
</code></pre>
<p>在网页端的管理控制台 安全 防火墙 右上添加规则</p>
<p>TCP 25565</p>
<h2 id="15-创建用户">1.5 创建用户</h2>
<p>不建议使用root系统进行后面的操作,接下来为Minecraft创建一个专门的用户。</p>
<pre><code class="language-shell">useradd -m Minecraft # 新建一个名为Minecraft的用户
passwd Minecraft # 为用户Minecraft设置密码
su - Minecraft # 切换至新建的Minecraft用户。改成root,可以切换回root用户
</code></pre>
<h1 id="2minecraft服务端">2.Minecraft服务端</h1>
<p>给MC服务端创建一个文件夹</p>
<pre><code class="language-shell">cd ~
mkdir MinecraftServer #创建文件夹
cd MinecraftServer #进入文件夹
</code></pre>
<h2 id="21-获取服务端">2.1 获取服务端</h2>
<p>MC目前主流的服务端分很多种,简单可以分为三类:</p>
<p>①原版纯净:官网直接下服务端,不能装mod不能装插件</p>
<p>②forge服务端:Mod服,只能装Mod,不能装插件</p>
<p>(http://files.minecraftforge.net/)</p>
<p>③Craftbukkit、Spigot服务端:插件服,只能装插件,不能装Mod</p>
<p>④CatSetver服务端:国人开发的,MOD+插件服,白火现在在用。</p>
<p>以上服务端,按需要选择一个,到对应官网下载。(或直接下载别人配置好的懒人服务端,别人配置好的服务端,可视情况跳至2.3步骤。)</p>
<p>你可以在自己的电脑上下载好服务端,然后利用Xshell等远程终端的lrzsz插件,传输到服务器上。</p>
<p>用cd MinecraftServer指令,进入刚才创建的MinecraftServer内。输入指令:</p>
<pre><code class="language-shell">rz
</code></pre>
<p>就会弹出上传窗口,将下载好的服务端上传。</p>
<p><img src="https://img2020.cnblogs.com/blog/1660935/202103/1660935-20210314143927235-1515448069.png" alt="" loading="lazy"></p>
<p>下载好后执行下面这一句。这里分别以Forge和CatServer举例。不论你用那种服务端,你只需要把-jar后面的名字改成你服务端文件的名字即可。善用Tab补全代码,避免输错。</p>
<pre><code class="language-shell">#Forge服
java -jar forge-1.12.2-14.23.4.2705-installer.jar -nogui -installServer
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
</code></pre>
<p>这一步其实是在安装服务端,还要在下载一会服务端资源,网络比较慢。有意思的是,其中CatServer服端安装服务端的指令,和后面正真运行服务端的指令是一样的。(Forge则是不同的)</p>
<p>如果提示下载失败了,或部分资源下载超时了,就再重执行一次上面的forge-*-installer.jar</p>
<pre><code class="language-shell">#用ls指令查看文件
ls #会看到多了几个文件
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1660935/202103/1660935-20210314143937249-1316214419.png" alt="" loading="lazy"></p>
<p>你看到肯定没我截图那么多,是正常的,不用担心。因为我这里有很多mod的配置文件夹之类的,你们的新服务器还没装mod或插件。</p>
<p>现在服务器资源都正确下载了,执行以下代码:</p>
<pre><code class="language-shell">#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
</code></pre>
<h2 id="22-同意协议">2.2 同意协议</h2>
<p>首次运行必定失败,会提示你需要同意协议。这时我们输入<code>ls</code>就能看到目录下多了一个eula.txt。我们需要修改eula文件同意协议,才能启动。</p>
<pre><code class="language-shell">vim eula.txt
</code></pre>
<p>将eula=false改成eula=true即可。</p>
<p>然后按esc,输入<code>:wq</code>保存退出。</p>
<h2 id="23-配置文件">2.3 配置文件</h2>
<p>为了方便以后开服,我们创建一个startServer.sh文件。(别人配置好的服务端可能已经创建过了)</p>
<pre><code class="language-shell">vim startServer.sh
</code></pre>
<p>然后i写入</p>
<pre><code class="language-shell">#Forge服
java -Xmx1G -jar forge-1.12.2-14.23.4.2705-universal.jar
#CatServer服
java -Xmx2G -jar CatServer-2a9163f-universal.jar
</code></pre>
<p>按esc,输入:wq保存退出。</p>
<p>其实就是把刚才我们运行服务器的指令,写进了shell中,以后省的敲指令了,直接运行这个shell即可。</p>
<p><em>这和windows的bat批处理性质相似,在windoes中开服,也是把开服的指令写进一个bat中,每次运行bat就省的敲指令了。</em></p>
<pre><code class="language-shell"># 给start.sh执行权限
chmod 777 startServer.sh
# 执行start.sh即可开服
./startServer.sh
# 控制台不再跳新的信息时,说明开服成功了
# 我们先结束服务器,完成服务器配置
stop
</code></pre>
<p>首次成功开服后,会产生一个server.properties文件,是服务器的配置文件。</p>
<pre><code class="language-shell">vim server.properties #修改配置文件
</code></pre>
<p>其中online-mode=true是检测正版登录用户,true是只允许正版玩家进入可以使用,false则允许离线进入。</p>
<p>更多配置参考这个文件。</p>
<p>https://minecraft-zh.gamepedia.com/index.php?title=Server.properties&variant=zh</p>
<h2 id="24-正式开服">2.4 正式开服</h2>
<p>创建一个名为MinecraftServer的screen,可以让服务器在后台运行,断开远程连接也不终止进程。</p>
<pre><code class="language-shell">screen -S MinecraftServer
</code></pre>
<p>启动服务器</p>
<pre><code class="language-shell">./start.sh
</code></pre>
<p><img src="https://img2020.cnblogs.com/blog/1660935/202103/1660935-20210314143955633-525459888.png" alt="" loading="lazy"></p>
<p><img src="https://img2020.cnblogs.com/blog/1660935/202103/1660935-20210314144000437-212446231.png" alt="" loading="lazy"></p>
<p>不要管我这里绿色的提示,那是我装的领地插件的提示,新服务器肯定没有的。你只要看到有Type “/help” for help,就说明你的服务器已经跑起来了。</p>
<p>然后按住Ctrl + A +D ,将screen加入后台运行</p>
<p>当你需要回到这个sreen页面时,使用如下指令。</p>
<pre><code class="language-shell">screen -ls # 查看screen,记下MinecraftServer的编号
screen -r <MinecraftServer的编号>
</code></pre>
<p>现在进游戏,输入自己服务器的ip就可以连上了。</p>
<p><img src="https://img2020.cnblogs.com/blog/1660935/202103/1660935-20210314144051819-631591351.png" alt="" loading="lazy"></p>
<h1 id="补充">补充</h1>
<p>如果服务端正常开服,但是游戏就是无法连接服务器,一般都是防火墙的问题。回去1.4好好看看,再配置下防火墙。</p>
<p>Mod放在服务器文件夹内的mods文件夹内,即MinecraftServer/mods下。前提是你的服务器端必须支持mod,如Forge端、CatServer端。</p>
<p>插件放在服务器文件夹的plugins文件夹内,即MinecraftServer/plugins下。前提是你的服务端必须支持插件,如Craftbukkit、Spigot、CatServer。</p>
<p>没错,CatServer永远的神!</p>
<p>整体来说在Linux上开服不难,前提是有一定的Linux基础。如果有不明白,或者实际操作遇到困难,欢迎在评论,会逐一解答。</p>
<p>因为linux有CentOS、unbuntu等,分支众多,而MC的服务端也五花八门,各不相同。可能会有纰漏,欢迎指正!</p>
<p>如何在Linux下搭建Minecraft服务器</p>
<p>参考:</p>
<p>MC云服务器搭建教程[非硬核]</p>
<p>如何在Linux下搭建Minecraft服务器</p>
<p>Minecraft Wiki:server.properties</p><br><br>
来源:https://www.cnblogs.com/shiraka/p/14532465.html
頁:
[1]