10#ifndef __GNET_USERLOGIN_HPP
11#define __GNET_USERLOGIN_HPP
17#include "userloginarg"
18#include "userloginres"
37#define RPC_BASECLASS Rpc
63 void Server(Rpc::Data *argument, Rpc::Data *result, Manager *manager, Manager::Session::ID sid)
65 UserLoginArg *arg = (UserLoginArg *)argument;
66 UserLoginRes *res = (UserLoginRes *)result;
81 int zonelocalsid = arg->localsid;
82 int overwrite = arg->blkickuser;
92 if(zid != zoneid || zonelocalsid != arg->localsid)
94 printf(
"UserLogin::Server zid != zoneid || zonelocalsid != arg->localsid \n");
104 ausm->Send(ausm->
usermap[arg->userid].sid,
109 res->retcode = ERR_MULTILOGIN;
115 res->retcode = ERR_SUCCESS;
119 res->remain_playtime = creatime;
120 res->free_time_left = 0;
121 res->free_time_end = 0;
126 DEBUG_PRINT(
"gauthd::userlogin: user(id=%d,localsid=%d) login successfully from zone %d\n",
127 arg->userid, arg->localsid, zoneid);
138 void Client(Rpc::Data *argument, Rpc::Data *result, Manager *manager, Manager::Session::ID sid)
Основной класс для работы с MySQL базой данных
char GetAid()
Получить ID приложения
bool OnlineRecord(int uid, char aid, char &zoneid, int &zonelocalid, int &overwrite)
Запись информации о входе пользователя в онлайн
static GMysqlClient * GetInstance()
Получить экземпляр класса (Singleton)
bool AlexAddLogin(int uid, int action)
Логирование действия входа/выхода (специальный функционал)
bool UserGMPrivilege(int uid, char zoneid, bool &IsGM)
Получение времени создания пользователя в UNIX-формате
bool UserCreatime(int uid, int ×tamp)
Получение времени создания пользователя в UNIX-формате
Main authentication server class handling sessions and user validation.
Thread::RWLock locker_map
Блокировка для доступа к usermap.
static GAuthServer * GetInstance()
Получить экземпляр синглтона.
Thread::Mutex locker_zonemap
Блокировка для доступа к zonemap.
ZoneMap zonemap
Контейнер с данными о зонах.
UserMap usermap
Контейнер с данными пользователей.
Протокол для принудительного отключения пользователя от сервера
Класс для обработки процедуры входа пользователя -сервис аутентификации
Заголовочный файл, содержащий определения классов для аутентификации и управления сессиями.
MySQL клиент для работы с базой данных игрового сервера
Заголовочный файл класса протокола для принудительного отключения пользователя
Основное пространство имен для сетевых компонентов системы.
Структура для хранения информации о пользователе.