Bah, grosso modo, je vois pas trop quoi dire sur ton script... Il est court, et consiste surtout en une grosse commande que je ne connais pas.
Après, je conseillerais quand même d'utiliser 'sudo' plutôt que 'su', car plus facile à paramétrer.
Pour l'optimisation, que peut-on optimiser si ce n'est cette grosse ligne de commande ?
Utiliser '$?' plutôt que '$PIPESTATUS', mais ça doit pas changer grand chose...
Pour le reste (status, stop, reload, restart, ...), je te conseille de t'inspirer des autres scripts présents dans /etc/init.d
Donc, commencer par avoir une structure telle que :
#!/bin/sh
. /lib/lsb/init-functions
do_start(){
su - urt -c /home/urt/urtserv/ioUrTded.x86_64 +set fs_game q3ut4 +set dedicated 2 +set net_port 27960 +set com_hunkmegs 128 +exec server.cfg
return $?
}
case $1 in
start)
log_daemon_msg "Lancement du serveur" "UrT"
do_start
log_end_msg $?
;;
stop)
log_daemon_msg "Arrêt du serveur" "UrT"
killall le_nom_de_tes_process_UrT
log_end_msg $?
;;
restart)
$0 stop
$0 start
;;
*)
log_success_msg "Usage: $0 {start|stop|restart}"
exit 1
;;
esac