SlavON
Добрая душа
- Сообщения
- 1,582
- Реакции
- 326
А почему у них не может быть разной авторизации? По чём добавил по тому и авторизует.Как так? Что это? Меню со списком игроков? Ну ок, тогда почему у них авторизация разная? nie rozumiem
А почему у них не может быть разной авторизации? По чём добавил по тому и авторизует.Как так? Что это? Меню со списком игроков? Ну ок, тогда почему у них авторизация разная? nie rozumiem
Ник обновляется только если авторизация по стиму/ип.
Но есть раздел No-Steam. Я автор, и я имею полное право поддерживать все игры, котрые хочу, в том числе и в34. Не я виновен в том что она сущевствует, что в неё играют и на ней держат серверы. Просто потом начнут писать и просить сделать по ип и прочее.
Оффтоп
Какие хочу такие и развожу. Все ровно после выхода обновы они все будут удалены.
Скорее всего сделаю стим, а остальное модулями (прийдется продумать еще это...)
А насчет обновления ника. Так удобно тем что когда игрок заходит под другим ником то в випке он будет уже под ним. Но некоторым лучше чтобы как в сб с админами. Добавил и этот ник остался за ним. Просто не знаю как будет всем удобно.
А что насчет нового синтаксиса:
PHP:BAILOPAN: It is no longer legal to store functions inside arrays. This will be fixed in a future release, but we will need to introduce a new array type.
Не ко всем модулям есть исходники (только к нескольким их нет) т.к. я не хочу выкладывать сырой код.Тут политика твоя не совсем понятна. Если был релиз и это паблик версия, при чём с отдельной веткой на форуме, то где исходники? Ради интереса скачал какой-то модульный плагин - исходника не нашёл. Затем другой, и, прикинь, тоже самое.
Какой смысл пользователям вообще использовать твой вип плагин, если есть такие же, но с открытыми исходниками как, к примеру, Stumm на ам?
Я никого не завставляю ничего ставить и использовать.Какой смысл пользователям вообще использовать твой вип плагин, если есть такие же, но с открытыми исходниками как, к примеру, Stumm на ам?
А что тут думать. Делаешь форвард какой-нибудь типа "OnClientAuthorized" и пушишь рефы.
Не ко всем модулям есть исходники (только к нескольким их нет) т.к. я не хочу выкладывать сырой код.
И к ядру так же. Много комментариев для себя и прочей грязи в коде, которая висит, и удалить жалко и заюзать не выходит. Как всё доведу до ума тогда и выложу.
Исходники же не скрыты прям вообще. Они есть у некоторых скриптеров.
Я никого не завставляю ничего ставить и использовать.
Тоесть?
if (g_bDBMySQL)
{
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users` (\
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT,\
`auth` VARCHAR(32) UNIQUE NULL default NULL,\
`name` VARCHAR(64) NOT NULL default 'unknown',\
`ip` VARCHAR(32) default NULL,\
`auth_type` INT(3) NOT NULL default '0',\
`pass_key` VARCHAR(64) default NULL,\
`password` VARCHAR(64) default NULL,\
`group` VARCHAR(64) default NULL,\
`expires` INT(11) UNSIGNED NOT NULL default '0',\
PRIMARY KEY (`id`)) ENGINE=MyISAM default CHARSET=utf8 AUTO_INCREMENT=1;");
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users_overrides` (\
`user_id` INT UNSIGNED NOT NULL,\
`server_id` INT UNSIGNED NOT NULL,\
PRIMARY KEY (`user_id`,`server_id`)) ENGINE=MyISAM default CHARSET=utf8;");
}
else
{
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users` (\
`id` INT UNSIGNED NOT NULL INTEGER PRIMARY KEY AUTOINCREMENT,\
`auth` VARCHAR(32) UNIQUE NULL default NULL,\
`name` VARCHAR(64) NOT NULL default 'unknown',\
`ip` VARCHAR(32) default NULL,\
`auth_type` INT(3) NOT NULL default '0',\
`pass_key` VARCHAR(64) default NULL,\
`password` VARCHAR(64) default NULL,\
`group` VARCHAR(64) default NULL,\
`expires` INT(11) UNSIGNED NOT NULL default '0');");
}
"vip"
{
"driver" "mysql"
"host" "ip" // ip сервера где находится ваш mysql
"database" "vip" // название базы данных
"user" "root" // имя пользователя базы данных
"pass" "pass" // пароль для этого пользователя
}
datetime мне не подходит т.к. удобнее всего работать с unix.Тип поля expires, изменить на datetime (с данным типом не всегда удобно работать в скриптах, но удобно во всех остальных случаях);
Преимущества?Поменять тип движка с MyISAM на InnoDB;
Это уже вопросы к тому кто будет писать веб часть. Вип игроку нельзя выдать вип повторно.Если игрок покупает второй раз вип, он будет добавлен заново или обновится старая запись?
Это переменная, по которой будет получаться пароль из клиента. Например если pass_key == "vip"Не совсем понял для чего нужен "pass_key".
"vip"
{
"driver" "mysql"
"host" "ip" // ip сервера где находится ваш mysql
"database" "vip" // название базы данных
"user" "root" // имя пользователя базы данных
"pass" "pass" // пароль для этого пользователя
}
if (g_bDBMySQL)
{
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users` (\
`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\
`auth` VARCHAR(32) UNIQUE NULL default NULL,\
`name` VARCHAR(64) NOT NULL default 'unknown',\
`ip` VARCHAR(32) default NULL,\
`auth_type` TINYINT(2) UNSIGNED NOT NULL default '0',\
`pass_key` VARCHAR(64) default NULL,\
`password` VARCHAR(64) default NULL,\
`group` VARCHAR(64) default NULL,\
`expires` INT(10) UNSIGNED NOT NULL default '0',\
PRIMARY KEY (`id`)) ENGINE=InnoDB default CHARSET=utf8 AUTO_INCREMENT=1;");
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users_overrides` (\
`index_id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT,\
`user_id` INT(10) UNSIGNED NOT NULL,\
`server_id` INT(10) UNSIGNED NOT NULL,\
PRIMARY KEY (`index_id`)) ENGINE=InnoDB default CHARSET=utf8 AUTO_INCREMENT=1;");
}
else
{
SQL_TQuery(g_hDatabase, SQL_Callback_ErrorCheck, "CREATE TABLE IF NOT EXISTS `vip_users` (\
`id` INTEGER PRIMARY KEY AUTOINCREMENT,\
`auth` VARCHAR(32) UNIQUE NULL default NULL,\
`name` VARCHAR(64) NOT NULL default 'unknown',\
`ip` VARCHAR(32) default NULL,\
`auth_type` INTEGER UNSIGNED NOT NULL default '0',\
`pass_key` VARCHAR(64) default NULL,\
`password` VARCHAR(64) default NULL,\
`group` VARCHAR(64) default NULL,\
`expires` INTEGER UNSIGNED NOT NULL default '0');");
}
Как вариант, группу, пароль (+ ключ) и время перенести в таблицу vip_users_overrides.
Тогда можно будет указывать разные группы, пароли и время на разные сервера.
Вопрос №3
В списке вип игроков (в админке) делать как было раньше:
1. Стим
2. ип
3. ник
При выборе - списки игроков.
или сделать так:
1. [STEAM] Игрок1
2. [STEAM] Игрок2
3. [IP] Игрок3
4. [NAME] Игрок4
Я так понял что на это всем плевать. Поэтому буду делать на свое усмотрение.
Это немного усложнит задачу для тех кто будет делать веб-часть зато даст больше возможностей.
SaInT.P, Сейчас решаю как сделать авторизацию модульно.