[노트] Ubuntu mc 서버 구성
apt-get install tmux
useradd -m mcadmin
echo "alias mcadmin='sudo -i -u mcadmin /bin/bash'" >> /etc/profile.d/00-aliases.sh
일반 사용자 만들기, mcadmin에 sudo 권한 증가
useradd -m newuser
echo "newuser ALL = (mcadmin) NOPASSWD:/bin/bash" >> /etc/sudoers.d/nopass
자바 설치(1.6.4 forge는 자바 8 u10 이후 버전을 지원하지 않음)
sudo apt-get install python-software-properties
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
시작 순서 mcadmin tmux new -s mcxxx start.sh Ctrl-b d
tmux list-sessions tmux attach -t mc 다시 연결xxx
init.d 자체 시작 스크립트(/etc/init.d/디렉토리)
#!/bin/bash
# Author: Dreamagon
### BEGIN INIT INFO
# Provides: mc-mymc
# Required-Start: $local_fs $remote_fs screen-cleanup
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Minecraft server
# Description: Starts the minecraft server
### END INIT INFO
#Settings
SERVICE='MyMinecraft'
TMUXNAME="mc-$SERVICE-TMUX"
MCPATH="/home/mcadmin/${SERVICE}/current"
USERNAME='mcadmin'
ME=`whoami`
as_user() {
if [ "$ME" = "$USERNAME" ] ; then
bash -c "$1"
else
su - "$USERNAME" -c "$1"
fi
}
mc_start() {
if as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
echo "$SERVICE is already running!"
else
echo "Starting $SERVICE..."
as_user "cd ${MCPATH} && tmux new-session -d -s ${TMUXNAME} ./LaunchServer.sh"
sleep 7
if as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
echo "$SERVICE is now running."
as_user "touch ${MCPATH}/${TMUXNAME}"
else
echo "Error! Could not start $SERVICE!"
fi
fi
}
mc_stop() {
if as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
echo "Stopping $SERVICE"
as_user "tmux send-keys -t ${TMUXNAME} -l \"say SHUTTING DOWN IN 10 SECONDS. \""
as_user "tmux send-keys -t ${TMUXNAME} Enter"
sleep 10
as_user "tmux send-keys -t ${TMUXNAME} -l \"stop\""
as_user "tmux send-keys -t ${TMUXNAME} Enter"
sleep 10
as_user "rm ${MCPATH}/${TMUXNAME}"
else
echo "$SERVICE was not running."
fi
if as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
echo "Error! $SERVICE could not be stopped. Force Shutdown"
as_user "tmux kill-session -t ${TMUXNAME}"
else
echo "$SERVICE is stopped."
fi
}
#Start-Stop here
case "$1" in
start)
mc_start
;;
stop)
mc_stop
;;
restart)
mc_stop
mc_start
;;
startifdead)
if ! as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
if [ -e "${MCPATH}/${TMUXNAME}" ]
then
echo "Server dead, relaunching"
mc_start
fi
fi
;;
status)
if as_user "tmux list-sessions | grep $TMUXNAME > /dev/null"
then
echo "$SERVICE is running."
else
if [ -e "${MCPATH}/${TMUXNAME}" ]
then
echo "$SERVICE is dead"
else
echo "$SERVICE is not running."
fi
fi
;;
*)
echo "Usage: $0 {start|stop|status|startifdead}"
exit 1
;;
esac
exit 0 rc. 활성화d
sudo update-rc.d mc-tnfc defaults
sudo update-rc.d mc-tnfc enable crontab 자동 재부팅
cat mcinstances | xargs -n 1 -i /bin/sh /etc/init.d/{} startifdead
cat mcinstances | xargs -n 1 -i /bin/sh /etc/init.d/{} restart
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.