Quantcast
Channel: Forum VeryGames
Viewing all articles
Browse latest Browse all 5196

Lancé SteamCMD Linux

$
0
0
Bonsoir,

J'ai fais un serveur counter-strike source basé sur un linux debian 7 avec SteamCMD.

Je lance le serveur par SSH sur une fenêtre "screen", tout va bien, je peux quitté la console, il fonctionne en background.

Cependant, absent quelques jours, quand je reviens, le serveur est éteins.

Par conséquent, j'aimerais faire 2 Choses.

J'aimerais trouver un script permettant de lancer mon serveur Cs:s au lancement de mon serveur linux.

Et j'aimerais, seulement quand mon serveur cs:s s'arrête, qu'un script s’exécute pour qu'il redémarre.

J'ai cherché sur internet, et je cherche encore, j'ai trouvé des indications, mais en vain.

Pouvez-vous m'aider s'il vous plaît ?

Informations :

Commande de lancement :
Citation:

./css_server/srcds_run -steam_dir steamcmd/ -steamcmd_script steamcmd/steamcmd.sh -console -game cstrike +map de_dust2 -maxplayers 32 -port 27015
Dossiers :

artchitecture.JPGLes dossiers appartiennent à un autre utilisateurs créée sur mon linux ayant tous les droits sur ces fichiers et dossiers.

Merci.

EDIT : J'ai trouver un script à mettre dans le dossier init.d, mais je n'arrive pas à le configurer.

Citation:

#!/bin/sh# /etc/init.d/CSS
### BEGIN INIT INFO
# Provides: css
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: CSS
# Description: Init script for counter-strike source
### END INIT INFO


#############################################
## Global Config
#############################################
# Linux
############
LINUX_USER='login'
LINUX_SCREENNAME='CSsource'
LINUX_PATH_SERVER='/home/counter/css_server'
LINUX_PATH_STEAMCMD='/home/counter/steamcmd'
############
# Steam
############
STEAM_LOGIN='anonymous'
STEAM_PASSWORD=''




#############################################
## CMD
#############################################
STEAMCMD="+login ${STEAM_LOGIN} ${STEAM_PASSWORD} +force_install_dir ${LINUX_PATH_SERVER} +app_update 232330 validate +exit"

SRCDSCMD="./css_server/srcds_run -steam_dir steamcmd/ -steamcmd_script steamcmd/steamcmd.sh -console -game cstrike +map de_dust2 -maxplayers 32 -port 27015"
#############################################
## 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 is running."
}
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 was not running. 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 232330 +exit"
}
#############################################
## SCRIPT
#############################################
case "$1" in
#######################
# START
#######################
'start')
# Starts the server
if is_running; then
echo "Server already running."
else
srv_start
fi
;;
#######################
# STOP
#######################
'stop')
# Stops the server
if is_running; then
srv_say "SERVER SHUTTING DOWN!"
sleep 2
srv_stop
else
echo "No running server."
fi
;;
#######################
# RESTART
#######################
'restart')
# Restarts the server
if is_running; then
srv_say "SERVER REBOOT IN 10 SECONDS!"
sleep 10
srv_stop
else
echo "No running server, starting it..."
fi
srv_start
;;
#######################
# UPDATE
#######################
'update')
# update server
if is_running; then
srv_say "SERVER UPDATE IN 10 SECONDS."
sleep 10
srv_stop
to_disk
srv_update
else
srv_update
fi
;;
#######################
# STATUS
#######################
'status')
# Shows server status
if is_running
then
echo "$LINUX_SCREENNAME is running."
else
echo "$LINUX_SCREENNAME is not running."
fi
;;
#######################
# NOT FOUND CMD
#######################
*)
echo "Usage: $0 { start | stop | restart | update | status }"
;;


esac
exit 0
Images attachées

Viewing all articles
Browse latest Browse all 5196