这是一个有关放置方块与探险的游戏。游戏设定在一片可以无限生成的世界里,这里有广袤而开阔的土地:由冰雪覆盖的山峰、潮湿的河口、辽阔的牧场等等组成。它们充满着奥秘、奇迹与危险。( 随手从 MC官网 扯了一段 )
服务器配置
以下是我用的服务器的配置:
CPU Intel Xeon CPU E5-2682 v4 @ 2.50GHz * 1
RAM 2 GB ( 其实只有 1838 MB ,还有的被阿里云吃了 )
OS CentOS Linux release 7.6.1810 (Core)
Java 运行库
Java 运行库,没什么好多写的,CentOS 当然就用 yum
方式安装
yum install -y java-1.8.0-openjdk
Minecraft Server
你可能听说过 官方服务端 / CraftBukkit / Spigot / MCPC+ / ForgeMinecraftServer / KCauldron / Cauldron 等等等等 … 这些都是不同类型的服务端。官方服务端由官方团队发布,基本上随 MC 的更新而更新,不能加载所谓的 Mod ,但如果开的是纯净服这是个最佳选择。其余的为非官方服务端,更新时间和更新频率随服务端作者,各服务端拥有不同的特性,支持适合相应服务端的 Mod 。
( 写文的时候发现官方弄了个 懒人开服工具 ? )
接下来分几个章节搭建不同服务端的服务器
官方服务端
下载服务端
这里是从 Mojang 官方源下载的 1.13.2 版本的服务端
yum install -y wget
mkdir minecraft
cd minecraft
wget <https://launcher.mojang.com/v1/objects/3737db93722a9e39eeada7c27e7aca28b144ffa7/server.jar>
mv server.jar minecraft_server.1.13.2.jar
假装同意了 EULA
echo eula=true > eula.txt
MC 服务器,启动!
java -Xmx1024M -Xms1024M -jar minecraft_server.1.13.2.jar nogui
MC服务器,关闭!
按 Ctrl + C 来停止当前服务器,或者敲 stop
也行 QAQ 。
服务器设置
Minecraft Server 的服务器设置就保存在 server.properties
文件下
#Minecraft server properties //标题注释
#Thu Jan 24 19:55:32 CST 2019 //保存时间
max-tick-time=60000
generator-settings= //自定义超平坦世界(可选)
allow-nether=true //允许玩家进入下界(true为是,false为否,下同)
force-gamemode=false //玩家加入时改为默认游戏模式
enforce-whitelist=false
gamemode=0 //默认游戏模式 0 生存模式 1 创造模式 2 冒险模式 3 旁观模式
enable-query=false //允许使用GameSpy4协议的服务器监听器
player-idle-timeout=0 //玩家挂机踢出服务器(单位:分钟)
difficulty=1 //设置游戏难度 0 和平 1 简单 2 普通 3 困难
spawn-monsters=true //生成攻击型生物(游戏难度为和平时均不生成)
op-permission-level=4 //设定OP的权限 1 无视重生点保护 2 使用单人游戏作弊命令 3 使用绝大部分命令 4 使用所有命令
pvp=true //PVP(玩家伤害玩家)
snooper-enabled=true
level-type=DEFAULT
hardcore=false //极限模式
enable-command-block=false //启用命令方块
max-players=20 //玩家数限制
network-compression-threshold=256
resource-pack-sha1= //资源包sha1值(可选)
max-world-size=29999984 //世界大小限制
server-port=25565 //服务器端口
server-ip= //服务器IP(可选)
spawn-npcs=true //生成村民
allow-flight=false //允许飞行(非创造/观察者模式下)
level-name=world //地图文件夹
view-distance=10 //客户端可视距离
resource-pack= //资源包(可选,URL)
spawn-animals=true //生成动物
white-list=false //白名单
generate-structures=true //在生成世界时生成结构(例如村庄)
online-mode=true //正版验证
max-build-height=256 //高度限制
level-seed= //地图种子(可选)
prevent-proxy-connections=false
use-native-transport=true
motd=A Minecraft Server //服务器描述
enable-rcon=false
保持服务会话
(选择直接在 VNC 上运行 Minecraft Server 的可以略过这一章)
因为博主用的是云服务器,需要通过使用 SSH 连接到服务器启动游戏服务,但是一般服务器和 SSH 都会有连接会话的超时设置,在一段时间没有在服务器上操作后,会自动断开 SSH 会话,这时这个会话中的任务就会被杀掉,那小伙伴们游戏玩着玩着就与服务器断开连接了。
这个时候我们可以使用 Linux 上这个 GNU Screen 工具来解决上述问题
安装
同样用 yum
方式安装
yum install -y screen
使用
语法 & 参数说明
screen [-opts] [cmd [args]]
参数说明
-A //将所有的视窗都调整为目前终端机的大小。
-d [作业名称] //将指定的screen作业离线。
-h [行数] //指定视窗的缓冲区行数。
-m //即使目前已在作业中的screen作业,仍强制建立新的screen作业。
-r [作业名称] //恢复离线的screen作业。
-R //先试图恢复离线的作业。若找不到离线的作业,即建立新的screen作业。
-s //指定建立新视窗时,所要执行的shell。
-S [作业名称] //指定screen作业的名称。
-v //显示版本信息。
-x //恢复之前离线的screen作业。
-ls //显示目前所有的screen作业。
-wipe //检查目前所有的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 会话,在当前会话下,输入上面的启动脚本命令,确认游戏正常启动后,就可以放着不管了,只要不是服务器挂掉了,服务就会一直运行着。