Comment créer sa propre salle de chat


Voici maintenant un chapitre pour ceux qui se sentent une âme d'animateur (ou d'animatrice) et qui désirent créer leur propre salle de chat.

Pour cela, vous devez installer un serveur de chat sur votre PC. Les gens qui viendront chatter dans votre salle se connecteront directement à votre PC. Si vous arrêtez le serveur de chat ou que vous coupez votre PC, votre salle disparaitra.


A. Clause de Responsabilité

Etant donné que l'animateur fait tourner un serveur de salle de chat sur son PC sans aucune possibilité de vérification ou de contrôle de notre part, nous déclinons toute responsabilité de l'utilisation qui sera faite de ce logiciel serveur ainsi que du logiciel de chat client correspondant.

En téléchargeant le serveur de chat, l'animateur accepte d'endosser l'entière responsabilité de l'utilisation de ce logiciel.

Nous conseillons à l'animateur de prendre à coeur les responsabilités suivantes :

Nous conseillons à l'animateur de ne pas prendre ces responsabilités à la légère s'il veut éviter une convocation à la gendarmerie suite à une plainte déposée par un participant !

L'animateur a à sa disposition le fichier de log du serveur afin de vérifier ce qui se déroule en salle.


B. Installation

Pour installer le serveur de chat veuillez suivre les étapes 1 à 8 ci-dessous:


Etape 1

Téléchargez le serveur de chat en

(si ça ne fonctionne pas, cliquez ici)


Etape 2

Démarrez-le en cliquant sur l'icône "CREER SALLE" qui se trouve sur votre bureau.




Etape 3

Entrez le nom de votre salle ("Chez Samuro"),
ensuite choisissez une langue et un pays ("Français/Belgique"),
et finalement choisissez une catégorie (Ados, General, Conversation 18+ ou Erotica 21+) :

CategorieDescription
Ados jeunes 0 à 20 ans
General ouvert à tous
Conversation 18+ conversations entre adultes
Erotica 21+ salles roses


Etape 4

Observez l'indicateur "#rooms" sur le serveur de chat (voir photo à droite). Cet indicateur compte le nombre total de salles de chat existantes dans le système. Au début, quand vous démarrez le serveur de chat, cet indicateur est égal à 1. Après quelques minutes, il devrait indiquer une valeur supérieure à 1 (par exemple 67 sur la photo). Cela signifie que votre salle a été correctement ajoutée dans la liste des salles. Continuez alors à l'étape 7 ci-dessous.

Si vous voyez un bouton TEST coloré en VERT, cela signifie que tout va bien, l'indicateur "#rooms" va changer dans quelques minutes, il suffit d'attendre.

Par contre si vous voyez un bouton TEST coloré en ROUGE, cela signifie que votre PC n'est pas bien configuré pour faire tourner un serveur. Continuez alors à l'étape 5 ci-après.


Etape 5 : Routeur

  1. cliquez sur le bouton "Démarrer" en bas à gauche de votre écran Windows

  2. cliquez sur "Exécuter"

  3. tapez cmd puis cliquez sur OK, ce qui doit faire apparaitre une boite noire.
         (note: sur windows 95/98, tapez dosprmpt au lieu de cmd)

  4. tapez ipconfig et appuyez sur la touche Entrée (à droite en bas du clavier)


  5. cherchez les 2 lignes rouges sur l'image ci-dessus. La première est intitulée "Adresse IP" et la deuxième plus bas s'appelle "Passerelle par défaut".

    Si ces deux adresses IP commencent par 192.168.x.x, 10.x.x.x, ou 172.x.x.x alors vous avez un routeur que nous allons devoir configurer (s'ils commencent par autre chose, vous n'avez pas de routeur et vous pouvez aller directement à l'étape 6 : Parefeu)

    notez soigneusement les deux IP sur un papier :
    - la première est l'IP locale de votre PC (à ne pas confondre avec l'IP Internet !)
    - la deuxième est l'IP de votre routeur.

  6. démarrez internet explorer et tapez http://xxx.xxx.xxx.xxx en remplaçant les xxx par l'IP de votre routeur.

  7. dans le guide utilisateur du routeur, cherchez le nom d'utilisateur et le mot de passe pour se logger (il faut souvent laisser la zone vide, ou bien taper admin).

  8. cherchez le menu pour ajouter un serveur, ça s'appelle souvent "NAT" ou bien "Virtual Server" ou "Applications & Gaming"

  9. Ajoutez une ligne dans la configuration du routeur :

    application user-defined, non-standard ou tapez chat
    protocole TCP ou UDP TCP
    numéro du port entrant 12000 (ou 12000 à 12000) - celui du serveur de chat
    numéro du port sortant 12000 (ou 12000 à 12000) - celui du serveur de chat
    Adresse IP IP locale de votre PC, que vous avez notée sur un papier
    Enable X

  10. sauver la configuration.

    exemple: le router wireless LinkSysBEFW11S4



Si votre PC tourne sous Vista, l'ouverture des ports ne fonctionne pas avec certains modèles de routeur. Ce que vous devez alors faire c'est introduire l'IP locale de votre PC dans le menu "DMZ" (ou "Default Server") du routeur.


Si votre adresse IP WAN sur le modem commence par 10, (exemple ) cela signifie que votre fournisseur d'accès vous a basculé sur un CGN ! Vous ne pouvez alors pas faire tourner de serveur sur votre PC parce qu'on vous a branché en mode IP privée. Chez certains fournisseurs d'accès, un simple coup de fil suffit pour demander qu'on remette votre connection sur une IP publique, cela prend 5 min.


Quand votre routeur est bien configuré, continuez à l'étape 6 car ce n'est pas fini.


Etape 6 : Parefeu

  1. Vous devez autoriser le port TCP 12000 dans le parefeu de windows XP :
    - pour windows XP cliquez ici
    - pour windows XP avec Service Pack 2 cliquez ici

  2. Vous devez autoriser le port TCP 12000 dans les logiciels de sécurité que vous avez installés (norton, f-secure, ..)
    Pour configurer vos parefeus installés, reportez-vous à la documentation fournie avec le produit. Certains produits gratuits (par exemple Zone Alarm Standard Edition) ne permettent pas de configurer les ports. Il faut alors se procurer la version professionelle du produit, ou bien l'enlever (le parefeu inclus dans Windows XP procure une sécurité suffisante pour empêcher tout piratage).
Pour vérifier que tous vos logiciels parefeu installés sur le PC sont bien configurés, vous pouvez télécharger ici le petit logiciel testport. Démarrez le serveur le chat, ensuite tapez dans testport l'IP locale de votre PC (voir point 5 ci-dessus) et le port 12000 et cliquez OK : le logiciel vous dira si le port est ouvert sur tous vos parefeus, donc si vous avez correctement exécuté l'étape 6.

Quand tous vos routeurs et parefeus sont bien configurés, alors le bouton TEST sur le serveur de chat devrait se colorer en VERT quand vous cliquez dessus, ce qui indique que le port est ouvert; s'il reste coloré en ROUGE, remontez à l'étape 4 car vous avez sûrement commis une erreur !

Quand l'indicateur "#rooms" sur le serveur de chat affiche une valeur supérieure à 1, continuez à l'étape 7 car ce n'est pas fini.



Etape 7 : plusieurs PCs

Si vous avez un routeur et que vous chattez depuis un autre PC que celui où vous avez installé le serveur, vous allez voir une ligne de pointillés à la place du nom de votre salle et vous ne pourrez pas y rentrer, alors que les autres chatteurs y parviennent sans problème. C'est parce que l'un de vos PCs ne trouve pas l'IP de l'autre.

Pour résoudre ce problème, vous avez le choix entre deux solutions :

1) la méthode automatique :

2) la méthode manuelle :

Voici un exemple simple :
Attention à bien recopier cet exemple proprement sans rien changer sauf l'adresse IP et le numéro de PORT !

# chat.ini

[room1]
IP   = 192.168.0.52     # adresse IP locale du PC
PORT = 12000            # port du serveur de chat

[icons]
test01 = test.bmp
frog01 = grenouille.gif

[settings]



Si vous avez installé 2 salles (port 12000 et 12001), vous devez indiquer les 2 ports, comme ceci :

# chat.ini

[room1]
IP   = 192.168.0.52     # adresse IP locale du PC pour serveur 1
PORT = 12000            # port du serveur de chat

[room2]
IP   = 192.168.0.52     # adresse IP locale du PC pour serveur 2
PORT = 12001            # port du serveur de chat

[icons]
test01 = test.bmp
frog01 = grenouille.gif

[settings]


Lancez maintenant le chat. Si vous avez correctement exécuté cette étape vous devriez maintenant voir une ligne avec le nom de votre salle.

N'oubliez pas, si vous créez un nouveau pseudo ou que vous téléchargez un bot, de répéter cette opération pour le nouveau chat.ini !



Etape 8 : plusieurs serveurs de chat

Si vous installez plusieurs serveurs de chat sur le même routeur, alors vous devez utiliser des numéros de ports différents (12000, 12001, ...) en modifiant le fichier chatserv.ini de chaque serveur.

De plus, si vous installez plusieurs serveurs de chat sur des PCs différents connectés au même routeur, alors il est nécessaire d'ouvrir, sur les parefeus de ces PCs, les ports UDP de même numéro que les ports TCP déjà ouverts. Si vous oubliez de le faire, certaines de vos salles vont apparaitre et disparaitre régulièrement de la liste des salles. (note: il ne faut rien changer sur le routeur).

Exemple:




C. Le Serveur de Chat



IPindique l'IP de votre PC, 12000 étant le port TCP utilisé par le serveur de chat.
#roomsindique le nombre total de salles de chat actuellement ouvertes.
#usersindique le nombre de chatteurs dans votre salle.
Room Name vous permet d'indiquer le nom de la salle. Il n'est pas nécessaire de redémarrer le serveur après avoir changé.
Langue/Pays répertorie votre salle dans l'une des listes de salles en fonction du choix Langue/Pays. Il n'est pas nécessaire de redémarrer le serveur après avoir changé.
Categorie répertorie votre salle dans l'une des catégories suivantes :

CategorieDescription
Ados jeunes 0 à 20 ans
General ouvert à tous
Conversation 18+ conversations entre adultes
Erotica 21+ salles roses

Il n'est pas nécessaire de redémarrer le serveur après avoir changé de catégorie.
max upload permet de spécifier la vitesse d'envoi (upload) maximum utilisée par le serveur de chat.
La valeur du haut est la limite maximum que vous autorisez; la valeur du bas change toute seule et indique la bande passante effectivement utilisée.
(voir aussi le chapitre "bande passante" plus loin dans cette documentation)
Bouton 'R' remet le réglage "max upload" à la valeur par défaut 120
Reload recharger le fichier chatserv.ini - à utiliser après avoir modifié un paramètre dans ce fichier.
Gold affiche la liste des tocs or (voir ci-dessous le chapitre "Comment donner un toc").
Brownidem pour les tocs marrons.
Bannedaffiche la liste des gens bannis de façon permanente.
Log-1affiche le log de salle de hier.
Logaffiche le log d'aujourd'hui.


D. Fichier de Log du Serveur de Chat

Le serveur de chat produit un fichier de log par jour reprenant toute la conversation de la salle, par exemple "2003-10-12.chatserv.txt". Les conversations en fenêtre privée ne sont pas enregistrées pour des raisons de respect de la vie privée.

Il est cependant à noter que votre provider internet peut facilement intercepter tous les dialogues sur ce chat, sur Messenger ou tout simplement les échanges d'emails, cela sur demande des autorités judiciaires. Nous vous conseillons donc de ne rien faire d'illégal sur internet, cela laisse toujours des traces.


E. Comment donner un toc ou exclure un participant

Il y a 2 façons de donner le toc ou d'exclure quelqu'un :

1) la façon temporaire, qui dure au maximum 24 heures ou bien jusqu'à ce qu'on redémarre le serveur.
2) la façon permanente, sans limite de temps.

1. Façon temporaire (max 24 heures)

Pour donner un toc marron à Eric pour 24 heures :

. cliquez sur le pseudo d'Eric dans la liste,
. cliquez sur l'icône (l'icône du bas, attention il y en a deux).

Eric doit sortir de salle et revenir pour avoir son toc.


Pour exclure un participant, il faut :

. écrire une ligne de texte avec la raison de l'exclusion, mais sans appuyer sur la touche pour l'envoyer,
. cliquer sur le pseudo du participant à exclure,
. cliquer sur l'icône ou (l'icône du haut)

Optionnellement, on peut ajouter dans la ligne de texte une durée d'exclusion entre crochets exprimée en minutes ou en heures.

Exemple 1:
va te calmer dehors [15 min]

Exemple 2:
au dodo [8 h]


La durée d'exclusion n'a cependant aucun effet sur les propriétaires de salle (ceux qui ont le toc OR).


Pour voir la liste des tocs marrons ou exclusions des dernières 24 heures, tapez :
/toc
ce qui va afficher une liste comme suit :
10 : Marc a reçu un toc de Vincent jusque 22:45
12 : Ivanohé est exclu jusque 02:12
14 : Arglub est exclu jusque 04:06

Pour reprendre le toc ou annuler une exclusion, il suffit d'effacer la ligne correspondante.
Par exemple pour annuler l'exclusion d'Ivanhoé (ligne 12 ci-dessus), tapez:
/delete 12


Pour effacer tous les tocs et annuler toutes les exclusions, tapez:
/delete all


Si vous ne souhaitez pas que les tocs OR ou BRUN puissent donner des tocs provisoires, ajoutez les lignes suivantes dans chatserv.ini :
[security]
gold-tocs-can-give-toc  = NO ; toc OR ne peuvent pas donner toc provisoires
brown-tocs-can-give-toc = NO ; toc BRUN ne peuvent pas donner toc provisoires


2. Façon permanente (sans limite de temps)

Seul l'animateur qui fait tourner la salle sur son PC peut utiliser cette méthode :

Cliquez sur le bouton "Log" du serveur de chat pour voir la conversation en salle.
Cherchez l'arrivée en salle du participant concerné, vous allez voir une ligne telle que :

00:03:24 > ISABELLE s'est jointe à la conversation. (80.200.6.106) [E5DF21C781251FE9:12F3]

Les caractères entre crochets [ ] constituent la signature unique d'un participant.

Copiez la signature (en gardant les crochets), puis collez-là dans l'une des listes Gold, Brown ou Banned que vous ouvrez en cliquant sur le bouton correspondant sur le serveur de chat.

- Gold : liste des tocs OR permanents (propriétaires de salle),
- Brown : liste des tocs MARRONS permanents (animateurs),
- Banned : liste des gens exclus de façon permanente.

Exemple d'un fichier Gold :
[E5DF21C781251FE9:12F3] Isabelle (Lyon)
[ZE3160A5D0D3D718:B6C2] Samuro



F. Salles Privées

Une salle "privée" n'est accessible qu'aux personnes invitées par le propriétaire de salle. Pour créer une salle privée, il faut créer un fichier "INVITE.TXT" dans le dossier "C:\chatserv". Ce fichier doit contenir la liste de toutes les signatures autorisées à rentrer dans la salle (voir chapitre ci-dessus).

Quand ce fichier est créé, l'icône apparait devant le nom de la salle, ce qui permet aux chatteurs de reconnaitre une salle privée.

Si ça ne va pas, essayez de renommer votre fichier en "INVITE" au lieu de "INVITE.TXT" (le bloc-notes rajoute l'extension cachée .TXT automatiquement, pour plus de détails cliquez ici)

Pour retranformer une salle privée en salle tout public, effacez le fichier.


G. Salles avec Mot de Passe

Une salle peut être protégée par un mot de passe. Seuls les participants qui connaissent le mot de passe correct peuvent rentrer.

Il est possible de combiner salle privée (voir chapitre précédent) et salle protégée par mot de passe : seules les personnes invitées ou connaissant le mot de passe peuvent alors rentrer.

G.1. Mot de Passe contrôlé par le Propriétaire de la salle

Pour protéger sa salle avec mot de passe, le propriétaire de salle doit créer un fichier "PASSWORD.TXT" dans le dossier "C:\chatserv". Ce fichier doit contenir uniquement le mot de passe (pour ce faire, allez avec explorateur windows dans C:\CHATSERV, cliquez sur le menu "Fichier", cliquez sur "Nouveau", puis sur "Document Texte", ensuite tapez le nom de fichier PASSWORD, cliquez dessus pour ouvrir le bloc-notes, enfin tapez votre mot de passe et fermez).

Quand ce fichier est créé, l'icône apparait devant le nom de la salle, ce qui permet aux chatteurs de reconnaitre une salle avec mot de passe.

Si ça ne va pas, essayez de renommer votre fichier en "PASSWORD.TXT" au lieu de "PASSWORD" (le bloc-notes rajoute l'extension cachée .TXT automatiquement, pour plus de détails cliquez ici)

Pour enlever la protection par mot de passe, effacez le fichier.

Les participants ayant un toc (OR ou MARRON) rentrent en salle sans devoir donner le mot de passe.


G.2. Mot de Passe contrôlé par les tocs OR

Le propriétaire de salle peut permettre aux tocs OR de gérer le mot de passe de la salle, grâce à la commande /pass.

Avertissement: un toc OR peut, grâce à cette commande, faire rentrer dans une salle privée (voir chapitre précédent) des gens que le propriétaire de salle n'avait pas invités.

Pour autoriser l'utilisation de la commande /pass, le propriétaire de salle doit rajouter dans chatserv.ini :
[security]
command-pass = enable

Après avoir cliqué sur le bouton "Reload" du serveur de chat, les commandes suivantes sont alors disponibles pour les tocs OR :

Pour protéger la salle avec le mot de passe "plumeau", tapez la commande :
/pass plumeau

Pour voir le mot de passe actuel, tapez :
/pass

Pour enlever le mot de passe, tapez :
/pass off



H. Comment créer plusieurs salles

Plusieurs salles peuvent être créées à partir du même PC. Pour cela, il faut spécifier, lors de l'installation du serveur, le nombre de salles désirées. L'installation va alors créer plusieurs répertoires ainsi que plusieurs icônes sur le bureau pour démarrer chaque salle.

Chaque salle va utiliser un port tcp/ip différent. Le port par défaut de la 1ère salle est 12000. Pour sélecter un autre port, l'installation va déposer automatiquement, dans le répertoire du serveur, un fichier CHATSERV.INI avec le texte suivant :

# chatserv.ini file

[listener]
port = 12001

Tout ce que vous avez encore à faire est de configurer votre parefeu et éventuellement routeur pour ces ports additionnels.


I. Bande Passante

Chaque chatteur est relié au serveur de chat par 2 connections :

- la 1ère connection sert à envoyer du texte.
- la 2ème connection sert à envoyer les icônes, les images webcams, le son micro, les profiles.

Un réglage sur le serveur de chat permet de limiter la bande passante utilisée pour la 2ème connection.

Connection Download Upload Réglage max upload
modem 56K

32 Kbits/s

32 Kbits/s

8 à 16 Kbits/s

ADSL

256 Kbits/s

128 Kbits/s

48 à 120 Kbits/s

ADSL

512 Kbits/s

128 Kbits/s

48 à 120 Kbits/s

ADSL

1024 Kbits/s

128 Kbits/s

48 à 120 Kbits/s

ADSL

4096 Kbits/s

128 Kbits/s

48 à 120 Kbits/s

SDSL

1024 Kbits/s

1024 Kbits/s

792 Kbits/s


Par défaut, le réglage est positionné sur 120 Kbits/sec ce qui convient à une connection ADSL 512/128 Kbits/sec.

Une connection ADSL download=512 Kbits/sec et upload=128 Kbits/sec permet d'envoyer vers les autres chatteurs 128 Kbits par seconde; un réglage de 120 Kbits/sec laisse une petite marge pour envoyer du texte et éviter les engorgements.

Si vous avez la chance de disposer d'une connection professionnelle SDSL (symmétric digital subscriber line), vous pouvez régler sans problème à 792 Kbits/sec.

Remarque: la vitesse d'une connection ADSL est asymétrique, ce qui signifie que la vitesse de réception (1024 Kbits/sec) et d'envoi (128 Kbits/sec) sont différentes. Malheureusement, un serveur de chat a surtout besoin d'une vitesse d'envoi rapide afin d'envoyer le texte et les images à tous les chatteurs en même temps. Il ne sert donc à rien d'augmenter la vitesse de réception (1024 ou 4096 Kbits/sec) si la vitesse d'envoi reste limitée à 128 Kbits/sec.
D'habitude, les serveurs sont hébergés sur des connections SDSL (symmétric) où la vitesse de réception est égale à la vitesse d'envoi. Une telle connection est cependant inabordable financièrement pour un particulier.


J. Style

Ce chapitre explique comment donner un style unique à votre salle.


J.1 Placer des images bannière

Vous pouvez placer les 3 images bannières suivantes :


Voici comment faire :


NricôneFonction
0 Tasse
1 Toc OR
2 Toc MARRON
3   Ange (âge <= 10 ans)
4   Homme avec photo
5   Homme sans photo
6   Femme avec photo
7   Femme sans photo
8   Couple avec photo
9   Couple sans photo
10 bouton: Micro
11 bouton: Haut-Parleur
12 bouton: Sons (note de musique)
13 bouton: Webcam
14 bouton: Profil
15 bouton: Téléphone
16   icône: Téléphone RING
17 bouton: blocage PV
18   icône Bot
19 bouton: ignorer
20 bouton: bulle
21 bouton: font
22 bouton: soleil (réglage cam)
23 bouton: Group
24 bouton: Emoticônes
25 bouton: Exit
26 bouton: Suivre (v)
27 bouton: prendre son Toc OR (pour un proprio)
28 bouton: prendre son Toc marron (pour un animateur)
29 bouton: donner un Toc marron à quelqu'un

J.2 Changer les émoticons par défaut

Les émoticons du tableau de droite peuvent être changés.

Exemple:

Pour changer la tasse en wc, le toc MARRON en marteau, et le toc OR en une icône faucille que vous avez dessinée vous-même (voir chapitre 11. Ajouter ses propres icônes), vous devez modifier le fichier chatserv.ini dans le répertoire du serveur du chat comme suit :

# chatserv.ini

[settings]
icon_0 = $vc        ; tasse en wc
icon_1 = {faucil}   ; toc OR en faucille
icon_2 = (ma)       ; toc marron en marteau


[icons]
faucil = ma_faucille.jpg     ; 21 x 21

Attention: si vous utilisez des emoticons contenant les caractères # ou ; vous devez les doubler, c'est-à-dire ## et ;;

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.




J.3. Changement des couleurs par défaut :


Les couleurs par défaut suivantes peuvent être changées :

ParamètreValeurs Valeur par défautFonction
border-colorrouge,vert,bleu192,192,192 couleur de la barre de déplacement du texte et des lignes de séparation
cam-colorrouge,vert,bleu255,255,255 couleur de la surface où s'affichent les webcams (en haut de la fenêtre)
title-colorrouge,vert,bleu255,255,255 couleur de fond du titre de la salle (la ligne entre les webcams et le texte écrit)
text-colorrouge,vert,bleu255,255,255 couleur de fond du texte écrit du chat
list-colorrouge,vert,bleu255,255,255 couleur de fond de la liste des chatteurs à droite
menu-colorrouge,vert,bleu255,255,255 couleur de fond du menu en bas à droite
cam-txt-colorrouge,vert,bleu0,0,0 couleur des pseudos sous les cams
title-txt-colorrouge,vert,bleu64,64,64 couleur du titre de salle, en salle
text-userid-colorrouge,vert,bleu0,0,0 couleur des pseudos dans le texte
text-away-colorrouge,vert,bleu128,128,128 couleur des messages du serveur de chat
list-userid-colorrouge,vert,bleu0,0,0 couleur des pseudos dans la liste à droite
list-away-colorrouge,vert,bleu128,128,128 couleur des pseudos en tasse dans la liste à droite
list-selected-colorrouge,vert,bleu255,255,255 couleur des pseudos sélectés dans la liste à droite
list-selback-colorrouge,vert,bleu128,0,0 couleur de fond des pseudos sélectés dans la liste à droite
bulle-colorrouge,vert,bleu?,?,? forcer la couleur de texte d'une phrase écrite avec

Pour chaque couleur, spécifiez les quantités de rouge, vert et bleu de la couleur, entre 0 et 255. Vous pouvez trouver cette information dans le logiciel Paint (ça se trouve dans les accessoires Windows), menu Couleurs Personalisées.

Exemple:

# chatserv.ini

[settings]
border-color = 160,160,192
menu-color   = 255,255,128

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.4. placer un cadre avec une image de fond autour du texte


ParamètreValeurs Fonction
border-top 10%
ou
20p
taille du bord supérieur du cadre (de 0 à 40%, ou de 0 à 1024 points)
border-bottom10%
ou
20p
taille du bord inférieur du cadre (de 0 à 40%, ou de 0 à 1024 points)
border-left 10%
ou
20p
taille du bord gauche du cadre (de 0 à 40%, ou de 0 à 1024 points)
border-right 10%
ou
20p
taille du bord droit du cadre (de 0 à 40%, ou de 0 à 1024 points)

ParamètreValeurs Fonction
border-image-1 {image1}     zone:12346789     horizontal-align:left     vertical-align:topimage d'un groupe de zones

Zone:
123
4Texte Chat6
789

OptionValeurs
horizontal-alignleft=aligné à gauche, right=aligné à droite, center=centré, stretch=étiré
vertical-aligntop=aligné en haut, bottom=aligné en bas, center=centré, stretch=étiré


Exemple 1:


# chatserv.ini

[settings]
border-top     = 40p  ; bord en haut de 40 pixels
border-bottom  = 17p  ; bord en bas de 17 pixels
border-left    = 12%  ; bord gauche de 12%
border-right   = 5%   ; bord droit de 5%

; image 1 sur parties 1, 2, 3, 4 et 6  (pas 7, 8 et 9) alignées à gauche et en haut
border-image-1 = {decor1}  zone:12346  horizontal-align:left  vertical-align:top

[icons]
decor1 = mon_image.jpg


Exemple 2:


# chatserv.ini

[settings]
border-top     = 40p
border-bottom  = 17p
border-left    = 12%
border-right   = 5%
border-image-1 = {decor1}  zone:123  horizontal-align:center  vertical-align:top
border-image-2 = {decor2}  zone:4    horizontal-align:left    vertical-align:top
border-image-3 = {decor3}  zone:6    horizontal-align:left    vertical-align:top
border-image-4 = {decor4}  zone:7    horizontal-align:left    vertical-align:top
border-image-5 = {decor5}  zone:9    horizontal-align:left    vertical-align:top

[icons]
decor1 = mon_image1.jpg
decor2 = mon_image2.jpg
decor3 = mon_image3.jpg
decor4 = mon_image4.jpg
decor5 = mon_image5.jpg

Exemple 3:


# chatserv.ini

[settings]
border-top     = 20p
border-bottom  = 20p
border-left    = 20p
border-right   = 20p
border-image-1 = {decor1}  zone:12346789  horizontal-align:stretch  vertical-align:stretch

[icons]
decor1 = mon_image1.jpg

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.


J.5. désactiver les pseudos images

Pour désactiver les pseudos images des chatteurs et les faire apparaitre sous leur nom pseudo simple (en gris), utilisez l'option :

# chatserv.ini

[settings]
pseudo-icon = no

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.6. geler les pseudos animés ou les images gif animées

Pour geler tous les pseudos animés mais autoriser quand même les images gif animées en salle, utilisez l'option :

# chatserv.ini

[settings]
animated-gifs = after

Pour geler tous les pseudos animés et geler toutes les images gif animées, utilisez l'option :

# chatserv.ini

[settings]
animated-gifs = no

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.7. changer les messages systèmes du serveur

Pour modifier les messages système du serveur, ajouter les options suivantes dans chatserv.ini :

[system-message]
0 = s'est joint à la conversation.
1 = s'est jointe à la conversation.
2 = a quitté la conversation.
3 = a quitté la conversation.
4 = a été déconnecté.
5 = a été déconnectée.
6 = est parti.
7 = est partie.
8 = est revenu.
9 = est revenue.
10 = prend son toc.
11 = prend son toc.
12 = dépose son toc.
13 = dépose son toc.
14 = parle au (mic).
15 = parle au (mic).
16 (inutilisé)
17 = Hôte
18 = exclu
19 = :
20 = a été téléporté.
21 = a été téléportée.
Pour supprimer l'un des messages (0 à 15, et 20 à 21 uniquement), il faut indiquer un texte vide, par exemple:
[system-message]
0 =
Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.8. créer une salle sans webcams

Pour créer une salle sans webcams, utilisez l'option :

# chatserv.ini

[settings]
cams = no ; fait disparaitre les boutons webcam et soleil du menu

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.9. cacher les compteurs sous les webcams

Pour cacher les compteurs sous les webcams, utilisez l'option :

# chatserv.ini

[settings]
webcam-counters = HIDE     ; SHOW(montrer) ou HIDE(cacher) les compteurs sous les cams

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



J.10. cacher la barre noire entre les icones webcam et soleil

Pour cacher la barre noire entre les icones webcam et soleil, utilisez l'option :

# chatserv.ini

[settings]
webcam_sun_bar = HIDE     ; SHOW(montrer) ou HIDE(cacher) la barre entre les icones webcam et soleil

Après avoir modifié le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat pour le recharger.



K. Gérer un groupe associé à la salle de chat

Le bouton permet de surfer sur un site internet associé à la salle.

Description du groupe

Le groupe contient un forum de messages, une page vers le chat, et une page Tools permettant de gérer les pages du menu.

Le forum permet à tout le monde de poster des messages; il faut cependant être en salle de chat afin que le forum connaisse le pseudo de celui qui poste le message. En revanche, il n'est pas nécessaire d'être en salle de chat pour simplement lire le forum, à condition d'avoir ouvert le chat au monde extérieur avec l'option world-access = yes (voir plus loin).

Si vous ne savez pas entrer dans le groupe, vérifiez que :
1) vous acceptez les cookies (le forum utilise un cookie) et
2) que dans Internet Explorer les options de sécurité "Soumettre les données de formulaire non codées" et "Active Scripting" sont à "Activer".
Cliquez ici pour configurer votre Internet Explorer correctement.

Dans le menu Messages, les animateurs ayant un toc peuvent ajouter/renommer/supprimer des panneaux de messages ou effacer des messages et des discussions. L'auteur d'un message peut l'effacer. L'auteur d'une discussion peut effacer la discussion si celle-ci ne contient qu'un seul message. Les anciens messages peuvent être retrouvés à l'aide d'un moteur de recherche intégré.

Dans le menu Tools, les animateurs ayant un toc peuvent ajouter/modifier/renommer/masquer/effacer une page ou changer l'ordre des pages dans le menu (le groupe démarre toujours en affichant la première page tout en haut du menu). Le menu Tools permet aussi d'ajouter un séparateur afin de regrouper plusieurs entrées du menu. Renommer un séparateur crée un titre dans le menu.

Finalement, le propriétaire ayant le serveur peut également placer des fichiers HTML (ou tout un site web) dans le sous-répertoire www/ du serveur et référencer ces pages dans le menu avec l'option Tools/"Ajouter Lien". Par exemple s'il a créé une page home.html dans www/ il doit spécifier home.html comme nom du lien.

Par défaut, l'accès au groupe n'est donné qu'aux chatteurs qui se trouvent en salle, cela vous permet de garder un contrôle sur les personnes qui accèdent au site, et aussi d'éviter qu'une multitude de gens créent des liens vers votre site, ce qui ferait sérieusement "ramer" le chat.

La vitesse d'accès des pages web se règle sur le même bouton que pour les webcams, donc si trop de monde consulte le site web et fait ramer les gens en salle, diminuez le réglage.

Tout le groupe (messages, images, etc ...) est stocké dans le fichier group.db dans le répertoire du serveur. Afin d'éviter une perte de donnée importante en cas d'effacement accidentel ou intentionel par un animateur (hé oui ça arrive), ce fichier group.db est copié une fois par jour (de lundi à dimanche) vers les fichiers de backup (group.db.day_1.backup à group.db.day_7.backup). Le propriétaire de salle peut donc revenir jusqu'à une semaine en arrière en recopiant manuellement le fichier de backup choisi vers group.db.

Attention: afin d'éviter une perte de donnée importante en cas de crash disque dur, il est recommandé de prendre régulièrement une copie du fichier group.db ou bien des fichiers de backup; pour prendre une copie de group.db il faut d'abord arrêter le serveur de chat car il verrouille le fichier.
Vos pages HTML qui sont dans www ne font pas partie du groupe et doivent être sauvegardées aussi; ces pages ne sont changeables que par le propriétaire du PC. Le fichier group.db peut aussi être transféré d'un PC à l'autre lors d'un transfert de la salle d'un animateur à un autre.

Paramètres du groupe

Les paramètres optionnels suivants dans la section [group] de chatserv.ini permettent éventuellement de changer certaines options :

ParamètreValeurs Valeur par défautFonction
server on, off on on=server internet actif, off=serveur internet inactif
access chat,group,both chat chat=normal
group=désactivation de la salle de chat, ajout d'un bouton à gauche de la liste des salles -> la salle de chat n'existe plus : en cliquant sur une ligne de la liste des salles, on rentre directement sur le groupe.
both = ajout d'un bouton à droite de la liste des salles -> salle et groupe combinés : si on clique sur la ligne, on rentre en salle de chat, mais si on clique sur le bouton, on rentre directement sur le groupe sans passer en salle.
fullscreen yes, no no no=normal, yes=démarrage internet explorer en plein écran
database nom de fichiergroup.dbnom du fichier database du groupe
database-backup-dir Nom de dossier nom du dossier où la database du groupe est sauvegardée chaque jour, doit se terminer par \
Exemple: f:\chat_backup\
www répertoirec:\chatserv\www\chemin vers le répertoire www
show-titleyes,no yes yes=afficher le titre, no=pas afficher
banner nom de fichier image (.gif,..) afficher l'image (max 900 x 21) comme titre du groupe
menu-width0 à 2000120largeur du menu (en points) (0 = supprimer le menu)
menu-text-color 000000 à FFFFFF666699couleur d'écriture du menu
menu-border-color000000 à FFFFFFECF1F6couleur de fond du menu
menu-hover-color000000 à FFFFFFCC6600couleur quand on passe la souris sur le menu
menu-title-color000000 à FFFFFFF17827couleur des séparateurs renommés du menu
world-accessyes, no no yes = groupe consultable en dehors du chat,
no = groupe accessible uniquement par le chat.
remarque1: un groupe privé ou avec mot de passe a toujours la valeur 'no'.
remarque2: pour modifier le groupe ou écrire sur le forum, il faut toujours passer par le chat.
remarque3: le groupe est TOUJOURS accessible depuis le PC où tourne le serveur (ip 127.0.0.1)
max-discussions10 à 10028nombre de discussions affichés par page.
max-messages3 à 10010nombre de messages (d'une discussion) affichés par page.
message-background-color000000 à FFFFFFFFFFFFcouleur de fond par défaut pour les nouveaux messages
message-background-image0000000000.jpg image de fond par défaut pour les nouveaux messages.
Pour spécifier une image, cliquez Propriétés (bouton droit souris) d'une image se trouvant déjà sur le groupe, et recopiez son nom (qui doit avoir 10 chiffres et l'extension .jpg) dans le paramètre.


Exemples:

pour changer la couleur du menu en blanc :

[group]
menu-border = FFFFFF# bord menu blanc


Si vous modifiez le fichier chatserv.ini, cliquez sur le bouton Reload du serveur de chat afin que votre changement soit pris en compte.


Il est possible de remplacer les fichiers par défaut group.html et/ou group.css par vos propres fichiers. Il suffit pour cela de déposer ces fichiers dans le sous-répertoire www du serveur. N'oubliez cependant pas d'effacer le cache d'Internet Explorer sinon les anciennes copies seront conservées.

Si vous avez créé votre propre fichier group.html, vous pouvez utiliser les variables suivantes dans le code html :

  $START-PAGE$ est remplacé par un lien vers la 1ère page du menu,
  $MENU-WIDTH$ est remplacé par la largeur du menu.



Accès depuis l'extérieur du chat

Par défaut, le site du groupe n'est accessible qu'à partir de la salle de chat ou du PC local. Pour permettre une consultation depuis l'extérieur, mettre l'option world-access à yes.
L'URL du groupe est indiquée dans la barre d'adresse d'internet explorer.

Exemple: http://62.197.65.220:12005/group.html

Cette URL peut être simplifiée de plusieurs façons :
1) le suffixe /group.html est optionnel
2) le suffixe port (ici :12005) peut être enlevé à condition de changer l'installation de votre serveur pour qu'il utilise le port 80 (c'est le numéro de port standard réservé pour le protocole HTTP), voir à cet effet le chapitre H. "comment créer plusieurs salles".

donc il reste : http://62.197.65.220

L'IP change normalement toutes les 24 heures; afin de garder une URL qui ne change pas, vous devez réserver un nom DNS chez un fournisseur, par exemple : http://www.no-ip.com/ qui vous propose cela gratuitement, mais attention cela est réservé aux spécialistes; cela implique notamment d'installer un logiciel sur le PC qui prévient le fournisseur chaque fois que votre PC change d'IP pour que le nom DNS soit mis à jour.

bref, au final, votre site peut avoir un nom tel que : http://newchatrooms.zapto.org


Ajouter un compteur de visites sur le groupe

Pour ajouter un compteur du nombre de visiteurs, créez une page (Tools/Ajouter Page), cliquez sur le bouton "C" de la barre d'outils, et choisissez :

numéro du compteur(vous pouvez créer plusieurs compteurs)
Couleur d'écriturecouleur des chiffres
Couleur Bordcouleur du fond
nb chiffres 
hauteur(en points)



L. Style de salle "3D"

Pour créer une salle 3D, vous devez créer un fichier WORLD.TXT décrivant tous les objets de votre monde. Ce fichier doit être placé dans le répertoire du serveur de chat. Si vous changez votre fichier, vous devez arrêter et redémarrer le serveur de chat.

Voici un exemple de fichier :

; world.txt

; sol
.1    -32768  32767   0
.2     32767  32767   0
.3     32767 -32768   0
.4    -32768 -32768   0
/ 1 2 3 4  {sable1}

; mur
.5      -300   -400   512
.6       200   -400   512
.7       200   -400     0
.8      -300   -400     0
/ 5 6 7 8 {welcom} bt

L'exemple ci-dessus décrit 2 choses :

. des coordonnées en 3 dimensions (x,y,z)
. des polygones habillés par une texture d'image


* * *


Pour créer votre fichier WORLD.TXT, vous avez 2 solutions :

a) utiliser un logiciel d'édition 3D (voir au chapitre M ci-dessous).

b) créer votre fichier world.txt à la main. Pour cela, prenez une feuille de papier et commencez par dessiner une carte vue d'en haut de votre monde (comme une photo satellite).

Dessinez des points sur la carte, numérotez-les (en commençant à 1), puis reliez-les par des lignes.

Exemple: un sol carré qui couvre toute la carte.
       ^
       |
       |     1                  2
       |     .------------------.
       |     |                  |
+32767 |     |                  |
       |     |                  |
       |     |                  |
   à   |     |                  |
       |     |                  |
       |     4                  3
-32768 |     .------------------.
       |
  y:   |
       .-------------------------->
           x :   -32768   à   +32767

Votre carte a des coordonnées qui vont de -32768 à +32767.
Les 4 points ci-dessus ont donc les (x,y) suivants :
   point 1 :  (-32768, +32767)
   point 2 :  (+32767, +32767)
   point 3 :  (+32767, -32768)
   point 4 :  (-32768, -32768)
La 3ème coordonnée (z) indique l'altitude à laquelle se trouve le point.
Sur le chat, le sol se trouve à l'altitude 0.

Pour définir 4 points au niveau du sol, nous aurons donc :

; sol
.1    -32768  32767   0
.2     32767  32767   0
.3     32767 -32768   0
.4    -32768 -32768   0

Nous devons maintenant relier les 4 points et choisir une texture d'image pour la colorier; cela se fait par la commande suivante :
/ 1 2 3 4  {sable1}
La texture doit être définie dans chatserv.ini comme pour une icone image.

remarque
l'ordre des points (1,2,3,4) est important !
En effet, les points doivent être énumérés dans l'ordre des aiguilles d'une horloge pour que la texture soit visible à l'avant.
Si vous voulez définir un plafond de manière analogue au sol mais à une hauteur Z de 512, vous devez définir les points dans l'ordre inverse (12,11,10,9), sinon votre plafond restera invisible et ne sera visible que pour les oiseaux !

Exemple:
; plafond
.9    -32768  32767   512
.10    32767  32767   512
.11    32767 -32768   512
.12   -32768 -32768   512

/ 12 11 10 9  {plafon}
Une autre solution pour ne pas être embêté avec l'ordre des points (si toutefois vous souhaitez utiliser la même texture des 2 côtés) c'est de mettre l'option b (both) qui a l'effet de rendre la texture visible des 2 côtés.

Exemple:
/ 12 11 10 9  {plafon}  b
Vous pouvez définir des sols et des plafonds; ils sont toujours plats, donc tous leurs points ont le même z.

Vous pouvez aussi définir des murs verticaux de manière analogue :

Exemple:
; mur
.5      -300   -400   512
.6       200   -400   512
.7       200   -400     0
.8      -300   -400     0

/ 5 6 7 8 {welcom} bt
Pour un mur classique, on voit 2 points avec un Z de 0 (le bas du mur) et 2 autre points avec un Z de 512 (le haut du mur).
Ici, le mur va de (-300,-400) jusque (200,-400); on remarque que le Y ne change pas, c'est donc un mur qui va du nord au sud sur la carte.


* * *

Voici la liste des limitations du moteur 3D et quelques explications complémentaires :


Limitations des Points

  1. les coordonnées (X,Y,Z) varient de -32768 à +32767.

  2. la coordonnée (Z) indique l'altitude (le sol est à 0, l'oeil du chatteur à 141, et un acteur (chatteur) peut passer dans un couloir au plafond à 282).

Limitations des Polygones

  1. Dans la définition d'un polygone tel que :
             / 1 2 3 4  {sable1}
    
    le nombre de points doit être compris entre 3 (triangle) et 8 (octogone);

    exemple:
       / 1 2 3  {triang}
    

  2. le polygone formé en reliant les points dans l'ordre doit être :
    • plat (tous les points doivent se situer sur un même plan),
    • et convexe (aucun angle interne ne doit dépasser 180 degrés)
    si ces règles ne sont pas respectées, le résultat obtenu aura un défaut ! (à noter qu'un triangle est, par nature, toujours plat et convexe)

  3. le polygone doit être horizontal (sol, plafond) ou vertical (mur);
    d'autres formes (par exemple un toit penché) sont possibles, elles ralentissent cependant le chat si elles ont une surface importante.

  4. les points d'un polygone doivent être énumérés dans l'ordre des aiguilles d'une horloge pour que la texture soit visible à l'avant.

Limitations des Textures

  1. les dimensions maximales d'une image texture sont de 2048 x 2048, la taille de fichier image (jpg, gif, bmp, pcx, png) définie dans chatserv.ini est limitée à 127K. Les GIFs animées et les PNG semi-transparentes sont supportés.

  2. Les options suivantes existent :
    exemple:
            / 1 2 3 4  {sable1}  btns
    
    Option b (BOTH) : la texture est visible des 2 côtés (devant et derrière), peu importe l'ordre des points.
    Option t (TRANSPARENT) : la couleur noire de la texture est utilisée comme couleur transparente.
    Option n (NO COLLISION) : les personnages peuvent traverser le polygone.
    Option s (STRETCH) : la texture est étirée sur toute la surface du polygone.
    Option d (DOUBLE) : la texture est appliquée en double-précision (les points sont plus fins). Ne fonctionne pas avec STRETCH.

    Options pour objets 3D seulement:

    Option M (MERGE) : fusionne plusieurs textures sur un objet presque plat (pas compatible avec option STRETCH). Il faut spécifier l'option M sur toutes les textures que vous voulez fusionner. La première texture avec M est la texture de base sur laquelle la texture sera appliquée normalement. Sur les textures suivantes avec M et de même nom de texture, les textures seront appliquées avec l'orientation et le décalage de la texture de base, ce qui peut étirer la texture en cas de pente importante.

    Option V (VELOCITY) : permet de faire défiler la texture sur l'objet à une certaine vitesse avec la commande object_texture_velocity.

  3. Si vous n'avez pas utilisé l'option 's' et que la surface du polygone est plus grande que la texture, alors la texture sera répétée plusieurs fois pour couvrir l'entiereté de la surface du polygone; mais attention, le moteur 3D impose dans ce cas que les dimensions de la texture soient des puissances de 2 (par exemple 128 x 256) sinon le moteur 3D rajoutera un fond blanc (ou transparent si option t) pour remplir le trou.

    cela veut dire que seules les dimensions 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024 ou 2048 sont possibles.


  4. plusieurs textures (jusqu'à 3) peuvent être spécifiées, elles alternent alors irrégulièrement avec une vitesse de 0.5 sec.
    exemple:
             / 1 2 3 4  {sable1} {sable2} {sable3}  bt
    


Comment changer son personnage

Un personnage entrant en salle apparait en (0,0,0) avec une direction 0 (regardant au nord). L'oeil est à (0,0,141).

Par défaut, vous vous promenez dans le monde 3D avec une boîte munie à l'avant d'un écran webcam.
Chaque chatteur peut également créer son propre personnage 3D composé de plusieurs polygones en créant un fichier actor.txt dans le répertoire du chat; Si vous changez le fichier, vous devez arrêter et redémarrer le chat.

Exemple:
; actor.txt

.1      159      0    119
.2     -160      0    119
.3     -160      0   -141
.4      159      0   -141
.5        0   -106   -141
.6        0   -106    -13

/  1 2 3 4  {webcam} {soleil} {toquer} b
/  5 3 2 6  {floor1} b
/  4 5 6 1  {floor1} b

Votre personnage dispose d'un espace (X,Y) de -160 à +160 et (Z) de -141 à +141 que vous pouvez remplir avec des polygones; dans l'exemple ci-dessus, on a définit 6 points et 3 polygones; l'espace(X,Y,Z) de l'actor n'est pas limité pour le bot.

La texture {webcam} est spéciale : c'est une texture qui ne doit pas être définie dans chat.ini car elle est créée dynamiquement et remplie avec l'image webcam du chatteur; l'option t (transparent) rend toute couleur noire transparente.

Dans le 1er polygone, on a spécifié 3 textures : la 1ère {webcam} est celle qui s'affiche par défaut, la 2ème {soleil} est celle qui s'affiche quand le chatteur se met en tasse, la 3ème {toquer} est celle qui s'affiche quand le chatteur prend son toc;

Le propriétaire de salle peut aussi modifier le personnage par défaut en plaçant un fichier actor.txt dans le répertoire du serveur. Il peut également placer des fichiers différents par genre de chatteur : actor.m.txt, actor.f.txt et actor.c.txt

Si tous les deux (chat client et serveur) ont placé un fichier actor, alors le chat a priorité sur le serveur.

La fonction script
b = actor_customized (session_key);
permet de tester si un chatteur a changé son actor. Cette fonction renvoie 1 si le chatteur a changé son actor, ou 0 si c'est un actor par défaut ou choisi par le serveur. Cela permet au bot de ne pas attacher d'objets aux actors customisés par le client. Une petite note technique : la fonction actor_customized donne une erreur si on l'appelle en réponse à une action 128, il faut utiliser l'action 228 (arrivée en salle d'un actor) à la place.


Comment déplacer son personnage (bot) à l'aide d'un script

Les commandes suivantes ont été ajoutées au langage script pour supporter le monde 3D :

  1. Les fonctions suivantes :

        bot_x(), bot_y() et bot_z()

    permettent de connaitre la position x, y et z de votre bot.

    Exemple:
         if (bot_x() > 30000)    // on arrive en fin de terrain là !
    

  2. La fonction :

        bot_dir()

    permet de connaitre la direction de votre bot, de 0 à 359 :
       
    0 = nord (vers le haut de la carte)
    90 = est (vers la droite)
    180 = sud (vers le bas)
    270 = ouest (vers la gauche)

  3. les procédures :
       
    turn (dir); avec dir entre -360 et +360 permet de changer la direction de votre bot
    move (pas); avec pas entre -65535 et +65535 permet d'avancer ou reculer le bot
    lift (altitude); avec altitude entre -32768 .. +32767 permet de changer l'altitude du bot

    Ces procédure vous permettent de faire avancer le bot tout seul.

  4. les procédures :
       
    teleport (session_key, x, y, z, dir); avec dir entre -360 et +360 permet au bot de déplacer un joueur
    teleport (session_key, x, y, z, dir, port); port = port du serveur permet au bot de téléporter un joueur dans une autre salle sur le même PC ou routeur
    teleport (session_key, x, y, z, dir, port, ip$); ip$ = adresse ip ou nom DNS permet au bot de téléporter un joueur dans une autre salle
    set_gravity (session_key, gravity); avec gravity entre -255 et +255 (-10=s'envole, 0=flotte en l'air, 10=tombe normalement) permet au bot de modifier l'attraction du sol
    give_ammo (session_key, ammo); avec ammo entre -100 et +100 permet au bot de donner/enlever des munitions
    give_health (session_key, health); avec health entre -100 et +100 permet au bot de donner/enlever des points de vie

    Ces procédure permettent à un bot avec toc de faire bouger un joueur, de lui donner des munitions ou des points de vie.


    En outre, cliquer sur un actor génère une action 912 contenant dans line$ le session_key du chatter cliqué, en 10 chiffres.


  5. Vous pouvez créer une procédure event_3D qui sera appelée chaque fois qu'un chatteur change de position; cela permet par exemple au bot de suivre un chatteur, de se placer devant lui, éventuellement de le toquer s'il se positionne là où il ne peut pas;

    Exemple:
         proc event_3D (session_key, x, y, z, dir)
         {
            if (x > 16000)
              kick (session_key, "interdit d'aller là !");
         }
    

  6. finalement, voici un exemple de script.txt qui fait avancer le personnage:
    var dir;
    
    proc timer ()
    {
      if (dir == 0)
        turn (0);
      else
        turn (180);
    
      move (10);
    
      if (bot_y() > 30000)
        dir = 1;
      else if (bot_y() < -30000)
        dir = 0;
    
      set_timer (1);
    }
    
    


Comment créer des objets 3D

Le bot peut créer des objets 3D que vous pouvez faire bouger et réagir quand un chatteur clique dessus. Un chatteur peut se placer sur un objet : si l'objet se déplace, le chatteur se déplacera avec. Un objet peut servir d'obstacle (mur, grille, cage) car le chatteur ne peut pas passer à travers (sauf si option n).

Pour créer un objet 3D, vous devez placer dans le répertoire du bot un fichier OBJECTS.TXT qui contiendra la définition de tous vos objets. Ici on a créé un oiseau et une porte :


# OBJECTS.TXT

[oiseau]              ; plan horizontal
.1 -141 307 0
.2  141 307 0
.3  141   0 0
.4 -141   0 0
/ 1 2 3 4 {bird01} btn

[porte1]              ; plan vertical
.1 -276 0 512
.2  276 0 512
.3  276 0   0
.4 -276 0   0
/ 1 2 3 4 {wood01} b

Pour permettre une rotation correcte, vos objets doivent être centrés en (0,0,0) et orientés au nord.
Les coordonnées (X,Y,Z) sont limitées entre -32768 et +32767.


Pour faire apparaitre et bouger vos objets, vous devez écrire un script tel que celui-ci et le placer dans le répertoire du bot :

// script.txt : exemple script pour objet 3D oiseau

proc timer ()
{
 object_shape (1, "oiseau");
 object_move (1, 0,     0, 12000);                     // position initiale
 object_move (1, 0, 10000, 12000, 0, 0, 0, 10000, 1);  // position finale
}

Les commandes script suivantes sont définies pour les objets 3D :

object_shape (nr, "oiseau");
object_shape (nr, "oiseau", "OBJECTS.TXT");
  • choisit la forme "oiseau" (voir OBJECTS.TXT) pour l'objet numéro nr.
  • nr indique le numéro d'objet vous pouvez choisir entre 0 et 65535, vous pouvez donc créer jusqu'à 65536 objets (par script et par bot).
  • un objet peut changer de forme autant de fois que souhaité.
  • si on ne spécifie pas de fichier, c'est OBJECTS.TXT par défaut.
object_move (nr, x, y[, z[, direction[, hauteur[, transversal [, durée[, répéter]]]]]]);
  • positionne un objet en coordonnée (x,y,z) avec une orientation (direction, hauteur, transversal).
  • les crochets indiquent que la plupart des paramètres sont optionnels, donc par exemple pour modifier uniquement le (X,Y) de l'objet numéro 1 vous pouvez écrire simplement: object_move (1, 100, 200);
  • direction : direction (angle 0 à 360, 0 = au nord).
    hauteur : lever le nez (angle 0 à 360, 0 = normal).
    transversal : pencher la tête (angle 0 à 360, 0 = normal).
  • durée : temps que prendra le mouvement de l'objet vers sa nouvelle position, en 1/1000 de secondes (0 = immédiat, 1000 = 1 seconde, 600000 = 600 secondes).
  • répéter : (0 = ne pas répéter le mouvement, 1 = quand l'objet est arrivé à sa nouvelle position, le faire revenir au début et répéter le mouvement).
  • Des valeurs -18000 à +18000 sont autorisées pour direction, hauteur et transversal afin de pouvoir faire plusieurs "tours" de 360 degrés au cours du déplacement de l'objet.
object_face_actor (nr, option);
  • oriente automatiquement l'objet afin qu'il s'affiche toujours face au chatteur !
  • C'est très utile si vous avez un objet 'plat' du genre 'attaquant doom' ou 'boule de feu' qui doivent toujours faire face au joueur pour ne pas qu'on voie qu'ils n'ont pas d'épaisseur.
  • Chaque chatteur verra donc l'objet dans une orientation différente.
  • option
    1 = orienter toujours l'angle direction face au chatteur,
    2 = orienter toujours l'angle direction et l'angle hauteur face au chatteur,
    0 = désactiver l'orientation automatique.
object_face_to (nr, x, y [, z]);
  • oriente l'objet pour qu'il 'regarde' le point (x,y,z).
  • Cette manière d'orienter l'objet est plus simple que de calculer les angles dans la commande object_move.
  • Cette commande désactive aussi l'orientation automatique (voir object_face_actor).
  • Si on ne spécifie que les coordonnées x et y, uniquement l'angle 'direction' est changé, si on spécifie aussi la coordonnée z l'angle hauteur est modifié aussi.
object_clickable (nr, option);
  • rend l'objet 'cliquable', c'est-à-dire que si un chatteur clique dessus avec la souris un évènement (action 915) sera envoyée au script qui a créé l'objet.
  • Cette action contiendra dans line$ le numéro de l'objet, en 1 à 6 chiffres.
  • option :
    1 = rend l'objet cliquable,
    0 = ne rend plus l'objet cliquable
object_soap (nr, gliss);
  • rend l'objet glissant, c'est-à-dire que s'il est penché et qu'un chatteur est dessus, le chatteur va glisser et risque de tomber de l'objet.
  • gliss : 0 à 255 :
    0 = pas de glisse (le chatteur colle à l'objet),
    10 = glisse normale,
    255 = forte glisse.
  • la force de glisse dépend aussi de la gravité (voir set_gravity)
object_scale (nr, scale_x, scale_y, scale_z);
  • agrandit ou rétrécit l'objet.
  • scale : entre 1 et 65536 :
    128 = taille moitié,
    256 = taille normale,
    512 = taille double.
object_texture_velocity (nr, velocity_u, velocity_v);
  • permet de faire défiler les textures ayant l'option V sur l'objet à une certaine vitesse
  • velocity_u, velocity_v : entre -2047 et +2047 en pixels par seconde
object_skybox (nr, on_off);
  • crée un objet de type skybox dont la position est automatiquement centrée sur les coordonnées de chaque actor, ce qui permet de créer un objet cube avec un décor à distance infinie.
  • on_off : 0 = objet normal, 1 = objet skybox
object_attach_actor (nr, session_key, mode);
  • permet d'attacher un objet à un actor. L'objet va alors suivre tous les mouvements de l'actor.
  • 'mode' peut avoir les valeurs suivantes :
    0 = détacher (redevient un objet normal)
    1 = attacher à l'écran (seul le chatteur ayant la session_key voit l'objet)
    2 = attacher à l'actor (tous les chatteurs voyent l'objet sauf celui qui a la session_key)
    3 = 1 & 2 combinés.
object_attach_object (nr_objet_enfant, nr_objet_parent);
  • permet d'attacher un objet (enfant) à un autre objet (parent). L'objet (enfant) va alors suivre tous les mouvements de l'objet (parent).
  • Cela permet de réaliser des objets en plusieurs parties qui peuvent chacune effectuer des déplacements, rotations et scaling tout en restant attaché (tronc, bras, main, doigt).
  • attention: le numéro de l'objet enfant doit être plus grand que le numéro de l'objet parent.
object_delete (nr);
  • efface l'objet (il va donc disparaitre).
object_sound (nr, "{son001}" [,distance]);
object_sound (nr, "son.wav" [,distance]);
object_sound (nr, "son.wav");
  • permet à l'objet nr d'émettre un son. Le paramètre 'distance' permet de spécifier une distance en points. Les chatteurs éloignés de plus de 'distance' points de l'objet n'entendront pas le son.


Comment définir un arrière-plan

Il y a 3 manières de définir un arrière-plan au monde 3D :
  1. le paramètre suivant de chatserv.ini permet de choisir une couleur de fond :
       [3D]
       sky_color = 102,190,253
    
  2. la commande script suivante permet de modifier la couleur de fond dynamiquement :
      set_sky_color (r,g,b);  // change la couleur du ciel en 3D
    
  3. Créer une skybox : une skybox est un grand cube entourant le monde 3D et qui permet de spécifier des images en décor de fond.

    • Créez un object 3D en forme de cube (-32768 à 32767 par côté),
    • multipliez sa taille par deux avec object_scale afin d'obtenir un grand cube de 131072 de côté,
    • centrez-le sur chaque actor avec la commande object_skybox pour que l'acteur reste toujours au centre du cube.

Autres Options

On peut figer les textures GIF animées dans votre chat client, par :
# chat.ini
[3D]
animated-gifs = no  ; geler les GIFs animés dans les textures 3D


M. Logiciel d'édition 3D

Pour créer votre fichier world.txt automatiquement :

1) cliquer ici pour télécharger l'éditeur 3D (version 23). Attention: cliquez sur Enregistrer et pas sur Exécuter ! Téléchargez le logiciel sur votre disque dur, ensuite copiez-le dans le répertoire du serveur de chat (normalement c:\chatserv) et enfin démarrez-le en cliquant dessus.

2) commencez par dessiner un sol Pour cela, cliquez sur "Texture" pour choisir une texture, ensuite cliquez sur "Mode" pour choisir le mode 'SOL', puis cliquez sur la carte pour dessiner un grand rectangle autour du signe violet et du triangle rouge (le triangle rouge indique votre position de départ). Si vous vous trompez, appuyez sur la touche Escape (Echap) pour annuler le dernier point cliqué. Pour fermer votre rectangle, recliquez sur le 1er point de départ. Votre rectangle devrait alors se colorer en bleu.

3) vous voyez un petit cercle bleu au centre de la carte. Si vous cliquez dessus, cela va sélectionner votre sol et afficher divers attributs changeables (hauteur du sol, texture, options T=Transparent, B=Both, N=No_Collision, S=Stretch). Un bouton 'Effacer' permet aussi d'effacer le sol.

4) pour dessiner des murs, choisissez une texture (bouton Texture), ensuite choisissez le mode 'MUR', cliquez ensuite sur la carte pour dessiner un ou plusieurs murs d'une pièce dans le sens des aiguilles d'une montre ! (en effet, chaque mur a 2 côtés et chaque côté a sa texture et sa hauteur). Pour commencer un nouveau mur, cliquez sur la touche Escape (Echap). Pour effacer un mur, cliquez sur son cercle vert pour le sélecter puis sur le bouton 'Effacer'. Vous pouvez aussi changer sa texture ou sa hauteur.

5) le mode PLAFOND sert à créer un plafond de la même manière que le sol. Pour les points du plafond, il est recommendé de prendre des points existants de mur ou de sol, car sinon les points resteront invisibles (pour les afficher, vous devrez changer les altitudes minimum et maximum sur l'indicateur en haut à gauche afin que le minimum soit égal à la hauteur du plafond).

6) le mode EDITION sert à déplacer des points ou changer des attributs sans rien créer de nouveau. Un message "Error: angle < 180°" apparait si vous créez un sol ou plafond comportant un angle supérieur à 180°, ce qui est interdit; déplacez alors le point pour faire disparaitre le message.

7) pour créer un 2ème étage, changez en haut à gauche les altitudes maximum à 1024 puis minimum à 512. Vous ne verrez alors que les objets compris entre ces 2 limites. De manière similaire, on peut créer un escalier.

8) cliquez et déplacer la souris sur la fenêtre en haut à droite pour naviguer dans votre nouveau monde; tout objet créé ou option changée va y apparaitre en direct. Si vous changez votre altitude minimum (indicateur en haut à gauche), votre personnage va aller à cette altitude.

9) cliquez sur la croix en haut à droite pour sortir de l'éditeur, ce qui va automatiquement sauver votre monde dans un fichier world.txt



N. Salles Irc

L'Irc (Internet Relay Chat) est un protocole de chat déjà assez ancien, mais encore utilisé par beaucoup de sites de chat.

Si vous possédez une salle de chat sur un serveur Irc, il est possible d'ouvrir une salle sur les Nouvelles Salles de Chat qui va jouer le rôle de passerelle et envoyer les chatteurs d'ici sur votre salle Irc. Evidemment, les fonctionnalités seront grandement réduites : pas de bannières, pas de couleur d'écriture, pas de profils, pas de webcam ni micro. On peut uniquement écrire et parler en privé.

De plus, vous devez vous attendre à avoir des problèmes techniques vu que le protocole Irc utilisé varie un peu d'un serveur à l'autre. Il est possible aussi qu'on vous bloque sur certains serveurs parce qu'il faut un mot de passe ou une option adulte. Nous ne vous proposons donc ceci qu'à titre expérimental.

Pour ouvrir une passerelle vers un serveur Irc, ajoutez ceci dans chatserv.ini :

[irc]
server      = www.coolsmile.net  ; nom du serveur Irc
channel     = ##ma-salle         ; nom de la salle (toujours mettre ## au début !)
port        = 6667               ; port du serveur Irc
nick_suffix = _s                 ; suffixe pseudo (optionnel)

Le nick_suffix est un suffixe qui sera rajouté à la fin des pseudos des chatteurs qui arrivent par la passerelle, cela vous permet de les distinguer des autres. Ce paramètre est optionnel.

Dans les salles Irc, il est d'usage quand on s'adresse à quelqu'un (par exemple Loulou), de commencer sa phrase par "Loulou>". Pour obtenir cet effet, il vous suffit de sélectionner le chatteur à qui vous voulez parler avant de taper votre phrase.

Pour faire un PV, vous devez enclencher le téléphone jaune sur le chatteur pendant que vous lui parlez : toutes les phrases que vous envoyez ne seront alors envoyées qu'à lui (ou elle). Méfiez-vous quand même parce que contrairement au chat ici, les PVs sont enregistrés et même parfois monitorés; vous risquez de vous faire jeter si vous faites de la publicité ou donnez votre msn.



O. Accès par Ftp

Il est possible d'accéder aux fichiers de votre serveur de chat à distance, à l'aide du protocole FTP (File Transfer Protocol).

Pour cela, rajouter les lignes suivantes dans chatserv.ini :


  # chatserv.ini

  [ftp]
  port = 21                       ; numéro de port pour l'accès ftp
  user = votre_nom_utilisateur
  pass = votre_mot_de_passe       ; au moins 8 caractères !

Utilisez un nom d'utilisateur et un mot de passe compliqué pour éviter le piratage de votre salle !

A l'aide d'un outil Ftp (installé en standard sur n'importe quel ordinateur), vous pouvez alors lire et écrire tous les fichiers qui se trouvent dans le répertoire du serveur de chat (mais pas ailleurs sur le PC).

Attention: pour que cela fonctionne, vous devez ouvrir le port 21 sur votre parefeu et routeur. De plus, sur le PC d'où vous appelez, un port arbitraire est ouvert par le protocole Ftp. Il est donc souvent nécessaire d'y ouvrir tous les ports (cherchez la documentation ftp sur internet pour plus de détails).


Pour voir comment installer un bot, cliquez ici

revenir à la page principale