| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/bin/sh
- TT=
- ID=$1
- START_FILE=$1
- ECHO="$(which echo) -e"
- if [ "$(uname -s)" = "Darwin" ]; then
- ECHO=echo
- fi
- if [ "x$START_FILE" = "x" ]; then
- $ECHO "Usage: $0 <ID>"
- exit
- fi
- if [ "x$START_FILE" = "xtintin" ]; then
- tt++ -G -r init.tin
- clear; doc
- exit
- fi
- NEWBIE=false
- if [ "x$START_FILE" = "xpkuxkx" -o "x$START_FILE" = "xthuxyj" ]; then
- NEWBIE=true
- fi
- if [ ! -z $(which tt-beta 2>/dev/null) ]; then
- TT=tt-beta
- elif [ ! -z $(which tt++ 2>/dev/null) ]; then
- TT=tt++
- else
- $ECHO "\x1b[1;31m软件安装错误,没有找到可用的 tintin,请重新安装。\x1b[0m"
- exit
- fi
- if [ -f var/ids/$START_FILE ]; then
- START_FILE=var/ids/$START_FILE
- elif [ -f ids/$START_FILE ]; then
- START_FILE=ids/$START_FILE
- else
- $ECHO "\x1b[1;31m不存在启动配置文件 \x1b[1;33m$START_FILE\x1b[1;31m。\x1b[0m"
- exit
- fi
- $ECHO "\x1b[1;32m启动 tintin...\x1b[0m"
- $ECHO "\x1b[1;32m$TT $START_FILE\x1b[0m"
- mkdir -p tmux/$ID
- log() {
- MSG=$1
- TIME=$(date +'%Y-%m-%d %H:%M:%S')
- echo $TIME $START_FILE $MSG >> log/tintin.log
- }
- tintin() {
- log "TinTin++ 启动。"
- $TT -G -t GAME-$ID $START_FILE
- }
- tintin
- CODE=$?
- INTERVAL=1
- MAX_INTERVAL=1800
- while [ "$CODE" -ne "0" ]; do
- if [ "$INTERVAL" -gt "$MAX_INTERVAL" ]; then
- INTERVAL=$MAX_INTERVAL
- fi
- log "TinTin++ 非正常退出,exit code = $CODE,等待 $INTERVAL 秒后重新启动。"
- sleep $INTERVAL
- INTERVAL=$(expr $INTERVAL '*' 2)
- tintin
- CODE=$?
- done
- log "TinTin++ 正常退出,exit code = $CODE"
- if [ "$NEWBIE" = "true" ]; then
- clear; doc
- fi
|