Переглянути джерело

chore: 一键式安装脚本集合

dzp 2 роки тому
батько
коміт
35d13c990b
4 змінених файлів з 339 додано та 2 видалено
  1. 96 2
      README.md
  2. 63 0
      ish-install
  3. 101 0
      termux-install
  4. 79 0
      unix-install

+ 96 - 2
README.md

@@ -1,2 +1,96 @@
-# tt-pkuxkx
-专为北大侠客行定制的 tintin++ 客户端,包括一些必要的 patch 和基本的触发
+# PaoTin++ 安装指南
+
+## 一键式安装脚本集合
+
+本目录下存放适用于各类用户各类平台的一键式安装脚本。
+
+### 安卓系统
+
+安卓系统可借助 Termux 来运行 PaoTin++,具体安装命令如下:
+
+```
+curl -sL https://github.com/mudclient/paotin/-/raw/install/termux-install | bash
+```
+
+### iOS 系统
+
+iPhone/iPad 可借助 iSH Shell 来运行 PaoTin++,具体安装命令如下:
+
+```
+wget -qO - https://github.com/mudclient/paotin/-/raw/install/ish-install | sh
+```
+
+### Docker 系统
+
+Docker 用户需要先建立本地存储目录,以确保 Docker 容器里的修改能够持久化存储。
+
+```
+mkdir $HOME/my-paotin
+docker run -d -it --name tt --hostname tt -v $HOME/my-paotin:/paotin/var mudclient/paotin daemon
+```
+
+### macOS、Linux 和 BSD 系统
+
+这些系统上的安装方法基本相同,由于编译 TinTin++ 需要 C 编译环境和少量依赖,需要自行安装。
+
+* C 语言编译器
+* make 实用程序
+* pcre 开发包
+* zlib 开发包
+* git
+* bash
+* tmux
+
+文末附录有各系统安装依赖的命令。
+
+安装完依赖之后,统一用下面的命令就可以安装:
+
+```
+curl -sL https://github.com/mudclient/paotin/-/raw/install/unix-install | bash
+```
+
+## 附各系统的依赖安装命令
+
+### macOS
+
+```
+brew update && brew install gcc make gnutls pcre zlib git bash tmux curl neovim
+```
+
+### Ubuntu
+
+```
+sudo apt update && sudo apt-get install -y build-essential zlib1g-dev libpcre3-dev git bash tmux curl
+```
+
+### Debian
+
+```
+sudo apt update && sudo apt-get install -y build-essential zlib1g-dev libpcre3-dev git bash tmux curl
+```
+
+### Fedora
+
+```
+sudo yum install -y which make gcc zlib-devel pcre-devel git bash tmux curl
+```
+
+### CentOS
+
+```
+sudo yum install -y which make gcc zlib-devel pcre-devel git bash tmux curl
+```
+
+已知问题: CentOS 7 及以前的版本中,tmux 的版本太低,建议手动升级至 3.X 版本。
+
+### FreeBSD
+
+```
+sudo pkg update && sudo pkg install -y gcc make++ pcre zlib-ng git bash tmux curl neovim
+```
+
+### OpenBSD
+
+```
+sudo pkg_add -u && sudo pkg_add pcre git bash curl neovim
+```

+ 63 - 0
ish-install

@@ -0,0 +1,63 @@
+#!/usr/bin/env sh
+
+if [ ! -f /ish/version ]; then
+    echo 这是 iSH 环境安装脚本,一般适用于 iOS 用户。
+    echo 看起来你这里不像是 iSH,如果你确认是,请联系开发者。
+    echo 先拜拜了。
+    exit
+fi
+
+ECHO='echo -e'
+
+$ECHO;
+$ECHO "\e[1;32m第一步,升级软件仓库。\e[m";
+$ECHO;
+
+apk update
+
+$ECHO;
+$ECHO "\e[1;32m第二步,安装依赖。\e[m";
+$ECHO;
+
+apk add --no-cache git gcc libc-dev zlib-dev zlib-static pcre-dev make curl
+apk add --no-cache tmux bash ncurses less neovim nano
+
+$ECHO;
+$ECHO "\e[1;32m第三步,设置 GitHub 加速。\e[m";
+$ECHO;
+
+git config --global url."http://chat.unix5.com/mudclient/".insteadOf "https://github.com/mudclient/"
+
+$ECHO;
+$ECHO "\e[1;32m第四步,下载 PaoTin++。\e[m";
+$ECHO;
+
+cd ~
+git clone https://github.com/mudclient/paotin.git --branch beta
+
+$ECHO;
+$ECHO "\e[1;32m第五步,准备本地环境。\e[m";
+$ECHO;
+
+mkdir -p ~/my-paotin/
+ln -s ~/my-paotin/ ~/paotin/var
+[ -f ~/.profile ] && sed -i.bak '/paotin-start/d' ~/.profile
+echo "alias pt='cd ~/paotin && ./paotin-start'" >> ~/.profile
+
+$ECHO;
+$ECHO "\e[1;32m第六步,编译 TinTin++,安装 PaoTin++。\e[m";
+$ECHO;
+
+cd ~/paotin && ./setup || ($ECHO "\e[1;31m安装失败。\e[m" && exit 1) || exit
+cp -f ~/paotin/ids/EXAMPLE ~/my-paotin/ids/
+cp -f ~/paotin/plugins/EXAMPLE.tin ~/my-paotin/plugins/
+
+$ECHO;
+$ECHO "\e[1;32m安装成功。请重启 iSH App,然后输入 pt 即可开始游戏。\e[m";
+$ECHO "\e[1;32m以后每次也只需要输入 pt。\e[m";
+$ECHO;
+$ECHO "\e[1;32m在 iSH 中用 nvim 可以编辑你的个人数据:\e[m";
+$ECHO "\e[1;32m  1,在 ~/my-paotin/ids 目录下存放 ID 启动配置文件;\e[m";
+$ECHO "\e[1;32m  2,在 ~/my-paotin/plugins 目录下存放你的机器脚本;\e[m";
+$ECHO "\e[1;32m  3,从 QQ 群下载逍遥行数据后存放在 ~/my-paotin/data 目录下。\e[m";
+$ECHO;

+ 101 - 0
termux-install

@@ -0,0 +1,101 @@
+#!/usr/bin/env bash
+
+if [ ! -d /data/data/com.termux/files/ ]; then
+    echo 这是 Termux 环境安装脚本,一般适用于 Android 用户。
+    echo 看起来你这里不像是 Termux,如果你确认是,请联系开发者。
+    echo 先拜拜了。
+    exit
+fi
+
+ECHO='echo -e'
+
+$ECHO;
+$ECHO "\e[1;32m第一步,更换镜像为清华源,提高安装速度。\e[m";
+$ECHO;
+
+sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list || exit
+
+$ECHO;
+$ECHO "\e[1;32m第二步,升级软件仓库。\e[m";
+$ECHO;
+
+apt-get update -y
+apt-get -o Dpkg::Options::='--force-confold' --force-yes -fuy dist-upgrade
+apt-get reinstall -y readline bash
+
+$ECHO;
+$ECHO "\e[1;32m第三步,安装依赖。\e[m";
+$ECHO;
+
+pkg install -y git clang which make
+pkg install -y libgnutls pcre zlib
+pkg install -y bash tmux ncurses-utils neovim
+
+$ECHO;
+$ECHO "\e[1;32m第四步,申请权限。\e[m";
+$ECHO;
+
+function setup-storage() {
+    while true; do
+        $ECHO "\e[1;33m请一定要授予存储卡读写权限,否则无法用外部编辑器修改脚本。\e[m";
+        termux-setup-storage;
+        sleep 5;
+
+        if [ -d ~/storage/shared/ ]; then
+            break;
+        fi
+    done
+}
+
+setup-storage
+
+$ECHO;
+$ECHO "\e[1;32m第五步,准备本地目录。\e[m";
+$ECHO;
+
+mkdir -p ~/storage/shared/my-paotin
+ln -s ~/storage/shared/my-paotin ~/my-paotin
+mkdir -p ~/my-paotin/{ids,etc,data,log,plugins}
+
+$ECHO;
+$ECHO "\e[1;32m第六步,设置 GitHub 加速。\e[m";
+$ECHO;
+
+git config --global url."http://chat.unix5.com/mudclient/".insteadOf "https://github.com/mudclient/"
+
+$ECHO;
+$ECHO "\e[1;32m第七步,下载 PaoTin++。\e[m";
+$ECHO;
+
+cd ~
+git clone https://github.com/mudclient/paotin.git --branch beta
+
+$ECHO;
+$ECHO "\e[1;32m第九步,编译 TinTin++,安装 PaoTin++。\e[m";
+$ECHO;
+
+ln -s ~/my-paotin ~/paotin/var
+cd ~/paotin && ./setup || ($ECHO "\e[1;31m安装失败。\e[m" && exit 1) || exit
+
+$ECHO;
+$ECHO "\e[1;32m第十步,准备本地环境,设置 PaoTin++ 启动命令。\e[m";
+$ECHO;
+
+cd ~/paotin
+
+cp -f ids/EXAMPLE var/ids/例子(文件用ID命名,去掉后缀).txt
+cp -f plugins/EXAMPLE.tin var/plugins/例子(文件用拉丁字母命名).tin
+
+[ -f ~/.bashrc ] && sed -i.bak '/paotin-start/d' ~/.bashrc
+echo "alias pt='cd ~/paotin && ./paotin-start'" >> ~/.bashrc
+
+$ECHO;
+$ECHO "\e[1;32m安装成功。请重启 Termux App,然后输入 pt 即可开始游戏。\e[m";
+$ECHO "\e[1;32m以后每次也只需要输入 pt。\e[m";
+$ECHO;
+$ECHO "\e[1;32m用「文件管理」App 打开你手机根目录,\e[m";
+$ECHO "\e[1;32m寻找 my-paotin 目录,找到后,请:\e[m";
+$ECHO "\e[1;32m  1,在 ids 目录下存放 ID 启动配置文件;\e[m";
+$ECHO "\e[1;32m  2,在 plugins 目录下存放你的机器脚本;\e[m";
+$ECHO "\e[1;32m  3,从 QQ 群下载逍遥行数据后存放在 data 目录下。\e[m";
+$ECHO;

+ 79 - 0
unix-install

@@ -0,0 +1,79 @@
+#!/usr/bin/env bash
+
+if [ -f /ish/version ]; then
+    echo 这不是 iSH 环境安装脚本,iOS 用户请使用 ish-install 脚本。
+    echo 如果你认为判断有误,请联系开发者。
+    echo 先拜拜了。
+    exit
+fi
+
+if [ -d /data/data/com.termux/files/ ]; then
+    echo 这不是 Termunx 环境安装脚本,Android 用户请使用 termux-install 脚本。
+    echo 如果你认为判断有误,请联系开发者。
+    echo 先拜拜了。
+    exit
+fi
+
+ECHO='echo -e'
+if [ "$($ECHO)" = "-e" ]; then
+    ECHO=echo
+fi
+
+$ECHO;
+$ECHO "\e[1;32m第一步,检测系统环境。\e[m";
+$ECHO;
+
+DEPS='bash tmux git gcc make'
+if [ "x$(which clang 2>/dev/null)" != "x" ]; then
+    DEPS='bash tmux git make'
+fi
+
+BAD=0
+for soft in $DEPS; do
+    TMP=$(which $soft)
+    if [ "x$TMP" = "x" ]; then
+        BAD=1
+        $ECHO "\e[1;31mPaoTin++ 安装前需要先安装 $soft。\e[m"
+    fi
+done
+
+if [ "$BAD" = "1" ]; then
+    $ECHO "\e[1;31mRedhat 系发行版请使用 yum 命令安装,Debian 系发行版请使用 apt 命令安装。\e[m"
+    $ECHO "\e[1;31mmacOS 推荐使用 brew 进行安装。\e[m"
+    $ECHO "\e[1;31m其它系统请询问你的系统管理员或参考 README.md 指引进行安装。\e[m"
+    exit
+fi
+
+$ECHO;
+$ECHO "\e[1;32m第二步,设置 GitHub 加速。\e[m";
+$ECHO;
+
+git config --global url."http://chat.unix5.com/mudclient/".insteadOf "https://github.com/mudclient/"
+
+$ECHO;
+$ECHO "\e[1;32m第三步,下载 PaoTin++。\e[m";
+$ECHO;
+
+cd ~
+git clone https://github.com/mudclient/paotin.git --branch beta
+
+$ECHO;
+$ECHO "\e[1;32m第四步,准备本地环境。\e[m";
+$ECHO;
+
+mkdir -p ~/my-paotin/
+ln -s ~/my-paotin/ ~/paotin/var
+
+$ECHO;
+$ECHO "\e[1;32m第六步,编译 TinTin++,安装 PaoTin++。\e[m";
+$ECHO;
+
+cd ~/paotin && ./setup || ($ECHO "\e[1;31m安装失败。\e[m" && exit 1) || exit
+
+cp -f ~/paotin/ids/EXAMPLE ~/my-paotin/ids/
+cp -f ~/paotin/plugins/EXAMPLE.tin ~/my-paotin/plugins/
+
+$ECHO;
+$ECHO "\e[1;32m安装成功。请输入 cd ~/paotin && ./paotin-start 即可开始游戏。\e[m";
+$ECHO "\e[1;32m你也可以将上述命令做成 shell 别名,来简化操作。\e[m";
+$ECHO;