[b3] Problème avec !maps et !teams

Tout ce qui concerne la configuration et l'administration des serveurs.
Rendez-vous dans Outils de communication & communautaires pour la conception de sites Internet.
Avatar du membre
sta0
Messages : 1444
Enregistré le : 04 mars 2008, 19:25
Localisation : Derrière le bar

Message par sta0 » 10 juin 2008, 17:41

bon ben je confirme : j'ai un guid sur tinybomb, un guid sur le prive, un guid sur le ts, un guid chez les agrums, ... Tous différents .
Bon ben alors je sais pas t'aider.
Ceci est un petit texte qui sera ajouté en bas de tous les messages que vous rédigez. Il est limité à 256 caractères.

cuak
Messages : 63
Enregistré le : 16 mai 2008, 13:00

Message par cuak » 10 juin 2008, 17:46

mes BDD ne font qu'une deja. En effet c'est le GUID qui me pose probleme. J'ai lu sur un autre sujet qu'il etait different selon le jeu et les serveurs. Comment faire!

laru.brikabrak
Messages : 276
Enregistré le : 24 avr. 2008, 13:26
Localisation : RA 13h29m52,5 DEC 47°11m44.5

Message par laru.brikabrak » 10 juin 2008, 17:50

sinon y'a plus simple : le bot asiatik : pour 4 €/mois t'as un bot de longue sur ton serveur...


(hein ? ... pas bot ?! .... esclave ?! ah bin vi...)
"Attend, on est pas quand même dans le pays des merveilles .. On joue a UrT... " (Quelqu'un)

Dradge
Messages : 380
Enregistré le : 01 sept. 2007, 14:31
Localisation : Angers

Message par Dradge » 10 juin 2008, 17:50

cuak a écrit :sous gentoo il est déjà installé =)
J'ai trouvé comment faire. Il faut lancer screen : $ screen
lancer l'application : $ python ./b3_run.py -c /home/b3/conf/b3_1.xml&
puis faire : $ nohup python ./b3_run.py -c /home/b3/conf/b3_1.xml&
quitter screen CTRL + d
Sinon tu fait screen -dmS b3 ./b3_run.py -c /home/b3/conf/b3_1.xml

Le screen se lance...

Pour vérifier que ca tourne tu fait screen -x b3. Le screen s'affiche.

Et pour quitter le screen j'utilise Ctrl+A+D et non Ctrl+D

Pour tuer le bot, un simple Ctrl+C dans le screen
Have fun

diblemule
Messages : 67
Enregistré le : 29 mai 2008, 19:58

Message par diblemule » 10 juin 2008, 17:58

Sinon moi j'ai fait un petit script tout simple pour lancer , restart et stopper b3, coller le contenu suivant dans un nouveau fichier qu'on va appeler b3.sh

Code : Tout sélectionner

#!/bin/sh
#
#
##################################################
case "$1" in
start)
echo ""
echo "big brother est maintenant En Ligne"
echo ""
su urban -c 'screen -dmS B3 python ./b3_run.py -c /home/urbanbot/b3/conf/b3.xml'
;;

stop)
echo ""
echo -n "big brother est maintenant Hors ligne"
echo ""
su urban -c 'screen -dr B3 -X quit'
echo
;;

restart)
$0 stop
$0 start
;;

*)
echo ""
echo "Usage: {start|stop|restart}"
echo ""
echo "Ex: pub start"
echo ""
exit 1

esac
exit 0
Ensuite le rendre exécutable , pour l'utiliser rien de plus simple :

Code : Tout sélectionner

./b3.sh start   
./b3.sh restart 
./b3.sh stop
;)
Modifié en dernier par diblemule le 10 juin 2008, 17:59, modifié 1 fois.
#veni-vidi-vici@Qnet

Koko
Messages : 121
Enregistré le : 11 avr. 2008, 00:26

Message par Koko » 10 juin 2008, 19:54

Chilperik a écrit :
Koko a écrit :sudo aptitude install screen ?
Sous gentoo ? :/

google ? effectivement ^^'
Grr chichil :)
Désolé, moi sorti de debian / ubuntu, je connais pas le reste, y'a deja trop a faire avec ces 2 la :)
Koko...

Avatar du membre
Foxyfox
Responsable de branche
Responsable de branche
Messages : 1933
Enregistré le : 13 févr. 2008, 00:30
Localisation : Reims

Message par Foxyfox » 10 juin 2008, 20:30

emerge screen pour Gentoo.
Modifié en dernier par Foxyfox le 10 juin 2008, 20:30, modifié 1 fois.
Ce qui ne me tue pas me rend plus fort

cuak
Messages : 63
Enregistré le : 16 mai 2008, 13:00

Message par cuak » 10 juin 2008, 22:56

Merci bcp pour le script.

je UP pour mon problème 2

Avatar du membre
Courgette
Messages : 850
Enregistré le : 22 déc. 2007, 02:05
Localisation : Rennes

Message par Courgette » 11 juin 2008, 08:53

Vous tripez avec screen, ya pas besoin. Moi j'utilise le script suivant :

fichier bot.sh

Code : Tout sélectionner

#!/bin/bash
set -e

DEBUG=off

##### CONFIGUREZ LES 2 LIGNES SUIVANTES ######
B3_CONFIGFILE="/home/ubuteam/ubu-conf/b3-tuxgamers.xml"
B3_BASEDIR=/home/ubuteam/


PYTHON_BIN=/usr/bin/python
B3_BIN=$B3_BASEDIR/b3_run.py
B3_OPTS="-c $B3_CONFIGFILE"
B3_PID_FILE=/home/ubuteam/.b3-tuxgamers.pid



function debug() {
	if [ "$DEBUG" = "on" ]; then
		echo DEBUG: $@
	fi
}


function do_start {
	cd $B3_BASEDIR
	$PYTHON_BIN $B3_BIN $B3_OPTS &
	echo $! > $B3_PID_FILE
}

function do_stop {
	NB_PROCESS=`ps ax | grep b3_run | grep "$B3_CONFIGFILE" | grep -v grep | wc -l`
	if [ $NB_PROCESS -gt 1 ]; then
		echo ERREUR: b3 est lancé plusieurs fois, il est préférable de killer les processus à la main.
	elif [ $NB_PROCESS -eq 1 ]; then
		if [ -f $B3_PID_FILE ]; then
			PID=$(cat $B3_PID_FILE)
			NB_PROCESS=`ps hax $PID | grep b3_run | grep "$B3_CONFIGFILE" | grep -v grep | wc -l`
			if [ $NB_PROCESS -eq 1 ]; then
				kill -15 $PID
			else
				echo ERREUR: le processus n° $PID ne semble pas correspondre à b3
				echo Il vaut mieux killer b3 à la main.
			fi
		fi
	else
		echo ERREUR: êtes vous sûr que b3 est lancé ?
	fi
}


kill_programme() {
        PID=`ps hax | grep "b3_run" | grep "$B3_CONFIGFILE" | grep -v grep | cut -d' ' -f1 | head -n1`
        echo "kill du processus [$PID]"
        kill -9 $PID
}


case "$1" in
  start)
		echo "Starting Big Brother Bot"
		NB_PROCESS=`ps ax | grep b3_run | grep "$B3_CONFIGFILE" | grep -v grep | wc -l`
		if [ $NB_PROCESS -eq 0 ]; then
			do_start
		else
			echo ERREUR: b3 est déjà lancé
		fi
	;;
  stop)
		echo -n "Stopping Big Brother Bot"
		do_stop
		echo "."
	;;

  restart)
        echo -n "Restarting Big Brother Bot"
		do_stop
		sleep 1
		do_start
	;;
	
	status)
		debug "status:"
		NB_PROCESS=`ps ax | grep b3_run | grep "$B3_CONFIGFILE" | grep -v grep | wc -l`
		debug "NB_PROCESS: $NB_PROCESS"
		if [ $NB_PROCESS -gt 1 ]; then
			echo "WARNING: Big Brother Bot est lancé plusieurs fois !"
		elif [ $NB_PROCESS -eq 1 ]; then
			echo "lancé :)"
		else
			echo "pas lancé :("
		fi
	;;

	kill)
		kill_programme
	;;
  *)
	PROG_NAME=`basename $0`
	echo "Usage: $PROG_NAME {start|stop|restart|status}"
	exit 1
esac

exit 0
Ca s'utilise comme ca :
$ bot start
ou $ bot restart
Alors quand on le lance, ca donne l'impression qu'il ne nous rend pas la main. NE PAS FAIRE DE CTRL-C ! Il suffit d'appuyer bêtement sur ENTER et on récupère le prompt. Quand on quite la console ça marche toujours.

@cuak: tu l'as dans le c** pour identifier les joueurs par guid sur plusieurs serveurs. iourt donnes des guids différents à un même joueur se connectant sur des serveurs différent. Du coups y'a rien à faire à part pleurnicher après de Frozen Sand qui vont te donner plein de bonnes raisons qui justifient cette façon de faire
Modifié en dernier par Courgette le 11 juin 2008, 08:57, modifié 1 fois.

Avatar du membre
sta0
Messages : 1444
Enregistré le : 04 mars 2008, 19:25
Localisation : Derrière le bar

Message par sta0 » 11 juin 2008, 10:54

Courgette a écrit :u l'as dans le c** pour identifier les joueurs par guid sur plusieurs serveurs. iourt donnes des guids différents à un même joueur se connectant sur des serveurs différent. Du coups y'a rien à faire à part pleurnicher après de Frozen Sand qui vont te donner plein de bonnes raisons qui justifient cette façon de faire
La raison la plus évidente est que si les guids étaient les mêmes, je pourrais exemple récupérer la guid d'un admin sur tuxbomber, changer la mienne pour celle-là et partir foutre la **** chez eux. Imagines maintenant que ce soit un cheater qui fassent cela, ben tout simplement c'est un bon moyen de vider les serveurs.
Enfin, FS ne sait pas créer de guid unique, puisque il n'y a pas de cd-key, ... donc ils ont opté pour un variable.
Ceci est un petit texte qui sera ajouté en bas de tous les messages que vous rédigez. Il est limité à 256 caractères.

cuak
Messages : 63
Enregistré le : 16 mai 2008, 13:00

Message par cuak » 11 juin 2008, 13:10

Hum je comprend tout a fait. N'y aurai t-il pas une astuce pour B3? genre créer 3 guid sur la meme ligne du tableau pour un joueur. (3 guid car 3 serveurs)

Avatar du membre
Courgette
Messages : 850
Enregistré le : 22 déc. 2007, 02:05
Localisation : Rennes

Message par Courgette » 11 juin 2008, 22:41

cuak a écrit :Hum je comprend tout a fait. N'y aurai t-il pas une astuce pour B3? genre créer 3 guid sur la meme ligne du tableau pour un joueur. (3 guid car 3 serveurs)
Tu te lancerais dans du lourd :
1) modifier le schéma de la base de donnée
2) modifier toutes les requêtes qui sont concernées
3) b3 est un assez gros projet (12152 lignes de code), sans douter de tes compétences, bonne chance pour debugger et garder son niveau de stabilité.
4) ton bot ne sera plus compatible avec les mise à jour futures du bot.

Chez les ubu ont a 3 serveurs, et 3 bases de données : une par bot/serveur. Bien que je bidouilles des plugins pour b3 je n'ose pas me lancer dans une telle aventure.

Répondre