系统要求
-
MC系统要求
- CPU:双核
- 内存:20-40人2GB,30-60人3GB,60+人8GB
-
阿里云配置:
- CPU: 1核
- 内存: 2 GiB
- 操作系统: CentOS 7.3 64位
- 带宽: 1Mbps
- 高效云盘:40GiB (2120 IOPS)
安装Java
服务器端的MC
是一个jar
包,在配置之后通过运行jar
包来开启服务器端,同时在PC
上打开后通过IP
地址即可搜索并进入服务器。首先安装Java
。默认安装Java 8
。
- 验证是否安装 Java
[root@host ~]# java -version
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
- 安装 java
[root@host ~]# yum install java-1.8.0-openjdk
下载MC服务器端
同样版本的MC对应对应着相同的服务器端。首先进入 home
目录,新建 minecraft
文件夹:
[root@host ~]# cd /home
[root@host home]# mkdir minecraft
进入 minecraft
目录下:
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/版本号/minecraft_server.版本号.jar
[root@host ~]# cd /home/minecraft
[root@host minecraft]# sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
启动
使用命令来运行MC服务器:
sudo java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
关于命令最后一个参数 nogui
,是分开的单词 no gui
,意思是不需要图形界面,这样会大大减小内存的使用,如果你的Linux
是有图形界面的,就可以不打这个nogui
。
[root@host ~]# sudo java -Xms256m -Xmx512m -jar minecraft_server.1.12.jar nogui
启动成功
[root@host Minecraft]# bash start-game.sh
[16:50:08] [Server thread/INFO]: Starting minecraft server version 1.12
[16:50:08] [Server thread/INFO]: Loading properties
[16:50:08] [Server thread/INFO]: Default game type: SURVIVAL
[16:50:08] [Server thread/INFO]: Generating keypair
[16:50:08] [Server thread/INFO]: Starting Minecraft server on *:25565
[16:50:08] [Server thread/INFO]: Using epoll channel type
[16:50:08] [Server thread/WARN]: **** SERVER IS RUNNING IN OFFLINE/INSECURE MODE!
[16:50:08] [Server thread/WARN]: The server will make no attempt to authenticate usernames. Beware.
[16:50:08] [Server thread/WARN]: While this makes the game possible to play without internet access, it also opens up the ability for hackers to connect with any username they choose.
[16:50:08] [Server thread/WARN]: To change this, set "online-mode" to "true" in the server.properties file.
[16:50:08] [Server thread/INFO]: Preparing level "world"
[16:50:09] [Server thread/INFO]: Loaded 488 advancements
[16:50:09] [Server thread/INFO]: Preparing start region for level 0
[16:50:10] [Server thread/INFO]: Preparing spawn area: 0%
[16:50:11] [Server thread/INFO]: Preparing spawn area: 27%
[16:50:12] [Server thread/INFO]: Preparing spawn area: 92%
[16:50:12] [Server thread/INFO]: Done (3.943s)! For help, type "help" or "?"
这样就启动成功了。
常见问题
在第一次运行完jar
包后,无论是否运行成功,都能发现当前目录下多出了一堆文件,运行失败的时候其实就是配置除了一点问题。在当前目录找一下文件:eula.txt
。需要对这个文件进行一下编辑:
[root@host Minecraft]# vi eula.txt
按 i
键进入编辑模式,找到这一行:
eula=false
退出vi
编辑器:按 esc
,输入 :wq
(保存退出)
- MC连接失败
PC端搜索到了服务器,但连接失败,这样可以修改配置,先在jar包目录下找到文件server.propertices 并编辑:
[root@host Minecraft]# vi server.propertices
将true改为false,这是正版验证服务的设置
online-mode:false
配置
MC服务器端的配置,需要修改这个文件了,同样在jar包所在目录下:
[root@host Minecraft]# vi server.propertices
Shell脚本启动、关闭
写一个简单的Shell
脚本,放在jar
包所在目录:
[root@host Minecraft]# vi start.sh
编辑内容:
#!/bin/sh
screen -dmS mc java -Xms256m -Xmx512m -jar minecraft_server.1.12.jar nogui
[root@host Minecraft]# vi stop.sh
编辑内容:
#!/bin/sh
screen -dr mc -X stuff "say 服务器将在10s后关闭! \n"
sleep 10
screen -dr mc -X stuff "stop\n"
执行脚本:
[root@host Minecraft]# bash start.sh
保持服务会话
因为用的是云服务器,需要通过使用ssh
工具来连接到服务器启动游戏服务,但一般服务器和ssh
工具都会有连接会话的超时设置,在一段时间没有在服务器上操作后,会自动断开ssh
会话,这时这个会话中的任务就会被杀掉,那小伙伴们游戏玩着玩着就与服务器断开连接了。这个时候我们可以使用Linux
上这个 GNU Screen
工具来解决上述问题。
安装
[root@host Minecraft]# yum install -y screen
保持我们的MC服务会话,新建会话:
[root@host Minecraft]# screen -S mcs
输入这个命令后,就会进入 mcs
会话,在当前会话下,输入上面的启动脚本命令。退出当前命令行按住ctrl+a
然后再按d就退出了,此时程序已经在后台运行了。想进入控制台用命令screen -r mc