Jabber - v-l-m/vlm GitHub Wiki
#Configuration server jabber pour vlm
VLM n'a pas de messagerie inter-joueur. La gestion des points de contacts a été basiquement mise en place depuis 2012, mais l'interaction reste très faible. Plusieurs raisons :
- le site est vieux et pas en html5 dynamique, ce qui n'a pas favorisé l'apparition de fonction comme "contacter Untel par email" ou "via facebook"
- les joueurs recherchent souvent un contact sur la base d'un concurrent dans une course
- ils peuvent répugner à mettre à disposition leur id facebook ou mail perso
- la conversation souhaité relève beaucoup du papotage, de team-grouping. Quand il s'agit d'échanger au fond (stratégie de course), le mail trouve naturellement sa place
- la taverne de virtual winds rempli une partie des fonctions en offrant une shootbox et des messages privés
On veut :
- permettre aux joueurs de dialoguer en 1-to-1 OK
- incidemment : pouvoir accompagner plus facilement les nouveaux arrivants.
- idéalement : par clic simple sur le ranking pour dialoguer avec un joueur
- à minima : en favorisant la recherche d'amis sur la base du boat ou du playername OK
- permettre aux joueurs de dialoguer autour d'une course (chat de groupe)
- idéalement : par clic simple en tête de ranking ou sur un icone à côté de ~id d'une course
- à minima en affichant la liste des "chat de groupe" disponibles.
- de manière transparente (connecté au site de vlm = connecté au chat) (Cf. notion de prebind) OK
- idéalement de manière complètement transparente : le chat dans un outil est "cloné" en // dans le site et vice-versa (Cf. carbon) OK
- en disposant des fonctions d'auto modération (bloquer un user par exemple) OK via un client dédié
- idéalement en disposant pour les admins de fonction de modération plus globale
- optionnellement,
- permettre la gestion de message offline OK
- recevoir les messages offline par envoi par mail
- faire une passerelle IRC (mod_ircd)
- intégrer avec les quicknews (broadcast aux utilisateurs connectés)
- en profiter pour gérer une image d'avatar (à revoir avec l'utilisation vcard... ldap .. science-fiction...)
- #669 : Client web jabber (Converse.js : https://github.com/jcbrand/converse.js)
- #793 : Chat interboat (Ticket maître : porte les commits du service jabber)
- #797 : Web service pour identifiants :
- /ws/playerinfo/profile.php
- /ws/boatinfo/profile.php
- /ws/serverinfo/misc.php
- #798 : Web service de recherche de joueur
- /ws/playerinfo/list.php
- #799 : Url de prebind
- /xmpp-pre-bind.php
- DNS : http://prosody.im/doc/dns
- PROSODY / DEBIAN :
- MUC / Conference pour Prosody : http://prosody.im/doc/modules/mod_muc
- bosch : http://prosody.im/doc/setting_up_bosh
- https://code.google.com/p/prosody-modules/wiki/mod_auth_sql
- conversejs :
- https://github.com/candy-chat/xmpp-prebind-php
- https://github.com/jappix/jappix/wiki/BoshServer
- http://postblue.info/prosody-debian-wheezy/
- https://github.com/jaxl/JAXL
- url pour le serveur jabber : iridium.v-l-m.org
- url pour les chats de groupes : vhf.iridium.v-l-m.org
- adaptation pour testing : (vhf.)ir.testing.v-l-m.org
- Configurer deux CNAME iridium et vhf vers neptune2.v-l-m.org (sur les 2 domaines v-l-m.org et virtual-loup-de-mer.org)
- Optionnel : Ajouter la déclaration des services jabber _xmpp-client._tcp.v-l-m.org 3600 IN SRV 10 100 5222 iridium.v-l-m.org. _xmpp-server._tcp.v-l-m.org 3600 IN SRV 10 100 5269 iridium.v-l-m.org.
- déclarer le dépôt prosody comme vu là : http://prosody.im/download/package_repository
apt-get install prosody-0.9 lua-dbi-mysql lua-event lua-zlib
openssl genrsa -out /etc/prosody/certs/iridium.v-l-m.org.key 2048
openssl req -new -x509 -key /etc/prosody/certs/iridium.v-l-m.org.key -out /etc/prosody/certs/iridium.v-l-m.org.cert -days 1095
cp /home/vlm/vlmcode/hosting/conf/iridium.v-l-m.org.cfg.lua.dist /etc/prosody/conf.avail/iridium.v-l-m.org.cfg.lua
- adapter les domaines
ln -sf /etc/prosody/conf.avail/iridium.v-l-m.org.cfg.lua /etc/prosody/conf.d/iridium.v-l-m.org.cfg.lua
cp /home/vlm/vlmcode/hosting/conf/prosody.cfg.lua.dist /etc/prosody/prosody.cfg.lua
- adapter les domaines, et le mot de passe de mysql
/etc/init.d/prosody restart
- verifier l'ouverture des ports :
telnet iridium.v-l-m.org 5222
- installation de punjab
- apt-get install python-twisted python-openssl
cd /opt/
wget https://github.com/twonds/punjab/archive/master.zip
unzip master.zip
cd punjab-master/
python setup.py install
- ajouter le fichier
tac
si nécessaire :nano punjab.tac
- instancier punjab
twistd -y punjab.tac
- faire un proxy sur le port 80 pour bosh
-
activer mod_proxy
a2enmod rewrite proxy proxy_http
-
configurer le vhost apache (port 80) en copiant la conf dans le vhost vlm
<Location /http-bind > ProxyPass http://iridium.v-l-m.org:5280/http-bind/ ProxyPassReverse http://iridium.v-l-m.org:5280/http-bind/ Header set Access-Control-Allow-Origin "*" </Location> <Proxy *> Order Allow,Deny Allow from all </Proxy>
-
- tout est déjà dans le code avec site/xmpp-pre-bind.php
- Activer le chat dans conf/param.php define_if_not("VLM_XMPP_ON", false);
- Optionnel (si pas instance de prod) : VLM_XMPP_HOST et VLM_XMPP_HTTP_BIND_URL dans conf/param.php
- configurer le dépot wheezy-backports
apt-get install php-monolog
- le reste est pré intégré dans externals
- configurer les différents paramètres pour le bot dans conf/param.php
- PROSODY : "ignore_presence_priority = true"
- passerelle irc/jabber avec mod_ircd
- intégration avec les quicks news
- mod_server_status : pourquoi faire ?
- adapter le module de mail offline pour utiliser l'email de contact du joueur
- meilleure intégration vcard ?
- mieux paramètrer la ressource