警告
因为这是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="<run server as this user>" # minecraft_chdir="<run server in this directory>" # minecraft_path="<path to minecraft_server.jar>" # minecraft_flags="<set as needed>" # # 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"
|
语言