Advertisement
Guest User

TrackMania² servers - Daemon start/stop example script (fixed)

a guest
Apr 27th, 2021
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.96 KB | None | 0 0
  1. ### BEGIN INIT INFO
  2. # Provides:          TM2 RPG Server
  3. # Required-Start:    $remote_fs $syslog
  4. # Required-Stop:     $remote_fs $syslog
  5. # Default-Start:     2 3 4 5
  6. # Default-Stop:      0 1 6
  7. # Short-Description: Start TM2 daemon at boot time
  8. # Description:       Enable service provided by daemon.
  9. ### END INIT INFO
  10.     #!/bin/bash
  11.  
  12.  
  13.     TM_DIR="/home/yourdirectory"
  14.     TM_USER="youruser"
  15.     SRV_SUFFIX=${2:-}
  16.     RUN_SCRIPT="manage.py"
  17.     PRV_SRV="/serverpassword=yourpassword"
  18.  
  19.     start_tm() {
  20.     echo "Lancement du server RPG${SRV_SUFFIX} TrackMania"
  21.     su -l $TM_USER -c "cd $TM_DIR; $TM_DIR/ManiaPlanetServer /dedicated_cfg=dedicated_cfg.rpg${SRV_SUFFIX}.txt /game_settings=MatchSettings/RPG${SRV_SUFFIX}DefaultMaps.txt; pyenv activate pyplaenv; $TM_DIR/rpg${SRV_SUFFIX}_server/$RUN_SCRIPT start --detach --pid-file=$TM_DIR/rpg${SRV_SUFFIX}_server/pyplanet.pid" > /dev/null &
  22.     }
  23.  
  24.     stop_tm() {
  25.     echo "Arrêt du serveur RPG${SRV_SUFFIX} TrackMania"
  26.     for pid in $(ps -fu "$TM_USER" | grep --regexp "[\._]rpg${SRV_SUFFIX}[\._]" | awk '{print $2}'); do kill -9 $pid; done > /dev/null
  27.     }
  28.  
  29.     start_pypla() {
  30.     echo "Lancement du contrôleur PyPlanet"
  31.     su -l $TM_USER -c "cd $TM_DIR; pyenv activate pyplaenv; $TM_DIR/rpg${SRV_SUFFIX}_server/$RUN_SCRIPT start --detach --pid-file=$TM_DIR/rpg${SRV_SUFFIX}_server/pyplanet.pid" > /dev/null &
  32.     }
  33.  
  34.     stop_pypla() {
  35.     echo "Arrêt du contrôleur PyPlanet"
  36.     for pid in $(ps -fu "$TM_USER" | grep -E "python.*[\/]rpg${SRV_SUFFIX}_" | awk '{print $2}'); do kill -9 $pid; done > /dev/null
  37.     }
  38.  
  39.     case "$1" in
  40.     start)
  41.     start_tm
  42.     ;;
  43.     stop)
  44.     stop_tm
  45.     ;;
  46.     restart)
  47.     stop_tm
  48.     sleep 2
  49.     start_tm
  50.     ;;
  51.     pystart)
  52.     start_pypla
  53.     ;;
  54.     pystop)
  55.     stop_pypla
  56.     ;;
  57.     pyrestart)
  58.     stop_pypla
  59.     sleep 2
  60.     start_pypla
  61.     ;;
  62.     *)
  63.     echo "Usage du script : $0 {start|stop|restart|pystart|pystop|pyrestart}"
  64.     ;;
  65.     esac
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement