在Linux下搭建我的世界(Minecraft)服务器
最近薅了百度云双12的羊毛,1核2G一年150。突然想起以前大学整个宿舍通宵开黑挖泥土的岁月,所以刚好趁着这台服务器,打算自己搭建一个我的世界服务器,重温一下以前的感觉。
系统要求
google到的MC系统要求:
- 1.CPU:双核
- 2.内存:20-40人2GB,30-60人3GB,60+人8GB
上面就是服务器端的需求,如果只是和小伙伴们一起玩,也并不需要多优秀的服务器。下面是我的配置:
- 1.CPU:单核
- 2.内存:2G
- 3.Linux系统:CentOS 7.3 x86_64
安装Java
MC是用Java写的(当然现在也有别的语言写的版本),由于服务器端的MC是一个jar包,我们在配置之后通过运行jar包来开启服务器端,同时我们在客户端上打开后通过IP地址即可搜索并进入服务器。所以我们首先要先安装Java。通过下面的方法来安装:
```yum install -y java-1.8.0-openjdk
```
下载MC服务器端
这里有一个要求,就是你和你的小伙伴要拥有同样版本的MC。不同的版本对应着不同的服务器端,所以我们要下载正确的版本。如何看MC版本呢,一般进入游戏后,游戏左下角会有版本显示。知道了版本号,那么用命令就可以下载对应版本的服务器端了。需要根据版本号补全命令格式:
```wget https://s3.amazonaws.com/Minecraft.Download/versions/<你要下载的版本号>/minecraft_server.<你要下载的版本号>.jar
<p>例子:博主这边选择安装了比较稳定的1.12版本</p>
```wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
等下载提示结束后,minecraft_server.1.12.jar就躺在当前目录了。
MC服务器,启动!
我们就可以使用命令来运行MC服务器:
```java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
```
例子:
```java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui
```
关于命令最后一个参数 nogui,是分开的单词 no gui,意思是不需要图形界面,这样会大大减小内存的使用,如果你的Linux是有图形界面的,就可以不打这个 nogui。
启动成功
上面的命令输入完成后,等待参数由0%一直到100%就启动完成啦!下面给出博主启动完成的后几行显示:
```[05:58:08] [Server thread/INFO]: Loaded 488 advancements
[05:58:08] [Server thread/INFO]: Preparing start region for level 0
[05:58:09] [Server thread/INFO]: Preparing spawn area: 0%
[05:58:10] [Server thread/INFO]: Preparing spawn area: 41%
[05:58:11] [Server thread/INFO]: Preparing spawn area: 76%
[05:58:11] [Server thread/INFO]: Done (4.263s)! For help, type "help" or "?"
```
MC,Shell脚本启动!
我们如果一直使用上面那一句启动的话是不是非常麻烦!每次都要复制粘贴,那么我们可以写一个简单的Shell脚本,放在jar包所在目录,每次启动的时候直接启动脚本就能进入游戏了。
```vim start-game.sh
```
编辑内容如下:
#!/bin/sh
java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui
保存退出,每次启动游戏只需要运行下面命令即可:
```bash start-game.sh
```
MC服务器,关闭!
按 Ctrl + C 来停止当前服务器
MC服务起最常见的启动失败
我们在第一次运行完jar包后,无论是否运行成功,都能发现当前目录下多出了一堆文件,运行失败的时候其实就是配置除了一点问题。我们在当前目录找一下文件:eula.txt
```vim eula.txt
```
按i键进入编辑模式,找到如下一行把 false 改为 true
eula=false
保存退出
- 1.按 esc
- 2.输入 :wq
客户端连接MC服务器失败
上面都启动成功之后,就可以下载对应服务器版本的客户端。下载好后启动,点击多人游戏,添加服务器,服务器地址输入我们云服务器的公网IP,就可连接上去愉快的玩耍了。但是这时候可能会发现就是怎么连接都失败,如果遇到这个情况,我们需要检查下服务器配置文件,先在jar包目录下找到文件server.propertices 并编辑:
```vim server.propertices
```
找到这一行
online-mode:true
将true改为false,这是正版验证服务的设置
关于 server.propertices 文件,这边就不多做介绍了,可通过下面的链接了解详情
保持服务会话
因为博主用的是云服务器,需要通过使用ssh工具来连接到服务器启动游戏服务,但是一般服务器和ssh工具都会有连接会话的超时设置,在一段时间没有在服务器上操作后,会自动断开ssh会话,这时这个会话中的任务就会被杀掉,那小伙伴们游戏玩着玩着就与服务器断开连接了。
这个时候我们可以使用Linux上这个 GNU Screen 工具来解决上述问题
GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
安装 screen
```yum install -y screen
```
语法:
screen -AmRvx -ls -wipe-h <行数>-s
参数说明
- -A 将所有的视窗都调整为目前终端机的大小。
- -d <作业名称> 将指定的screen作业离线。
- -h <行数> 指定视窗的缓冲区行数。
- -m 即使目前已在作业中的screen作业,仍强制建立新的screen作业。
- -r <作业名称> 恢复离线的screen作业。
- -R 先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
- -s 指定建立新视窗时,所要执行的shell。
- -S <作业名称> 指定screen作业的名称。
- -v 显示版本信息。
- -x 恢复之前离线的screen作业。
- -ls或--list 显示目前所有的screen作业。
- -wipe 检查目前所有的screen作业,并删除已经无法使用的screen作业。
常用screen参数
- screen -S yourname -> 新建一个叫yourname的session
- screen -ls -> 列出当前所有的session
- screen -r yourname -> 回到yourname这个session
- screen -d yourname -> 远程detach某个session
- screen -d -r yourname -> 结束当前session并回到yourname这个session
保持我们的MC服务会话
- 新建一个screen会话
```screen -S mcs
```
当输入这个命令后,就会进入 mcs 会话,在当前会话下,输入上面的启动脚本命令,确认游戏正常启动后,就可以放着不管了,只要不是服务器挂掉了,服务就会一直运行着。
来源:https://segmentfault.com/a/1190000017524495
在Linux下搭建我的世界(Minecraft)服务器的更多相关文章
- linux下搭建我的世界spongeforge 服务器 (海绵端)
以下我用的都是1.10.2版本 且以下用的服务器连接管理软件有WinSCP.Xshell 5 首先,去下载一个MC1.10.2的纯净服务端,这个不会很难,百度一下! 比如我下的文件就叫minecraf ...
- Linux下搭建及配置禅道服务器详细过程-包含软件资源-Dotest-董浩
Linux环境下搭建禅道管理工具 1:百度云盘下载: 禅道--链接:https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操作系 ...
- Linux下搭建及配置禅道服务器详细过程-包含软件资源
**1:百度云盘下载: ** 禅道--链接: https://pan.baidu.com/s/1Stu7nOZVIPO5TnpJWjWtiQ 提取码:dnik CentOs操作系统--链接: http ...
- LINUX下搭建简单临时的WWW服务器
首先确定是否安装有python: python -V 如果有: cd 到你要开放的文件夹中,然后使用下面的命令可以把 当前文件夹内的所有文件 发布到 8000 端口. python -m Simple ...
- MongoDB学习笔记—Linux下搭建MongoDB环境
1.MongoDB简单说明 a MongoDB是由C++语言编写的一个基于分布式文件存储的开源数据库系统,它的目的在于为WEB应用提供可扩展的高性能数据存储解决方案. b MongoDB是一个介于关系 ...
- Linux下搭建个人网站
前不久在阿里买了一个服务器,然后开始第一次尝试搭建自己的个人网站.前端采用了bootstrap框架,后端采用的是PHP,数据库使用的是Mysql.新手第一次在linux下搭建遇见很多问题,在这里分享一 ...
- Linux下搭建PHP环境
转载于: http://www.uxtribe.com/php/405.html 该站下有系列PHP文章. 在Linux下搭建PHP环境比Windows下要复杂得多.除了安装Apache,PHP等软件 ...
- Java学习心得之 Linux下搭建Java环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建Java环境 1.前言2.JDK安装3.配置环境变量4. ...
- Java学习心得之 Linux下搭建JavaWeb环境
作者:枫雪庭 出处:http://www.cnblogs.com/FengXueTing-px/ 欢迎转载 Java学习心得之 Linux下搭建JavaWeb环境 1. 前言2. Java安装3. t ...
随机推荐
- openfire常见几类插件开发研究与总结
openfire 的插件可以访问所有openfire的API,这给我们的插件实现提供了巨大的灵活性. 以下介绍几类比较常用的插件集成方式: 基于源码XMPP协议的插件 比如:IQHandler,常用来 ...
- JAVA Eclipse的Android文件结构是怎么样的
默认res目录下面存放了界面需要的布局和图片文件,之所以图片分为hdpi,ldpi,mdpi这些,是为了不同的设备准备的(高/中/低分辨率的图片) Bin目录类似于VS的debug或者releas ...
- BZOJ 4128 Matrix BSGS+矩阵求逆
题意:链接 方法: BSGS+矩阵求逆 解析: 这题就是把Ax=B(mod C)的A和B换成了矩阵. 然而别的地方并没有修改. 所以就涉及到矩阵的逆元这个问题. 矩阵的逆元怎么求呢? 先在原矩阵后接一 ...
- vuex 中关于 mapMutations 的作用
mapMutations 工具函数会将 store 中的 commit 方法映射到组件的 methods 中.和 mapActions 的功能几乎一样,我们来直接看它的实现: export funct ...
- CSS环绕球体的旋转文字-3D效果
代码地址如下:http://www.demodashi.com/demo/12482.html 项目文件结构截图 只需要一个html文件既可: 项目截图: 代码实现原理: 该示例的实现过程很简单,主要 ...
- 小明同学喜欢体育锻炼,他常常去操场上跑步。跑道是一个圆形,在本题中,我们认为跑道是一个半径为R的圆形,设圆心的坐标原点(0,0)。小明跑步的起点坐标为(R,0),他沿着圆形跑道跑步,而且一直沿着一个方向跑步。回到家后,他查看了自己的计步器,计步器显示他跑步的总路程为L。小明想知道自己结束跑步时的坐标,但是他忘记自己是沿着顺时针方向还是逆时针方向跑的了。他想知道在这两种情况下的答案分别是多少。
include "stdafx.h" #include<iostream> #include<vector> #include<string> ...
- Spark源码分析之九:内存管理模型
Spark是现在很流行的一个基于内存的分布式计算框架,既然是基于内存,那么自然而然的,内存的管理就是Spark存储管理的重中之重了.那么,Spark究竟采用什么样的内存管理模型呢?本文就为大家揭开Sp ...
- 800元组装一台3D打印机全教程流程
我最近正好要组装一台新的reprap的kossel delta型开源3d打印机,这台机器性价比非常高,具有速度快,静音,三臂并联结构,扩展性强,便宜的特点.图纸啥的都有,只是用到mega2560和ra ...
- ndk javah配置
Location: C:\Program Files\Java\jdk1.6.0_25\bin\javah.exe Working Directory: ${project_loc} Argument ...
- Xcode iphone模拟器运行不流畅
xcode该需要多高的配置......把这个取消就好了