Здравствуйте, гость Вход | Регистрация
Наши новости:
|
| Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
|---|---|---|---|---|---|
| 28.4.2015, 12:41 | Amxbans v6.13 Ban type IP+STEAMID | Добрый день Так как AMXBans был изначально создан для Steam серверов, то поддержка бана по Steam+IP как таковая не предусмотрена. Но все таки есть решение для nonSteam серверов, модифицированный AmxBans - [attachment=32975:AMXbans_...on_Steam.zip] Вся идея в том что плагин amxbans_main.amxx был модифицирован, и теперь введен параметр AuthID. Который позволяет банить по связке Steam+IP, или эмулятор стима + IP, или же только по IP. Также в конфиге amxbans.cfg добавился новый параметр, для выбора типа бана: Код amxbans_type_ban "2" // типы бана игрока: // 0 - легальный Steam (ленальный Steam -> authID ban, других -> IP ban) // 1 - гибридный метод (ленальный Steam -> authID ban, emu client -> authID ban, других -> IP ban ) // 2 - двойной (ленальный Steam -> authID ban, emu client -> authID ban и IP ban, других -> IP ban ) К сожалению разработчик не выложил исходный код плагина, но он протестирован и работает без замечаний и ошибок. |
NNAARRIIKK | ||
| 10.3.2015, 15:24 | Счетчик посещаемости на сайте | UnrealGame, Все равно не добавляет, вообще не работает Я не могу Вам подсказать решение по Вашему сообщению. Я повторюсь, рекомендую Вам овладеть методами отладки кода, для самостоятельного поиска ошибок. Мне кажется это поможет Вам экономить собственное время и ускорить процесс написания кода. |
Ermak | ||
| 10.3.2015, 14:46 | Счетчик посещаемости на сайте | UnrealGame, Я не понимаю, вы показали один и тот же код, только первый раз со скобками а второй без скобок Скобки влияют та логику работы условий. В моем примере ошибка, первую скобку надо поставить левее: Код $result=mysqli_query($link,'SELECT `id` FROM `action_user` WHERE (`user_name`="'.$user_name.'" OR `ip_user`="'.$ip_user.'") AND `tek_data`>'.$time.''); |
Ermak | ||
| 9.3.2015, 13:05 | Счетчик посещаемости на сайте | Ваш запрос выглядит очень подозрительно: Код $result=mysqli_query($link,'SELECT `id` FROM `action_user` WHERE `user_name`="'.$user_name.'" OR (`ip_user`="'.$ip_user.'" AND `tek_data`>'.$time.')'); В нем идет выборка всех ID, если: - в базе существует такой $user_name - или $ip_user за последний день Мне кажется, был бы более логичный запрос: Код $result=mysqli_query($link,'SELECT `id` FROM `action_user` WHERE `(user_name`="'.$user_name.'" OR `ip_user`="'.$ip_user.'") AND `tek_data`>'.$time.''); В нем идет выборка всех ID, если есть $user_name или $ip_user за последний день. Хотя я только предполагаю, возможно я просто не понял заложенный смысл. |
Ermak | ||
| 6.3.2015, 9:48 | Unreal Game | Запрещено было писать в этой теме, пока не наберу 20 сообщений на форуме, поэтому ответ вышел запоздалым. Спасибо всем, кто проявил интерес к хостингу и написал свой отзыв. тесты будут?Дц какое?Локации какие? Тест доступен сразу же после регистрации. Цитата Локация у нас в Киеве, Украина. Мы не используем услуги компаний которые официально предоставляют услуги ДЦ. Но все оборудование находиться в условиях равных платному дата центру. Подтверждаю сказанное. Serhio, Я думаю, Вы как представитель хостинга прекрасно понимаете, что для корпоративных клиентов услуга Интернет предоставляется по индивидуальному соглашению. У нас с компанией CORBINA TELECOM соглашение, выходящее далеко за рамки услуги «домашний Интернет», дающее возможность получать услугу корпоративного уровня. Если Вам понадобится какая либо консультация по этому вопросу с удовольствие помогу, в формате ЛС, чтобы сообщения данной ветки соответствовали теме. |
ThePhoenix | ||
| 6.3.2015, 9:01 | Проблема с флэш 2268 PRAM usb... | Сгорела микросхема передачи данных, можно покупать новую. Сори за плохую новость На будущее не оставляй в компе на долго, часто умирают в таких условиях. |
unhead | ||
| 5.3.2015, 22:41 | Вывести статистику | Предложенный запрос не подходит так как в нем берется номер недели в году, а не номер недели в месяце, подсчёты будут неточными (если конечно это вообще принципиально) Код $query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, month(`stat_date`) AS `stat_date_month`, week(`stat_date`) AS `stat_date_week`, YEAR(`stat_date`) AS `stat_date_year` FROM `action_user` GROUP BY `friend_name`, MONTH(`stat_date`), WEEK('stat_date'), YEAR('stat_date')"; $q=mysql_query($query); Мне кажется более корректно будет считать вот такой запрос: Код $query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, month(`stat_date`) AS `stat_date_month`, CEIL(day(stat_date)/7) AS `stat_date_week`, YEAR(`stat_date`) AS `stat_date_year` FROM `action_user` GROUP BY `friend_name`, MONTH(stat_date), CEIL(day(stat_date)/7), YEAR(stat_date)"; $q=mysql_query($query); Еще один нюанс, недель в месяце выйдет 5, а не 4. Я не смогу написать сразу код без ошибок, опечаток и оплошностей. Для меня разработка это смешанный процесс написания кода и параллельной отладки. Если говорить о логической последовательности действий для того чтобы решить поставленную задачу. Нужно пройтись по всем полученным записям и сформировать 3 временных массива: - массив уникальных дат, - массив уникальных пользователей, - массив в котором будет хранится количество посещений для определенного пользователя в определенную дату. Можно все эти массивы получить используя запросы к базе. Использую первый массив, можно сформировать шапку таблицы. Далее пройдясь вложенным циклом foreach по первым двум массивам, вывести значение с третьего. |
Ermak | ||
| 5.3.2015, 21:42 | Счетчик посещаемости на сайте | Тип TIME () это только время (к примеру '10:11:12'), определить день записи становиться невозможно. Стоит поменять поле tek_data к примеру на тип DATETIME (еще есть вариант TIMESTAMP). Запрос к базе можно преобразовать на вот такой: Код // Узнаем, были ли посетитель за сегодня $result=mysqli_query($link,'SELECT `id` FROM `action_user` WHERE `user_name`="'.$user_name.'" OR (`ip_user`="'.$ip_user.'" AND `tek_data`> NOW() - INTERVAL 1 day )'); Если работа каких либо запросов к базе в скриптах смущает, пробуйте подключится к базе использую какой-то mysql-клиент, тогда будет наглядно видно проблему. |
Ermak | ||
| 5.3.2015, 15:58 | Вывести статистику | В в столбце tek_data_week содержится номер недели в году (от 0 до 53 - всего в году 52 недели). Если хочешь показать месяц, используй столбец tek_data_month. С точки зрения документации по запросам (MySQL) хороший ресурс: |
Ermak | ||
| 5.3.2015, 13:40 | Вывести статистику | Год учесть можно вот так: Код // SQL query $query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, month(`tek_data`) as `tek_data_month`, week(`tek_data`) AS `tek_data_week` FROM `action_user` GROUP BY `friend_name`, CEIL(UNIX_TIMESTAMP(login_date)/604800)"; Берем дату в формате TIMESTAMP и делим на 604800 (60*60*24*7 - количество секунд в неделе). Функцией CEIL оставляем только целое от деление. В моем примере я переименовал колонки, может из-за этого проблемы с выводом. |
Ermak | ||
| 5.3.2015, 11:37 | Вывести статистику | Полная аналогия с группировкой по месяцу: Код // SQL query $query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, month(`tek_data`) as `tek_data_month`, week(`tek_data`) AS `tek_data_week` FROM `action_user` GROUP BY `friend_name`, week(`tek_data`)"; Правда тут еще не учтён год. Но в примере с месяцами была эта же проблема. |
Ermak | ||
| 5.3.2015, 10:49 | Подскажите что за порт 20480? | Мне понравилось решение отбрасывать неправильно маленькие пакеты на уровне iptables. Вот что я нашел: Код iptables -A INPUT -p udp -m length --length 0:32 -j DROP Пока меня смущает значение 32, для меня было бы более понятно значение 28, надо проверять. |
adva | ||
| 4.3.2015, 20:28 | Счетчик посещаемости на сайте | Нужно понять, какая именно строчка кода приводит к ошибке. Можно сделать текст оповещение про ошибку разным в разных местах. Возможно сообщение "Проблема при подключении к БД" есть где-то еще в коде и именно там скрипт вылетает с ошибкой, а не в показанном здесь месте. |
Ermak | ||
| 4.3.2015, 18:23 | Вывести статистику | У тебя tek_data это дата целиком, а нужно только значение месяца, замени Код // SQL query на$query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, `tek_data` FROM `action_user` GROUP BY `friend_name`, MONTH(`tek_data`)"; Код // SQL query $query ="SELECT `friend_name`, COUNT(`user_name`) AS `count`, month(`tek_data`) as `tek_data` FROM `action_user` GROUP BY `friend_name`, MONTH(`tek_data`)"; Еще сильно смущает метод определения массива месяцев, мне кажется лучше вот так Код $months = Array( 1 => 'январь', 2 => 'февраль', 3 => 'март', 4 => 'апрель', 5 => 'май', 6 => 'июнь', 7 => 'июль', 8 => 'август', 9 => 'сентябрь', 10 => 'октябрь', 11 => 'ноябрь', 12 => 'декабрь' ); |
Ermak | ||
| 4.3.2015, 16:19 | Счетчик посещаемости на сайте | Наверно переменную $res и $result нужно везде по коду заменить на какое-то одно название переменной. А то в запросе $res Код $res=mysql_query($link,"SELECT `id` FROM `action_user` WHERE `ip_user`= '$ip_user' AND `tek_data`>'$time'") or die ("Проблема при подключении к БД"); А в проверках уже $result Код if(!mysqli_num_rows($result)) Код if($result==true) |
Ermak | ||
| 4.3.2015, 13:43 | Счетчик посещаемости на сайте | Использую функцию mysql_error() можно понять , что именно не так с подключением. Хороший ресурс для изучения: |
Ermak, onotole | ||
| 4.3.2015, 10:22 | Счетчик посещаемости на сайте | Мне кажется есть вероятность, что в таблице будет более 1 записи для вот этого участка кода, Код: // Узнаем, были ли ip за сегодня Тогда if будет отрабатывать не корректно, стоит учесть это в проверках. Добавьте проверку даты в запрос |
Ermak | ||
| 4.3.2015, 10:05 | Счетчик посещаемости на сайте | Нужно смотреть в логи ошибок, что-то типа apache-error.log Мне кажется вот эта часть Код: // Узнаем, были ли посетитель за сегодня вообще не логичная, можно обойтись без нее. Постарайтесь в смущающие части кода повставлять echo, для отслеживания состоянию промещуточных переменных. Но лучше пользоватся функцией error_log |
Ermak | ||
| 2.3.2015, 12:17 | Unreal Game | Сайт: Unreal.in.ua Список основных игр:
Список дополнительных услуг:
IP тестовых серверов:
Тех. Поддержка: Поддержка (Тикеты), JivoSite Доп. информация:
Используемое оборудование:
|
evil, msklava | ||