Minecraft的启动参数和其他相关设置
我正在使用以下参数进行启动。
[root@localhost ~]# cat /home/todanano/minecraft/scripts/run.sh
#! /bin/sh
cd /home/todanano/minecraft/server
screen -AmdS minecraft-server java \
-d64 \
-server \
-Dcom.sun.management.snmp.port=10161 \
-Dcom.sun.management.snmp.acl.file=/usr/java/jre1.8.0_45/lib/management/snmp.acl \
-Xmx6G -Xms6G -jar \
-XX:MetaspaceSize=512M -XX:MaxMetaspaceSize=512M \
-XX:+AggressiveOpts -XX:+UseLargePages \
./minecraft_server.1.8.7.jar nogui
动作中的服务器规格是在VMware ESX 5.5上的虚拟机上分配了以下配置:
– 分配了2个CPU时钟为2.53GHz的2个套接字和2个核心
– 8GB内存
– CentOS 5.11
顺带一提,试着编写启动脚本。
[root@localhost ~]# cat /etc/init.d/minecraft_server
#!/bin/bash
#
# minecraft_server start script
#
#
# chkconfig: - 99 11
# description: minecraft_server start script
### BEGIN INIT INFO
# Provides: minecraft_server
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Short-Description: start and stop minecraft_server
# Description: minecraft_server
### END INIT INFO
# Source function library.
. /etc/init.d/functions
progname='minecraft_server.1.8.7.jar'
start() {
ret=`status`
if [ $? -eq 1 ]; then
sudo -u todanano /home/todanano/minecraft/scripts/run.sh
fi
touch /var/lock/subsys/minecraft_server
return $?
}
stop() {
ret=`status`
if [ $? -eq 0 ]; then
pkill -f $progname
sleep 1
ret=`status`
if [ $? -eq 0 ]; then
sleep 10
ret=`status`
if [ $? -eq 0 ]; then
pkill -9 $progname
fi
fi
fi
rm -f /var/lock/subsys/minecraft_server
return $?
}
status() {
pgrep -f $progname
return $?
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status $prog
;;
*)
echo $"Usage: $0 {start|stop|status}"
exit 2
esac
将minecraft_server的chkconfig设置为启用。
如果将其设为此选项,在重新启动后应该会自动执行。
2015/07/29 追加件
修正了之前的启动脚本,以便在服务器主体关机或重新启动时,确保Minecraft正常关闭。
通过在`/etc/init.d/minecraft_server`的启动过程中创建文件`/var/lock/subsys/minecraft_server`,在服务器本体关闭或重新启动时,应该会执行`/etc/init.d/minecraft_server stop`命令。