====== Auth avec SuckerServ-v5 ====== Puisque l'authserver n'est plus inclut dans SuckerServ-v5, vous aller devoir installer suckerserv-v3 à coté de vos serveurs, ou utiliser MasterLua (​​nouveau serveur Master/Auth, non décrit ici): svn co http://suckerserv.googlecode.com/svn/branches/suckerserv-v3 cd suckerserv-v3 ===== Dépendences ===== ==== Avec MySQL (recommendé) ==== Si vous souhaitez utiliser une base de données MySQL, vous aurez besoin: * un serveur MySQL, avec une base de données dédiée et un utilisateur pour l'authserver. * l'en-tête MySQL-client (mysql.h), communément le packet //'' libmysqlclient-dev'' //. ==== Avec SQLite3 ==== Toutes les dépendances nécessaires sont livrés avec suckerserv. ==== Avec une base de données de texte ==== Pas de dépendances requises ===== Compiler et installer les binaire de l'authserver ===== ==== Compiler l'authserver ==== chmod +x compile.sh ./compile.sh ===== Configuration ===== ==== Authserver ==== === Avec SQLite3 === Modifiez le fichier conf/authserver.conf, et retirer le # au début de la ligne suivante: #use_sqlite_database "./db" Ajouter un # au début de celui-ci: use_text_database "./log/auths.txt" === Avec MySQL === Modifiez le fichier conf/authserver.conf, et retirer le # au début de la ligne suivante: #use_mysql_database "hostname" "port" "database" "username" "password" "install_db" Réglez correctement le nom d'hôte (localhost par défaut), le port (3306 par défaut), la base de données, le nom d'utilisateur, le mot de passe et supprimer "install_db" si les schémas de bases de données et les triggers sont déjà installés dans la base de données. \\ Ajouter un # au début de celui-ci: use_text_database "./log/auths.txt" ==== SuckerServ ==== === Auth.lua === Ajouter un fichier ''auth.lua'' dans le répertoire conf/ de votre installation suckerserv s'il n'y a pas déjà un, avec ce qui suit : auth.directory.server{ id = "suckerserv", hostname = "127.0.0.1", port = 28787 } auth.directory.domain{ id = "suckerserv", server = "suckerserv" } auth.directory.domain{ id = "suckerserv:master", server = "suckerserv" } auth.directory.domain{ id = "suckerserv:admin", server = "suckerserv" } === Server.conf === Ajoutez les lignes suivantes dans votre server.conf, remplacer le contenu des variables de domaines par ce que vous avez définit ci-dessus : ############################################################################### # Authkey configuration for Name protection & Admin ############################################################################### admin_domains "suckerserv:admin" # Domain for admin invadmin_domains "suckerserv:admin" # Same auto_invadmin_domains "suckerserv:admin" # Same, if you want to be auto-invadmin at connection master_domains "suckerserv:master" # Domain for master invmaster_domains "suckerserv:master" # Same auto_invmaster_domains "suckerserv:master" # Same, if you want to be auto-invadmin at connection name_reservation_domain "suckerserv" # Domain for name protect auth_domains "suckerserv" # Domain for privileges with new authserver module "auth/name" # Module for name protect module "auth/invmaster" # Module for auto-invmaster module "auth/invadmin" # Module for auto-invadmin #module "auth/privileges" # New privileges module to set inv-master/admin with new authserver. Disable auth/invadmin and auth/invmaster before enabling this ===== Utiliser l'authserver ===== ==== Avec MySQL ==== Lancer une fois le authserver, puis retirez le ''install_db'' dans votre authserver.conf ==== Lancer l'authserver ==== Pour lancer l'authserver, il suffit de faire : ./bin/authserver start Dans le répertoire suckerserv-v3 ==== Ajouter des domaines ==== ./bin/authserver manage domain add "suckerserv" case_insensitive ./bin/authserver manage domain add "suckerserv:master" case_insensitive ./bin/authserver manage domain add "suckerserv:admin" case_insensitive ==== Ajouter des utilisateurs ==== Avant d'ajouter des utilisateurs, vous devez ajouter des domaines, décrits auparavant.\\ Pour ajouter un utilisateur au name protect, d'abord générer une paire de clés : ./bin/utils/keygen Ensuite, copiez la réponsse. La première ligne est la clé privée, celle que vous avez à donner à l'utilisateur.\\ L'utilisateur ajoute quelque chose comme ceci : authkey "the_user" "private_key" "suckerserv" dans son auth.cfg\\ La deuxième ligne est la clé publique, vous devez l'ajouter dans la base de données : ./bin/authserver manage user add "the_user" "suckerserv" "public_key" Maintenant, même chose pour le master, mais remplacer le domaine par votre domaine "master" :\\ Le master ajoute ceci dans son auth.cfg : authkey "the_admin" "private_key" "suckerserv:master" Et dans le serveur : ./bin/authserver manage user add "the_user" "suckerserv:master" "public_key" Et même chose pour les admin, mais remplacer le domaine par votre domaine "admin" :\\ L'admin ajoute ceci dans son auth.cfg : authkey "the_admin" "private_key" "suckerserv:admin" Et dans le serveur : ./bin/authserver manage user add "the_user" "suckerserv:admin" "public_key" Rappelez-vous, une authkey est unique, il ne faut pas le perdre, et créer un seul pour chaque utilisateur. ==== Redémarrer l'authserver ==== Après l'ajout d'une authkey, vous devez redémarrer l'authserver : ./bin/authserver stop ./bin/authserver start ===== In-Game ===== Maintenant, tous les admins (ajouté dans la section précédente) devraient être mit automatiquement en invadmin, et tous les masters en invmaster.\\ Et tous les utilisateurs doivent avoir leur authkey pour que le serveur ne change pas leur nom.\\ Et toutes les statistiques sont enregistrées sous un seul nom, même en changeant votre nom ou votre IP, si vous gardez le authkey.\\