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`命令。