在Debian下搭建我的世界(Minecraft)服务器
<h1 id="Minecraft系统要求:">Minecraft系统要求:</h1><ul>
<li>1.CPU:双核</li>
<li>2.20-40人2GB,30-60人3GB,60+人8GB<br>上面就是服务器端的需求,如果只是和小伙伴们一起玩,也并不需要多优秀的服务器。下面是我的配置:</li>
<li>1.CPU:四核</li>
<li>2.内存:4G</li>
<li>3.操作系统:Debian GNU/Linux10(buster)
<h1 id="安装Java">安装Java</h1>
MC是用Java写的(当然现在也有别的语言写的版本),由于服务器端的MC是一个jar包,我们在配置之后通过运行jar包来开启服务器端,同时我们在客户端上打开后通过IP地址即可搜索并进入服务器。所以我们首先要先安装Java。通过下面的方法来安装:<br>安装OpenJDK 8 JDK:<br>sudo apt install default-jdk</li>
</ul>
<p>安装OpenJDK 8 JRE:<br>sudo apt install default-jre</p>
<h1 id="下载MC服务器端">下载MC服务器端</h1>
<p>这里有一个要求,就是你和你的小伙伴要拥有同样版本的MC。不同的版本对应着不同的服务器端,所以我们要下载正确的版本。如何看MC版本呢,一般进入游戏后,游戏左下角会有版本显示。知道了版本号,那么用命令就可以下载对应版本的服务器端了。需要根据版本号补全命令格式:<br>wget https://s3.amazonaws.com/Minecraft.Download/versions/<你要下载的版本号>/minecraft_server.<你要下载的版本号>.jar</p>
<p>例子:我这边选择安装了比较稳定的1.12版本<br>wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar</p>
<p>等下载提示结束后,minecraft_server.1.12.jar就躺在当前目录了。</p>
<h1 id="MC服务器,启动!">MC服务器,启动!</h1>
<p>我们就可以使用命令来运行MC服务器:<br>java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar /minecraft_server.[版本号].jar nogui</p>
<p>例子:<br>java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui<br>关于命令最后一个参数 nogui,是分开的单词 no gui,意思是不需要图形界面,这样会大大减小内存的使用,如果你的Linux是有图形界面的,就可以不打这个 nogui。</p>
<h1 id="启动成功">启动成功</h1>
<p>上面的命令输入完成后,等待参数由0%一直到100%就启动完成啦!下面给出本人启动完成的后几行显示:<br>1 : Loaded 488 advancements<br>2 : Preparing start region for level 0<br>3 : Preparing spawn area: 0%<br>4 : Preparing spawn area: 41%<br>5 : Preparing spawn area: 76%<br>6 : Done (4.263s)! For help, type “help” or “?”</p>
<h1 id="MC,Shell脚本启动!">MC,Shell脚本启动!</h1>
<p>我们如果一直使用上面那一句启动的话是不是非常麻烦!每次都要复制粘贴,那么我们可以写一个简单的Shell脚本,放在jar包所在目录,每次启动的时候直接启动脚本就能进入游戏了。<br>vim start-game.sh</p>
<p>编辑内容如下:<br>1 #!/bin/sh<br>2<br>3 java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui</p>
<p>保存退出,每次启动游戏只需要运行下面命令即可:<br>bash start-game.sh</p>
<h1 id="MC服务器,关闭!">MC服务器,关闭!</h1>
<p>按 Ctrl + C 来停止当前服务器</p>
<h1 id="MC服务起最常见的启动失败">MC服务起最常见的启动失败</h1>
<p>我们在第一次运行完jar包后,无论是否运行成功,都能发现当前目录下多出了一堆文件,运行失败的时候其实就是配置除了一点问题。我们在当前目录找一下文件:eula.txt<br>vim eula.txt<br>按i键进入编辑模式,找到如下一行把 false 改为 true<br>eula=false<br>保存退出</p>
<ul>
<li>1.按 esc</li>
<li>2.输入 :wq</li>
</ul>
<h1 id="客户端连接MC服务器失败">客户端连接MC服务器失败</h1>
<p>上面都启动成功之后,就可以下载对应服务器版本的客户端。下载好后启动,点击多人游戏,添加服务器,服务器地址输入我们云服务器的公网IP,就可连接上去愉快的玩耍了。但是这时候可能会发现就是怎么连接都失败,如果遇到这个情况,我们需要检查下服务器配置文件,先在jar包目录下找到文件server.propertices 并编辑:<br>vim server.propertices<br>找到这一行<br>online-mode:true<br>将true改为false,这是正版验证服务的设置<br>关于 server.propertices 文件,这边就不多做介绍了,可通过下面的链接了解详情<br>服务器配置文件详细设置<br>我的世界WiKi</p>
<h1 id="保持服务会话">保持服务会话</h1>
<p>本人一般通过使用ssh工具来连接到服务器启动游戏服务,但是一般服务器和ssh工具都会有连接会话的超时设置,在一段时间没有在服务器上操作后,会自动断开ssh会话,这时这个会话中的任务就会被杀掉,那小伙伴们游戏玩着玩着就与服务器断开连接了。<br>这个时候我们可以使用Linux上这个 GNU Screen 工具来解决上述问题</p>
<pre><code class="hljs gauss">GNU <span class="hljs-keyword">Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU <span class="hljs-keyword">Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
</span></span></code></pre>
<h2 id="安装-screen">安装 screen</h2>
<div class="cnblogs_Highlighter">
<pre class="brush:csharp;gutter:true;">sudo apt install screen</pre>
</div>
<h2 id="语法:">语法:</h2>
<p>screen -AmRvx -ls -wipe-h <行数>-s</p>
<p>参数说明:</p>
<ul>
<li>-A 将所有的视窗都调整为目前终端机的大小。</li>
<li>-d <作业名称> 将指定的screen作业离线。</li>
<li>-h <行数> 指定视窗的缓冲区行数。</li>
<li>-m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。</li>
<li>-r <作业名称> 恢复离线的screen作业。</li>
<li>-R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。</li>
<li>-s 指定建立新视窗时,所要执行的shell。</li>
<li>-S <作业名称> 指定screen作业的名称。</li>
<li>-v 显示版本信息。</li>
<li>-x 恢复之前离线的screen作业。</li>
<li>-ls或–list 显示目前所有的screen作业。</li>
<li>-wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。</li>
</ul>
<h2 id="常用screen参数">常用screen参数</h2>
<ul>
<li>screen -S yourname -> 新建一个叫yourname的session</li>
<li>screen -ls -> 列出当前所有的session</li>
<li>screen -r yourname -> 回到yourname这个session</li>
<li>screen -d yourname -> 远程detach某个session</li>
<li>screen -d -r yourname -> 结束当前session并回到yourname这个session</li>
</ul>
<h2 id="保持我们的MC服务会话">保持我们的MC服务会话</h2>
<p>新建一个screen会话<br>screen -S mcs</p>
<p>当输入这个命令后,就会进入 mcs 会话,在当前会话下,输入上面的启动脚本命令,确认游戏正常启动后,就可以放着不管了,只要不是服务器挂掉了,服务就会一直运行着。</p><br><br>
来源:https://www.cnblogs.com/purvis/p/15137304.html
頁:
[1]