Table des matières
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.lua
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 :
- server.conf
############################################################################### # 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.