Comment créer un serveur Mumble
Sommaire
Introduction
Nous allons vous montrer comment installer un serveur Mumble et installer le panel d'administration (mumble-django).
Requis
- Le paquet : lzma et bzip2
Téléchargement
Installation Standalone du Serveur
Nous ne feront pas de tutoriel concernant Dbus vu que celui-ci est amené à disparaitre au profit de Ice et le serveur mumble sera installé manuellement pour éviter l'installation de paquet inutiles.
Avec l'utilisateur serveur:
su serveur cd ~ wget http://sourceforge.net/projects/mumble/files/Mumble/1.2.5/murmur-static_x86-1.2.5.tar.bz2/download mv download murmur-static_x86-1.2.5.tar.bz2 tar xjf murmur-static_x86-1.2.5.tar.bz2 mv murmur-static_x86-1.2.5 murmur cd murmur && chmod +x murmur.x86
Configuration du serveur
Pour configurer votre serveur, vous devrez éditer le fichier murmur.ini avec votre éditeur de texte préféré.
nano murmur.ini
Les lignes a modifier sont celle-ci :
#French # Combien de tentatives de connexion sera tolérer pour une IP dans un temps donné avant le ban ? # Ceci compte les connexions réussi ou échoué donc méfiance lors du paramétrage. # 0 pour désactiver. #autobanAttempts = 10 #autobanTimeframe = 120 #autobanTime = 300
Enlever les # mis en rouge pour activer la gestion des bannissements.
#logfile=murmur.log
Ceci vous permet d'enregistrer tout ce qu'il ce passe sur votre serveur et les éventuelles erreurs rencontrées dans le fichier murmur.log à la racine de l'installation. Il peut être éditer avec le bloc note, wordpad ou un autre logiciel de texte...
welcometext="Welcome to this server running Murmur.Enjoy your stay!"
C'est le message de bienvenue affiché sur votre serveur lorsqu'un joueur ou amis s'y connecte. Vous pouvez le modifier comme vous le souhaitez. Vous pouvez y inclure un logo en utilisant le langage HTML.
welcometext="<a href='http://motdgd.com/motd/?user=47' title='Bienvenue sur notre serveur Mumble'><img src='http://votre_domaine.fr/chemin_de_votre_image.jpg'></a>"
Cependant pour que la modification fonctionne, n'incluez pas ' /> et mettez les liens entre des simples quotes et non des " à la fin de la balise, respecter bien le modèle ci-dessus.
port=64738
Pensez à ouvrir le port dans votre pare feu et/ou routeur pour que vos amis puissent s'y connecter.
Enlever le # mis en rouge pour activer la fonction host
#host=
Ceci vous permet d'attribuer une IP à votre serveur, en effet, nous avons pu constater que selon les routeurs, la connexion peut être refusé avec l'IP 192.168.X.X donc modifiez uniquement votre IP par 127.0.0.1.
Exemple :
host=127.0.0.1
serverpassword=
Ceci est le mot de passe du serveur, par défaut il n'y en a pas.
bandwidth=5000
C'est la bande passante par client. ATTENTION à votre upload, si il est trop petit, vous rencontrerez des problèmes de lags...
users=100
Ceci vous permet de régler le nombre d'utilisateur maximum pouvant rejoindre votre serveur. 100 est la valeur par défaut.
Enlever le # mis en rouge pour activer la fonction #
- Autorise les caractères spéciaux dans les titres
- Pour ajouter d'autres caractères, suivez l'exemple fait (ajout de . et :)
- Ex: channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|\\.\\:]+
#channelname=[ \\-=\\w\\#\\[\\]\\{\\}\\(\\)\\@\\|]+
Enlever le # mis en rouge pour activer la fonction username
- Autorise les caractères spéciaux dans les pseudos
- Pour ajouter d'autres caractères, suivez l'exemple fait (ajout de . et :)
#username=[-=\\w\\[\\]\\{\\}\\(\\)\\@\\|\\.]+
Enlever le # mis en rouge pour activer la fonction logdays.
#logdays=31
Ceci vous permet de définir la durée que les logs soient sauvegardés.
Les parties suivantes, nous les détaillerons ultérieurement...
Ajouter le SuperUser
su serveur cd /home/serveur/murmur ./murmur.x86 -supw tutocss
Vous devriez avoir une fenêtre de confirmation, fermer là.
Note : tutocss correspond au mot de passe donc pensez à le modifier par mesure de sécurité !!!!!
Installation du Serveur et Configuration de Ice
Requis
- Le paquet : lzma
En ROOT :
apt-get install lzma
Nous partons dans l'hypothèse qu'aucun serveur n'a été installé sur le serveur dédié.
Installation du Serveur :
Avec l'utilisateur serveur:
su serveur cd ~ wget http://sourceforge.net/projects/mumble/files/Mumble/1.2.5/murmur-static_x86-1.2.5.tar.bz2/download mv download murmur-static_x86-1.2.5.tar.bz2 tar xjf murmur-static_x86-1.2.5.tar.bz2 mv murmur-static_x86-1.2.5 murmur cd murmur && chmod +x murmur.x86
Avec l'utilisateur ROOT :
echo 'O' | apt-get install icee-translators php-zeroc-ice speex libspeex1
nano /etc/php5/conf.d/IcePHP.ini
- libspeex1 est pour utilisé le codec speex.
Ajouter la ligne :
ice.slice = /home/serveur/murmur/Murmur.ice
Sauvegarder le fichier en faisant CTRL + X puis O.
On édite le fichier de configuration du Mumble :
Avec l'utilisateur serveur:
Avant, on en fait une sauvegarde :
su serveur cp -R murmur.ini murmur.ini.save nano murmur.ini
Commenter la ligne dbus=session et enlever le symbole # de la ligne ice="tcp -h 127.0.0.1 -p 6502" puis faite pareil pour logfile=. Modifiez ce que vous souhaitez et sauvegarder le fichier en faisant CTRL + X puis O lorsque vous aurez terminé.
Avant de lancer le serveur, on vérifie que les ports 64738 et 6502 est bien ouvert en local :
Avec l'utilisateur ROOT :
netstat -laptn | grep 6502 netstat -laptn | grep 64738
Si rien ne vous ai envoyé alors vous devrez ouvrir le port 6502 en TCP dans votre pare feu et/ou routeur.
Nous vous conseillons d'exécuter ces commandes en ROOT si le port est fermé :
iptables -t filter -A INPUT -p tcp --dport 6502 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 6502 -j ACCEPT iptables -t filter -A INPUT -p tcp --dport 64738 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --dport 64738 -j ACCEPT
Puis faite un iptables -L -v :
Chain INPUT (policy ACCEPT 4 packets, 264 bytes)
pkts bytes target prot opt in out source destination 0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:6502
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:64738
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 3 packets, 292 bytes)
pkts bytes target prot opt in out source destination
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:6502
0 0 ACCEPT tcp -- any any anywhere anywhere tcp dpt:64738
Après pour ceux qui veulent être plus précis, nous vous recommandons d'apprendre les règles réseaux TCP/IP de Linux.
Ajouter le SuperUser
cd /home/serveur/murmur
./murmur.x86 -supw tutocss
Note : tutocss correspond au mot de passe donc pensez à le modifier par mesure de sécurité !!!!!
On démarre le serveur mumble :
su serveur cd /home/serveur/murmur && ./murmur.x86
On vérifie les logs :
<W>2011-08-12 14:20:51.549 Initializing settings from /home/serveur/murmur/murmur.ini (basepath /home/serveur/murmur)
<W>2011-08-12 14:20:51.550 OpenSSL: OpenSSL 0.9.8o 01 Jun 2010
<W>2011-08-12 14:20:51.562 SSL: Added CA certificates from '/etc/ssl/certs/ca-certificates.crt'
<W>2011-08-12 14:20:51.573 SSL: Adding recommended CA UTN-USERFirst-Client Authentication and Email
<C>2011-08-12 14:20:51.573 WARNING: You are running murmurd as root, without setting a uname in the ini file. This might be a security risk.
<W>2011-08-12 14:20:51.573 ServerDB: Openend SQLite database /home/serveur/murmur/murmur.sqlite
<W>2011-08-12 14:20:51.573 Generating new tables...
<F>2011-08-12 14:20:51.767 Superuser password set on server 1
Tout est bon !
Installation de Mumble PHP Interface (MumPI)
Requis
- php 5.3 (php 5.4 & > ne fonctionne pas)
- Désactiver magic quotes dans votre php.ini
Installation
Télécharger la dernière version :
su root cd /var/www/ wget https://github.com/downloads/Kissaki/MumPI/MumPI_2.2.3.tar.gz tar xvzf MumPI_2.2.3.tar.gz && tar xvf MumPI_2.2.3.tar cd /var/www/MumPI mv settings.inc.default.php settings.inc.php
Démarrer votre serveur mumble et modifiez les droits d'écriture :
chmod -cR 755 /var/www/MumPI/* chmod -cR 755 /var/www/MumPI/settings.inc.php chmod -c 777 /var/www/MumPI/data chmod -cR 777 /var/www/MumPI/tmp
NE SUPPRIMER PAS LE DOSSIER INSTALL APRÈS L'INSTALLATION !
Maintenant vous pouvez accéder au panel d'administration :
La création du compte se fera automatiquement lorsque vous remplirez les champs Login et Pass.
Installation de Django
Requis
- 1 serveur web (php 5.3 (php 5.4 & > ne fonctionne pas) )
- 1 serveur mumble avec Ice
- unzip
Pour le serveur Apache, soit vous l'installez à partir des paquets soit vous pouvez l'installez à partir des sources mais dans notre tutoriel, cela n'en fera pas l'objet.
echo 'O' | apt-get install python python-django python-zeroc-ice python-setuptools cd /home/serveur && wget http://www.djangoproject.com/download/1.6.1/tarball/ mv index.html Django-1.6.1.tar.gz && tar xzvf Django-1.6.1.tar.gz mv Django-1.6.1 Django && cd Django chown -R serveur:serveur /home/serveur/Django rm -rf /home/serveur/Django-1.6.1.tar.gz python setup.py install
Installation de Django-Mumble
Avec l'utilisateur serveur :
cd .. wget https://bitbucket.org/Svedrin/mumble-django/get/v2.5.tar.gz Django-Mumble] tar xvzf v2.5.tar.gz && rm -rf v2.5.tar.gz mv Svedrin-mumble-django-9e8d9175aa62 mumble-django mv mumble-django /home/serveur/public_html
En ROOT :
ln -s /home/serveur/public_html/mumble-django /var/www
Avec l'utilisateur """serveur""":
cd /home/serveur/public_html/mumble-django/pyweb
python manage.py syncdb
Lors de l'exécution, vous devriez voir cette erreur :
ImportError: No module named PIL
Exécuter cette commande en ROOT :
apt-get install python-imaging && python manage.py syncdb
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'root'): serveur
E-mail address: votre_adresse_mail
Password:un_mot_de_passe
Password (again):répéter le mot de passe
Superuser created successfully.
--- Murmur connection info ---
1) DBus -- net.sourceforge.mumble.murmur (Murmur 1.1.8 or older)
2) ICE -- Meta:tcp -h 127.0.0.1 -p 6502 (Recommended)
Enter 1 or 2 for the defaults above, nothing to skip Server detection,
and if the defaults do not fit your needs, enter the correct string.
Whether to use DBus or Ice will be detected automatically from the
string's format.
Service string: 2
Please enter the Ice secret (if any):
Found new Murmur instance 1 on bus 'Meta:tcp -h 127.0.0.1 -p 6502'...
Successfully finished Servers and Players detection.
To add more servers, run this command again.
Installing custom SQL ...
Installing indexes ...
No fixtures found.
Please enter the Ice secret (if any): >> Pensez à commenter la ligne dans le fichier murmur.ini.
Configuration du serveur Web
En ROOT :
echo 'O' | apt-get install libapache2-mod-wsgi cd /etc/apache2/sites-available/ && nano django
(Django est un exemple...)
Copier / coller ceci :
<VirtualHost *:80>
ServerName example.com
ServerAlias www.example.com
AddDefaultCharset UTF-8
Alias /static/ /home/serveur/public_html/mumble-django/htdocs/
Alias /media/ /usr/lib/python2.5/site-packages/django/contrib/admin/media/
WSGIScriptAlias / /home/serveur/public_html/mumble-django/mumble-django.wsgi
WSGIDaemonProcess mumble-django threads=25
WSGIProcessGroup mumble-django
WSGIScriptReloading Off
</VirtualHost>
<code>
On active notre hôte virtuel :
a2ensite django
Un message s'affiche :
Enabling site django. Run '/etc/init.d/apache2 reload' to activate new configuration!
On exécute la commande donnée (qui rechargera la configuration de Apache en activant notre hôte virtuel) En ROOT :
/etc/init.d/apache2 reload
L'utilisation de Django ne se limite pas à sqlite3, vous pouvez également l'utiliser avec un base de donnée MySQL, postgresql_psycopg2, postgresql, sqlite3 ou oracle.
Pour accéder à l'interface, vous devrez exécuter cette commande : Avec l'utilisateur serveur:
cd /home/serveur/public_html/mumble-django/pyweb python manage.py runserver 0.0.0.0:8000
Validating models... 0 errors found Django version 1.1.1, using settings 'pyweb.settings' Development server is running at http://0.0.0.0:8000/ Quit the server with CONTROL-C.
- Pensez à ouvrir le port 8000 dans votre pare feu et/ou votre routeur.
Astuce :
Nous allons mettre le processus dans un screen pour éviter de perdre la connexion lorsque l'on fermera putty ou si vous souhaitez faire autre chose...
cd /home/serveur/public_html/mumble-django/pyweb screen -AdmSL django-mumble python manage.py runserver 0.0.0.0:8000
Une dernière chose avant de terminer, vous devrez exécuter la commande suivant après chaque modification faite par le panel d'administration :
python manage.py syncdb
N'oubliez pas de démarrer votre serveur Mumble...
F.A.Q :
Q : J'obtiens le message suivant avec le SuperUSer :
Refusé : SuperUser not allowed to Mute/Deafen in Root
R : Ceci est normal que le SuperUSer sert uniquement à configurer votre serveur.
Q : J'ai une erreur 403 lors de l'installation de MumPI.
R : Vérifier les droits d'écriture du dossier MumPI.
Installation d'un Bot
Requis :
- Rien du tout o_O
C'est partis !
su serveur mkdir /home/serveur/murmur/bot-mumble cd /home/serveur/murmur/bot-mumble wget http://tutocss.free.fr/tutos-gameserver/eve-bot32.tar.gz tar vxf eve-bot32.tar.gz
Pour que le Bot se connecte au serveur :
./eve-bot -s IP_DU_SERVEUR -p PORT_DU_SERVEUR -n "Nom du Bot"
Si le nom du bot contient des espaces, veuillez le mettre en " ".
Si quelqu'un pourrais m'expliquer comment il fonctionne :D
Aide :
./eve-bot
Usage: eve-bot.py -e "Match Channel" -r "Spectator Channel"
Mumble 1.2 relaybot to relay comms from a match channel to a spectator channel, with a time delay e.g. if watching on a delayed SourceTV server.
Full documentation is available at http://frymaster.127001.org/mumbleOptions:
--version show program's version number and exit
-h, --help show this help message and exit
-e EAVESDROP_IN, --eavesdrop-in=EAVESDROP_IN Channel to eavesdrop in (MANDATORY)
-r RELAY_TO, --relay-to=RELAY_TO Channel to relay speech to (MANDATORY) -s SERVER, --server=SERVER
Host to connect to (default localhost) -p PORT, --port=PORT Port to connect to (default 64738)
-n NICK, --nick=NICK Nickname for the eavesdropper (default -Eve-)
-d DELAY, --delay=DELAY
Time to delay speech by in seconds (default 90)
-m MIMIC_PREFIX, --mimic-prefix=MIMIC_PREFIX
Prefix for mimic-bots (default Mimic-)
-v, --verbose Outputs and translates all messages received from the server
--password=PASSWORD Password for server, if any
You MUST include both an eavesdrop channel to listen to, and a relay channel to relay to
--Let's Go (discussion) 29 octobre 2013 à 02:20 (CET)