Outils pour utilisateurs

Outils du site


fr:suckerserv:auth

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.

fr/suckerserv/auth.txt · Dernière modification: 2014/10/27 01:29 par piernov