Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

> Информационная доска

Данный раздел предназначен для обсуждения, а также решения технических проблем связанных с серверной частью. Обсуждения касательно игровых клиентов ведутся здесь.

1. Во время создания новой темы аккуратно оформляйте её, не допускайте грамматических ошибок.
2. Описывая проблему старайтесь, как можно больше рассказать о ней, а так же о действиях с сервером после которых она возникла, по возможности подкрепите информацию логами.
3. Если вопрос касается проблемы в работе сервера, то обязательно прикрепляйте список плагинов (введите в консоли сервера: meta list и amxx plugins), настройки server.cfg, логи. Так же указывайте операционную систему, версию HLDS (введите к консоли сервера: version) и где хостится сервер.

Длинную информацию скрывайте под спойлер.
2 страниц V   1 2

Быстрый способ конвертации users.ini в MySQL?

Статус пользователя Hebeda
сообщение 4.7.2013, 11:52
Сообщение #1
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Может быть у кого-нибудь есть скрипт для того, чтобы быстро сконвертировать users.ini в MySQL?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 12:35
Сообщение #2


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

ini -> csv - mysql импорт через phpmyadmin


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hebeda
сообщение 4.7.2013, 12:47
Сообщение #3
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Цитата(mazdan @ 4.7.2013, 12:35) *
ini -> csv - mysql импорт через phpmyadmin

Хмм, а ini в csv как? Автоматического способа не нахожу...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 12:56
Сообщение #4


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Excel, например. Если к amxbans то там еще надо в другую табличку (вроде как) писать - так просто не получится


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hebeda
сообщение 4.7.2013, 13:10
Сообщение #5
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Цитата(mazdan @ 4.7.2013, 12:56) *
Excel, например. Если к amxbans то там еще надо в другую табличку (вроде как) писать - так просто не получится
Сохранил как csv при помощи excel (выбрав удались несовместимые части) при импорте csv Код:
Несоответствие количества столбцов в CSV данных на строке 1.
. При использовании CSV с LOAD DATA импорт выполняется, но сохраняются комментарии + всё сохраняется в одно поле (auth) вместо четырёх. amxbans не использую. Таблица admins создана скриптом admin.amxx автоматически.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 13:13
Сообщение #6


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

Могу скрипт накидать. Скиньте структуру базы данных.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hebeda
сообщение 4.7.2013, 13:30
Сообщение #7
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Цитата(Cracky @ 4.7.2013, 13:13) *
Могу скрипт накидать. Скиньте структуру базы данных.
Буду очень благодарен

Структура
Код:
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";

/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;


CREATE TABLE IF NOT EXISTS `admins` (
`auth` varchar(32) COLLATE utf8_bin NOT NULL,
`password` varchar(32) COLLATE utf8_bin NOT NULL,
`access` varchar(32) COLLATE utf8_bin NOT NULL,
`flags` varchar(32) COLLATE utf8_bin NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='AMX Mod X Admins';

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;


Примеры строк из .ini файла (на всякий случай):
Закомментированная строка (которые нужно игнорировать)
; Users configuration file

Обычная строка (которые нужно добавлять)
"Имя" "пароль" "abcdefghijklmnopqrstu" "a"
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kirby Magicman
сообщение 4.7.2013, 14:48
Сообщение #8


Стаж: 15 лет

Сообщений: 1083
Благодарностей: 398
Полезность: 617

_http://amxx.pl/topic/49358-import-adminow-z-usersini/ тут есть такой скрипт, только он для amxbans.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 15:13
Сообщение #9


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

Код:
<?php

$regex = '#^"(.*?)"\s*"(.*?)"\s*"(.*?)"\s*"(.*?)"#';

$file = fopen("users.ini", "r");

while (!feof($file)) {
$results = array();
if(!preg_match($regex, fgets($file), $results))
continue;
echo "INSERT INTO `admins` (`auth` ,`password` ,`access` ,`flags`) VALUES ('{$results[1]}', '{$results[2]}', '{$results[3]}', '{$results[4]}');";
}

fclose($file);


Отредактировал: Cracky, - 4.7.2013, 15:13
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Hebeda
сообщение 4.7.2013, 15:14
Сообщение #10
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Цитата(Cracky @ 4.7.2013, 15:13) *
Код:
<?php

$regex = '#^"(.*?)"\s*"(.*?)"\s*"(.*?)"\s*"(.*?)"#';

$file = fopen("users.ini", "r");

while (!feof($file)) {
$results = array();
if(!preg_match($regex, fgets($file), $results))
continue;
echo "INSERT INTO `admins` (`auth` ,`password` ,`access` ,`flags`) VALUES ('{$results[1]}', '{$results[2]}', '{$results[3]}', '{$results[4]}');";
}

fclose($file);
Благодарю, пробую.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 15:52
Сообщение #11


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

там не напрямую буквами тип доступа лежит, вроде бы (несмотря на тип)


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 15:57
Сообщение #12


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

Цитата(mazdan @ 4.7.2013, 15:52) *
там не напрямую буквами тип доступа лежит, вроде бы (несмотря на тип)

Там, это где? будь точен в формулировках. "Эта машина вроде не работает".
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 16:08
Сообщение #13


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Cracky, я вроде вам не тыкал. У меня нет желания смотреть в БД или в скриптах как оно там лежит. Мне как бы всё равно заработает скрипт или нет, просто подсказал почему может не заработать.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 16:46
Сообщение #14


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

Цитата(mazdan @ 4.7.2013, 17:08) *
Cracky, я вроде вам не тыкал. У меня нет желания смотреть в БД или в скриптах как оно там лежит. Мне как бы всё равно заработает скрипт или нет, просто подсказал почему может не заработать.

Ну конечно, давай еще обижаться и называть это тыканием. Не к чему придраться так будете придираться к этому. "Наезда" с моей стороны не было.

Отредактировал: Cracky, - 4.7.2013, 16:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 18:23
Сообщение #15


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Cracky, просто тыканье не очень понятно. Не понятно так же, почему я переход "на ты" не могу вдруг называть тыканьем.
Не понятно, почему на сообщение, которое может оказаться полезным я получаю какие-то замечания. Вам не нравится - не отвечайте или спросите нормально, если в самом деле непонятно.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Fred Perry
сообщение 4.7.2013, 18:41
Сообщение #16


Иконка группы

Стаж: 16 лет

Сообщений: 6594
Благодарностей: 2370
Полезность: 813

Прошу уважения с обоих сторон!


Гнилой фашистской нечисти
Загоним пулю в лоб,
Отродью человечества
Сколотим крепкий гроб!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 18:54
Сообщение #17


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

Тогда мне интересно откуда у вас информация что там не напрямую лежит. Структуру базы видели?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя mazdan
сообщение 4.7.2013, 19:14
Сообщение #18


Иконка группы

Стаж: 15 лет

Сообщений: 7566
Благодарностей: 5437
Полезность: 1305

Cracky, да при чем тут структура базы?
Я сейчас глянул - в admin.amxx напрямую лежит, в каком-то из bans-ов лежат флаги не в виде abcd, а битсуммой, потому я и написал вроде бы, чтобы на случай, если отвалится понять куда посмотреть.
Сейчас порылся и нашел - в subnet ban так лежат клиенты.
А то что там varchar 32 мне вообще не говорит ни о чем, я там могу хранить хоть текст хоть цифры, если бы там было varchar 5, то еще можно было бы предположить что поле используется как надо.


Не пишите мне в ЛС. Пишите на почту. В ЛС я пропускаю сообщения.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Cracky
сообщение 4.7.2013, 21:01
Сообщение #19


Стаж: 15 лет

Сообщений: 768
Благодарностей: 197
Полезность: 506

А то что структура базы в точь в точь такая же как в users.ini.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Hebeda
сообщение 4.7.2013, 22:14
Сообщение #20
Стаж: 14 лет

Сообщений: 130
Благодарностей: 4
Полезность: 33

Цитата(Cracky @ 4.7.2013, 21:01) *
А то что структура базы в точь в точь такая же как в users.ini.

mazdan поклонник amxbans, а в этой кривой до ужаса шняге с миллионом уязвимостей, может быть что угодно) В стандартных скриптах (которые я и использую) явно всё будет как надо.

Отредактировал: Hebeda, - 4.7.2013, 22:14
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: