Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- # /etc/init.d/angadelinternet
- #############################################
- ## Global Config
- #############################################
- # Linux
- ############
- LINUX_USER='servcsgo'
- LINUX_SCREENNAME='csgo1'
- LINUX_PATH_SERVER='/home/servcsgo/csgo1'
- LINUX_PATH_STEAMCMD='/home/servcsgo/Steam'
- ############
- # Steam
- ############
- STEAM_LOGIN='anonymous'
- #STEAM_PASSWORD=''#
- ############
- # Game
- ############
- GAME_NAME="csgo"
- GAME_MODE="1"
- GAME_TYPE="0"
- # +Map
- GAME_MAP_GROUP="mg_bomb"
- GAME_MAP="awp_lego_2"
- MAXPLAYERS="16"
- TICKRATE="128"
- # +Network
- GAME_IP="51.255.103.44"
- GAME_PORT="27015"
- GAME_TV=""
- GAME_GSLT="5AD09EE6065883AAF781DD718320DB18"
- #############################################
- ## CMD
- #############################################
- STEAMCMD="+login ${STEAM_LOGIN} +force_install_dir ${LINUX_PATH_SERVER} +app_update 740 validate +exit"
- SRCDSCMD="./srcds_run -game ${GAME_NAME} -console -usercon -tickrate ${TICKRATE} -ip ${GAME_IP} +sv_setsteamaccount ${GAME_GSLT} -port ${GAME_PORT} +game_type ${GAME_TYPE} +game_mode ${GAME_MODE} +mapgroup ${GAME_MAP_GROUP} +map ${GAME_MAP} -maxplayers_override ${MAXPLAYERS} -nohltv +sv_pure 0"
- #############################################
- ## FONC
- #############################################
- # as_user
- ME=`whoami`
- as_user() {
- if [ $ME == $LINUX_USER ] ; then
- bash -c "$1"
- else
- su $LINUX_USER -s /bin/bash -c "$1"
- fi
- }
- is_running(){
- if ps ax | grep -v grep | grep "$LINUX_SCREENNAME $SRCDSCMD" > /dev/null
- then
- return 0
- fi
- return 1
- }
- srv_start() {
- cd $LINUX_PATH_SERVER
- as_user "cd $LINUX_PATH_SERVER && screen -dmS $LINUX_SCREENNAME $SRCDSCMD"
- #
- # Waiting for the server to start
- #
- seconds=0
- sleep 2
- until ps ax | grep -v grep | grep "$LINUX_SCREENNAME $SRCDSCMD" > /dev/null
- do
- sleep 1
- seconds=$seconds+1
- if [[ $seconds -eq 5 ]]
- then
- echo "Still not running, waiting a while longer..."
- fi
- if [[ $seconds -ge 120 ]]
- then
- echo "Failed to start, aborting."
- exit 1
- fi
- done
- echo "$LINUX_SCREENNAME à été demarré ! \o/"
- }
- srv_stop() {
- #
- # Stops the server
- #
- as_user 'screen -dr ${LINUX_SCREENNAME} -X quit'
- }
- srv_command() {
- if is_running
- then
- as_user "screen -p 0 -S $LINUX_SCREENNAME -X eval 'stuff \"$(eval echo $1)\"\015'"
- else
- echo "$LINUX_SCREENNAME was not running. Not able to run command."
- fi
- }
- srv_say() {
- if is_running
- then
- echo "Said: $1"
- srv_command "say $1"
- else
- echo "$LINUX_SCREENNAME n'est pas allumé. Not able to say anything."
- fi
- }
- srv_update(){
- cd $LINUX_PATH_STEAMCMD
- as_user "STEAMEXE=steamcmd ./steam.sh +login ${STEAM_LOGIN} ${STEAM_PASSWORD} +force_install_dir ${LINUX_PATH_SERVER} +app_update 740 +exit"
- }
- #############################################
- ## SCRIPT
- #############################################
- case "$1" in
- #######################
- # START
- #######################
- 'start')
- # Starts the server
- if is_running; then
- echo "Le serveur est déja démarré ! \o/"
- else
- srv_start
- fi
- ;;
- #######################
- # STOP
- #######################
- 'stop')
- # Stops the server
- if is_running; then
- srv_say "Le serveur va s'éteindre dans 2 secondes !"
- sleep 2
- srv_stop
- else
- echo "Le serveur va s'éteindre !"
- fi
- ;;
- #######################
- # RESTART
- #######################
- 'restart')
- # Restarts the server
- if is_running; then
- srv_say "Reboot du serveur dans 10 secondes !"
- sleep 10
- srv_stop
- else
- echo "Le serveur n'est pas démarré débile ... !"
- fi
- srv_start
- ;;
- #######################
- # UPDATE
- #######################
- 'update')
- # update server
- if is_running; then
- srv_say "Mise à jour du serveur dans 10 secondes !"
- sleep 10
- srv_stop
- to_disk
- srv_update
- else
- srv_update
- fi
- ;;
- #######################
- # STATUS
- #######################
- 'status')
- # Shows server status
- if is_running
- then
- echo "$LINUX_SCREENNAME est démarré ! \o/"
- else
- echo "$LINUX_SCREENNAME est éteins ! o/"
- fi
- ;;
- #######################
- # NOT FOUND CMD
- #######################
- *)
- echo "Usage: $0 { start | stop | restart | update | status }"
- ;;
- esac
- exit 0
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement