最近薅了百度云双12的羊毛,1核2G一年150。忽然想起之前大学整个宿舍通宵开黑挖泥土的岁月,因此恰好趁着这台服务器,打算本身搭建一个个人世界服务器,重温一下之前的感受。
google到的MC系统要求:html
上面就是服务器端的需求,若是只是和小伙伴们一块儿玩,也并不须要多优秀的服务器。下面是个人配置:java
MC是用Java写的(固然如今也有别的语言写的版本),因为服务器端的MC是一个jar包,咱们在配置以后经过运行jar包来开启服务器端,同时咱们在客户端上打开后经过IP地址便可搜索并进入服务器。因此咱们首先要先安装Java。经过下面的方法来安装:shell
yum install -y java-1.8.0-openjdk
这里有一个要求,就是你和你的小伙伴要拥有一样版本的MC。不一样的版本对应着不一样的服务器端,因此咱们要下载正确的版本。如何看MC版本呢,通常进入游戏后,游戏左下角会有版本显示。知道了版本号,那么用命令就能够下载对应版本的服务器端了。须要根据版本号补全命令格式:vim
wget https://s3.amazonaws.com/Minecraft.Download/versions/<你要下载的版本号>/minecraft_server.<你要下载的版本号>.jar
例子:博主这边选择安装了比较稳定的1.12版本bash
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
等下载提示结束后,minecraft_server.1.12.jar就躺在当前目录了。服务器
咱们就可使用命令来运行MC服务器:session
java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
例子:ssh
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 "?"
咱们若是一直使用上面那一句启动的话是否是很是麻烦!每次都要复制粘贴,那么咱们能够写一个简单的Shell脚本,放在jar包所在目录,每次启动的时候直接启动脚本就能进入游戏了。ui
vim start-game.sh
编辑内容以下:
#!/bin/sh java -Xms256m -Xmx512m -jar /home/mc/minecraft_server.1.12.jar nogui
保存退出,每次启动游戏只须要运行下面命令便可:
bash start-game.sh
按 Ctrl + C 来中止当前服务器
咱们在第一次运行完jar包后,不管是否运行成功,都能发现当前目录下多出了一堆文件,运行失败的时候其实就是配置除了一点问题。咱们在当前目录找一下文件:eula.txt
vim eula.txt
按i键进入编辑模式,找到以下一行把 false 改成 true
eula=false
保存退出
上面都启动成功以后,就能够下载对应服务器版本的客户端。下载好后启动,点击多人游戏,添加服务器,服务器地址输入咱们云服务器的公网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能够看做是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。
yum install -y screen
screen -AmRvx -ls -wipe-h <行数>-s
参数说明
screen -S mcs
当输入这个命令后,就会进入 mcs 会话,在当前会话下,输入上面的启动脚本命令,确认游戏正常启动后,就能够放着无论了,只要不是服务器挂掉了,服务就会一直运行着。