[WIP] AuthSystem

AuthSystem 1.1.10

Нет прав для скачивания
Сообщения
198
Реакции
273
Помог
5 раз(а)
BoecSpecOPs добавил(а) новый ресурс:

AuthSystem - Плагин авторизации по спецификации DEVCS-2102-23794

Плагин для учёта записей пользователей, имеет гибкий функционал (см. DEVCS-2102-23794) и будет полезен скорее больше для разработчиков.

Особенности данного плагина:
- Предоставляет базовый набор native-функций для работы с БД.
- Список СУБД можно расширить, реализовав необходимые методы, а не переписав код плагина.
- Разрабатывая плагин для этого плагина, разработчику нет необходимости вникать в детали взаимодействия с БД, вся работа с...
Узнать больше об этом ресурсе...
 
Сообщения
198
Реакции
273
Помог
5 раз(а)
Обновлен ресурс AuthSystem новой записью:

Изменения касаются аргументов натив-функций

В связи с замечанием Mistrick было решено переписать API под поддерживаемый стиль нативов.

Главные изменения по оптимизации и рефакторингу кода:
- был написан автоматический парсер структур с возможностью задания приоритетов;
- расставлены комментарии, где они могут понадобиться.

Главные изменения:
- появилась поддержка поточного исполнения всех запросов.
- есть возможность работать с целым набором данных (организовано через ArrayCell).
- передача аргументов теперь работает...
Узнать больше об этом обновлении...
 
Сообщения
198
Реакции
273
Помог
5 раз(а)
Сообщения
198
Реакции
273
Помог
5 раз(а)
Обновлен ресурс [WIP] AuthSystem новой записью:

Обновление до 1.1.3

Оптимизирована авторизация/регистрация (теперь не используется прозвон через set_task)
Изменёна начальная точка авторизации (client_putinserver -> client_authorized). Это должно предотвратить баг с выдачей флагов (client_authorized - вызывается при получении steamID игрока и неизвестно когда точно, раньше или позже client_putinserver)
Узнать больше об этом обновлении...
 

d3m37r4

111111
Сообщения
1,420
Реакции
1,162
Помог
10 раз(а)
BoecSpecOPs, можно же залогировать, когда client_authorized вызывается) Логировал вызов client_authorized, client_connectex, client_connect и client_putinserver. Раньше всех вроде бы вызывался client_connectex, потом client_authorized и самым последним client_putinserver.
 
Сообщения
198
Реакции
273
Помог
5 раз(а)
d3m37r4, флаги, которые были назначены перед client_authorized превращаются в тыкву. И суть в том, что client_authorized вызывается не в определённом порядке. (Он может быть как до putinserver, так и после.
 
Сообщения
198
Реакции
273
Помог
5 раз(а)
Обновлен ресурс [WIP] AuthSystem новой записью:

Обновление до 1.1.4

- Реализован алгоритм, авторизующий игрока не раньше того, как он зайдёт на сервер
- Благодаря предыдущему решению - избегаем багов в зависимых плагинах, т.к. была возможность авторизации до того, как клиент получит флаги доступа.
Узнать больше об этом обновлении...
 
Сообщения
198
Реакции
273
Помог
5 раз(а)
Последнее редактирование:
Сообщения
1,419
Реакции
2,508
Помог
59 раз(а)
BoecSpecOPs ошибки плагина, дублирование записи в таблице auth_system
Порядок действий:
  • Таблицы в БД нет, запускаю сервер и создаётся пустая таблица auth_system. В плагине менял только данные подключения, всё остальное по дефолту.
  • Захожу на сервер, добавляется запись в БД.
  • Выхожу с сервера и захожу снова - в консоли сервера пишет что я авторизовался.
  • Выхожу снова и захожу снова - сыпятся ошибки и уже появляется вторая запись в БД, т.е. первая и вторая идентичны.
  • Каждый последующий выход/заход добавляет ещё одну идентичную запись в БД.bd.jpg
Логи из консоли:
Код:
Connection to Steam servers successful.
   VAC secure mode is activated.
L 01/15/2019 - 22:53:51: "w0w<1><STEAM_0:1:89475736><>" connected, address "192.168.1.131:27005"
L 01/15/2019 - 22:53:54: [admin_loader.amxx] Login: "w0w<1><STEAM_0:1:89475736><>" became an admin (account "STEAM_0:1:89475736") (nickname "w0w (access "abcdefghijklmnoprstuv") (address "192.168.1.131")
[AuthSystem] Searching user
[MySQL] Query: SELECT * FROM auth_system WHERE nick='w0w';
[MySQL] Using threading...
L 01/15/2019 - 22:53:54: World triggered "Конец дня" (CT "0") (T "0")
L 01/15/2019 - 22:53:54: World triggered "Round_End"
L 01/15/2019 - 22:53:54: "w0w<1><STEAM_0:1:89475736><>" entered the game
[AuthSystem] Indentify...
[AuthSystem] Registering...
Status change: 4 > 1
[MySQL] Query: INSERT INTO auth_system (nick, steam, ip, pass, auth_fail, auth_flags, flags)VALUES('w0w', 'STEAM_0:1:89475736', '192.168.1.131', 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a', default, default, default);
[MySQL] Using threading...
[MySQL] Query: SELECT * FROM auth_system WHERE nick='identify_client';
L 01/15/2019 - 22:53:54: "w0w<1><STEAM_0:1:89475736><>" joined team "TERRORIST"
L 01/15/2019 - 22:53:57: World triggered "Round_Start"
L 01/15/2019 - 22:54:00: World triggered "Round_Start"
Status change: 1 > 4
L 01/15/2019 - 22:54:07: "w0w<1><STEAM_0:1:89475736><TERRORIST>" disconnected
192.168.1.131:27005:reconnect
L 01/15/2019 - 22:54:08: "w0w<2><STEAM_0:1:89475736><>" connected, address "192.168.1.131:27005"
L 01/15/2019 - 22:54:08: World triggered "Конец дня" (CT "0") (T "0")
L 01/15/2019 - 22:54:08: World triggered "Round_End"
L 01/15/2019 - 22:54:11: [admin_loader.amxx] Login: "w0w<2><STEAM_0:1:89475736><>" became an admin (account "STEAM_0:1:89475736") (nickname "w0w (access "abcdefghijklmnoprstuv") (address "192.168.1.131")
[AuthSystem] Searching user
[MySQL] Query: SELECT * FROM auth_system WHERE nick='w0w';
[MySQL] Using threading...
[AuthSystem] Indentify...
Status change: 0 > 2
[AuthSystem] 1 :: w0w has logged in.
L 01/15/2019 - 22:54:11: "w0w<2><STEAM_0:1:89475736><>" entered the game
L 01/15/2019 - 22:54:11: "w0w<2><STEAM_0:1:89475736><>" joined team "TERRORIST"
L 01/15/2019 - 22:54:14: World triggered "Round_Start"
Status change: 2 > 4
L 01/15/2019 - 22:54:15: World triggered "Конец дня" (CT "0") (T "0")
L 01/15/2019 - 22:54:15: World triggered "Round_End"
L 01/15/2019 - 22:54:15: "w0w<2><STEAM_0:1:89475736><TERRORIST>" disconnected
192.168.1.131:27005:reconnect
L 01/15/2019 - 22:54:17: "w0w<3><STEAM_0:1:89475736><>" connected, address "192.168.1.131:27005"
L 01/15/2019 - 22:54:19: [admin_loader.amxx] Login: "w0w<3><STEAM_0:1:89475736><>" became an admin (account "STEAM_0:1:89475736") (nickname "w0w (access "abcdefghijklmnoprstuv") (address "192.168.1.131")
[AuthSystem] Searching user
[MySQL] Query: SELECT * FROM auth_system WHERE nick='w0w';
[MySQL] Using threading...
L 01/15/2019 - 22:54:19: [MySQL] Invalid handle: 5
L 01/15/2019 - 22:54:19: [AMXX] Displaying debug trace (plugin "auth_core.amxx", version "1.1.5")
L 01/15/2019 - 22:54:19: [AMXX] Run time error 10: native error (native "SQL_FreeHandle")
L 01/15/2019 - 22:54:19: [AMXX]    [0] mysql.inc::mysql_close (line 370)
L 01/15/2019 - 22:54:19: [AMXX]    [1] mysql.inc::mysql_exec (line 357)
L 01/15/2019 - 22:54:19: [AMXX]    [2] mysql.inc::storage_find_user (line 143)
L 01/15/2019 - 22:54:19: [AMXX]    [3] auth_core.sma::native__getuser (line 169)
L 01/15/2019 - 22:54:19: Unhandled dynamic native error
L 01/15/2019 - 22:54:19: [AMXX] Displaying debug trace (plugin "auth_core.amxx", version "1.1.5")
L 01/15/2019 - 22:54:19: [AMXX] Run time error 10: native error (native "SQL_FreeHandle")
L 01/15/2019 - 22:54:19: [AMXX]    [0] mysql.inc::mysql_close (line 370)
L 01/15/2019 - 22:54:19: [AMXX]    [1] mysql.inc::mysql_exec (line 357)
L 01/15/2019 - 22:54:19: [AMXX]    [2] mysql.inc::storage_find_user (line 143)
L 01/15/2019 - 22:54:19: [AMXX]    [3] auth_core.sma::native__getuser (line 169)
L 01/15/2019 - 22:54:19: "w0w<3><STEAM_0:1:89475736><>" entered the game
[AuthSystem] Indentify...
[AuthSystem] Registering...
Status change: 4 > 1
[MySQL] Query: INSERT INTO auth_system (nick, steam, ip, pass, auth_fail, auth_flags, flags)VALUES('w0w', 'STEAM_0:1:89475736', '192.168.1.131', 'a7ffc6f8bf1ed76651c14756a061d662f580ff4de43b49fa82d80a4b80f8434a', default, default, default);
[MySQL] Using threading...
L 01/15/2019 - 22:54:19: "w0w<3><STEAM_0:1:89475736><>" joined team "TERRORIST"
[MySQL] Query: SELECT * FROM auth_system WHERE ;
[MySQL] Using threading...
L 01/15/2019 - 22:54:19: [MySQL] Invalid handle: 5
L 01/15/2019 - 22:54:19: [AMXX] Displaying debug trace (plugin "auth_core.amxx", version "1.1.5")
L 01/15/2019 - 22:54:19: [AMXX] Run time error 10: native error (native "SQL_FreeHandle")
L 01/15/2019 - 22:54:19: [AMXX]    [0] mysql.inc::mysql_close (line 372)
L 01/15/2019 - 22:54:19: [AMXX]    [1] mysql.inc::mysql_exec (line 357)
L 01/15/2019 - 22:54:19: [AMXX]    [2] mysql.inc::storage_find_user (line 143)
L 01/15/2019 - 22:54:19: [AMXX]    [3] auth_core.sma::native__getuser (line 169)
L 01/15/2019 - 22:54:19: Unhandled dynamic native error
L 01/15/2019 - 22:54:19: [AMXX] Displaying debug trace (plugin "auth_core.amxx", version "1.1.5")
L 01/15/2019 - 22:54:19: [AMXX] Run time error 10: native error (native "SQL_FreeHandle")
L 01/15/2019 - 22:54:19: [AMXX]    [0] mysql.inc::mysql_close (line 372)
L 01/15/2019 - 22:54:19: [AMXX]    [1] mysql.inc::mysql_exec (line 357)
L 01/15/2019 - 22:54:19: [AMXX]    [2] mysql.inc::storage_find_user (line 143)
L 01/15/2019 - 22:54:19: [AMXX]    [3] auth_core.sma::native__getuser (line 169)
L 01/15/2019 - 22:54:19: [AMXX] Displaying debug trace (plugin "auth_core.amxx", version "1.1.5")
L 01/15/2019 - 22:54:19: [AMXX] Run time error -1: unknown error
L 01/15/2019 - 22:54:19: [AMXX]    [0] auth_core.sma::post_register_auth (line 366)
[MySQL] SQL error [1064]: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1
[AuthSystem] Indentify...
[AuthSystem] Registering...
L 01/15/2019 - 22:54:21: World triggered "Round_Start"

И вопрос, как игрок сможет зайти например сменив стим айди в свой «аккаунт» если стоит авторизация по Steam ID (не вижу лучшего варианта из предоставленных)? Его занесёт заново в базу и по сути тогда это как новая запись получается и весь прогресс что зависел от предыдущего «аккаунта» просто пропадёт. Можно конечно вручную думаю менять стим айди но нужно лезть в базу. Но в принципе вариант.
 
Последнее редактирование:
Сообщения
198
Реакции
273
Помог
5 раз(а)
w0w, я уже и надежду потерял, что он кому-нибудь понадобится х)
При разработке плагина делался упор на гибкость. Т.е. недостающий функционал можно доработать, написав ещё один плагин.

Решений несколько:
- Написать плагин, который по никнейму и паролю восстанавливает доступ.
- Написать плагин, который создаёт и загружает клиенту "слепок" при первом входе на сервер (авторизация по ключу). Для восстановления - сравнить слепок и запись в БД.
- Использовать авторизацию по никнейму и паролю.
 
Последнее редактирование:
Сообщения
48
Реакции
151
Сообщения
48
Реакции
1
если не трудно, то приложите короткую инструкцию по установке)
функционал интресный, но куда что закидывать я с разбегу не разобрался
 
Сообщения
645
Реакции
222
Помог
11 раз(а)
Код:
AMX Mod X Compiler 1.9.0.5271
Copyright (c) 1997-2006 ITB CompuPhase
Copyright (c) 2004-2013 AMX Mod X Team

C:\Users\─рёЄрэ\Desktop\Public\cstrike\addons\amxmodx\scripting\include\auth_core.inc(211) : warning 213: tag mismatch
C:\Users\─рёЄрэ\Desktop\Publics\cstrike\addons\amxmodx\scripting\include\auth_core.inc(212) : warning 213: tag mismatch
C:\Users\─рёЄрэ\Desktop\Public\cstrike\addons\amxmodx\scripting\include\auth_core.inc(214) : warning 213: tag mismatch
Header size:           2064 bytes
Code size:            27152 bytes
Data size:            83932 bytes
Stack/heap size:      16384 bytes
Total requirements:  129532 bytes
ресурсы взято с Гита

Код:
      description   stat pend  file                  vers             src  load  unload
 [ 1] Reunion       RUN   -    reunion_mm.dll        v0.1.0.92        ini  Start Never
 [ 2] ReAuthCheck   RUN   -    reauthcheck_mm.dll    v0.1.6           ini  Start Never
 [ 3] Rechecker     RUN   -    rechecker_mm.dll      v2.5             ini  Chlvl ANY
 [ 4] Revoice       RUN   -    revoice_mm.dll        v0.1.0.32        ini  Start Never
 [ 5] AMX Mod X     RUN   -    amxmodx_mm.dll        v1.9.0.5271      ini  Start ANY
 [ 6] mmtimer       RUN   -    mmtimer.dll           v1.6             ini  ANY   Never
 [ 7] ReAPI         RUN   -    reapi_amxx.dll        v5.15.0.197-dev  pl5  ANY   Never
 [ 8] Engine        RUN   -    engine_amxx.dll       v1.9.0.5271      pl5  ANY   ANY
 [ 9] FakeMeta      RUN   -    fakemeta_amxx.dll     v1.9.0.5271      pl5  ANY   ANY
 [10] Ham Sandwich  RUN   -    hamsandwich_amxx.dll  v1.9.0.5271      pl5  ANY   ANY
 [11] MySQL         RUN   -    mysql_amxx.dll        v1.9.0.5271      pl5  ANY   ANY
 [12] CStrike       RUN   -    cstrike_amxx.dll      v1.9.0.5271      pl5  ANY   ANY
12 plugins, 12 running


version
Protocol version 48
Exe version 1.1.2.7/Stdio (cstrike)
ReHLDS version: 3.7.0.698-dev
Build date: 10:14:22 Aug 19 2020 (2321)
Build from: https://github.com/dreamstalker/rehlds/commit/376bc15

ReGameDLL version: 5.18.0.474-dev
Build date: 11:07:34 Jul 16 2020
Build from: https://github.com/s1lentq/ReGameDLL_CS/commit/efb06a7
 
Сообщения
16
Реакции
2
а система предусматривает одновременно несколько вариантов авторизации? (name + pass)
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу