freebsd 自动启动服务器,教程/FreeBSD启动脚本

警告

因为这是Wiki的一个条目,可以在任何时间内被任何人编辑,因此建议你不要完全使用这个脚本,而是将其当作编写脚本的指导手册看待。

这是一个 Minecraft 服务器 rc.d 的 FreeBSD 脚本示例。

安装[]

使用 adduser 来创建一个名为 minecraft 的新用户,新用户根目录指定为 /srv/minecraft。

保证你的 /srv 文件系统拥有足够的空间(约 100-200MB ,取决于你的需要) - df -h 将会显示有多少可用空间。

如果必要,安装 Java。端口在 /usr/ports/java/jdk16。

在 root 运行:

# cd /usr/ports/sysutils/screen && make install clean

# cd /srv/minecraft

# fetch https://s3.amazonaws.com/MinecraftDownload/launcher/minecraft_server.jar

# chown minecraft:minecraft *

# fetch -o /usr/local/etc/rc.d/minecraft http://vidya.dyndns.org/stuff/minecraft

# chmod 0555 /usr/local/etc/rc.d/minecraft

如果你以及拥有了服务器配置文件、世界文件等,将它们复制到 /srv/minecraft ,并且将它们的所有权给予你的 minecraft 用户。

编辑 /etc/rc.conf.local (如果不存在就新建),并添加下列行:

minecraft_enable="yes"

服务器现在会开始启动了。为了启动服务器,检查状态,然后关闭,使用下列命令:

# /usr/local/etc/rc.d/minecraft start

# /usr/local/etc/rc.d/minecraft status

# /usr/local/etc/rc.d/minecraft stop

或:

# service minecraft start

# service minecraft status

# service minecraft stop

脚本[]

#!/bin/sh

#

# PROVIDE: minecraft

# REQUIRE: LOGIN DAEMON NETWORKING mountcritlocal

# KEYWORD: shutdown

#

# Add the following lines to /etc/rc.conf.local to enable the minecraft server:

#

# minecraft_enable="YES"

# minecraft_user=""

# minecraft_chdir=""

# minecraft_path=""

# minecraft_flags=""

#

# For default setup, create a user named 'minecraft', set its home directory

# to /srv/minecraft, and place minecraft_server.jar into /srv/minecraft

#

# See minecraft_server.jar for flags

. /etc/rc.subr

name=minecraft

rcvar=minecraft_enable

load_rc_config ${name}

command=/usr/local/bin/screen

pidfile=/var/run/minecraft.pid

start_cmd="${name}_start"

stop_cmd="${name}_stop"

status_cmd="${name}_status"

: ${minecraft_enable="NO"}

: ${minecraft_session="minecraft-session"}

: ${minecraft_user="minecraft"}

: ${minecraft_chdir="/srv/minecraft"}

: ${minecraft_path="/srv/minecraft/minecraft_server.jar"}

: ${minecraft_flags=""}

: ${minecraft_args="/usr/local/bin/java -Xmx1024M -Xms1024M \

-XX:+UseConcMarkSweepGC -XX:+CMSIncrementalPacing \

-XX:ParallelGCThreads=4 -XX:+AggressiveOpts \

-jar ${minecraft_path} ${minecraft_flags} nogui"}

minecraft_start() {

unset "${rc_arg}_cmd"

minecraft_flags="-d -m -S ${minecraft_session} ${minecraft_args}"

if minecraft_running; then

echo "minecraft already running?"

else

run_rc_command "start"

fi

}

minecraft_stop() {

local cmd

cmd="${command} -p 0 -S ${minecraft_session} -X eval 'stuff stop\015'"

if minecraft_running; then

echo "Stopping minecraft."

su -m ${minecraft_user} -c "${cmd}"

fi

}

minecraft_status() {

if minecraft_running; then

echo "minecraft is running."

else

echo "minecraft is not running."

fi

}

minecraft_running() {

local check ses

ses="${minecraft_session}"

check=`su -m ${minecraft_user} -c "${command} -list" | grep ${ses}`

if [ "$check" ]; then

return 0

else

return 1

fi

}

run_rc_command "$1"

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值