madf 279 Опубликовано: 2009-03-24 15:35:12 Share Опубликовано: 2009-03-24 15:35:12 Итак, пришло время первого релиз-кандидата: stg-2.406-rc1 По сравнению с beta-версией изменений немного. В основном - чистка кода. Был исправлен баг, который вызывал падения при останове Stargazer на старых версиях libc (по крайней мере я его четко фиксировал на FreeBSD 5.3-RELEASE). Кому интересно, подробности про него можно найти здесь (на украинском языке). Почистил отладочный вывод. Добавил явную выгрузку плагинов (в релизе верну ее в автоматический режим). Перекомпоновал последовательность инициализации и останова различных подсистем. Внес небольшие изменения в систему сборки. Теперь флаги компилятора и компоновщика для плагина MySQL определяются с помощью утилиты mysql_config (должен быть в стандартном devel-пакете на всех системах). Скрипт build при отладочной сборке не запускает make автоматически (сделал для удобства багрепортов - чтобы не просить показать первые N строк лога сборки). Не-devel сборка происходит как и раньше. В КК добавил ключ --disable-stat. Пользоваться так: получение статуса: sgconf get -s <server> -p <port> -a <admin> -w <admin_pass> -u <user> --disable-stat отключение детальной статистики: sgconf set -s <server> -p <port> -a <admin> -w <admin_pass> -u <user> --disable-stat 1 включение детальной статистики: sgconf set -s <server> -p <port> -a <admin> -w <admin_pass> -u <user> --disable-stat 0 Еще в КК починил результат операции. Одно время он говорил Error при успешной отправке сообщения, а все остальное работало нормально. В прошлой версии стало наоборот - он стал говорить Ok при успешной отправке сообщения, зато все остальные операции выдавали Error. Проблема оказалась не такой уж и тривиальной. Эту сборку я тестировал на следующих системах: Gentoo: gcc-3.3.5 gcc-3.3.5-hardened gcc-3.3.5-hardenednopie gcc-3.3.5-hardenednossp gcc-4.1.1 gcc-4.3.3 Debian: gcc-4.3.2 FreeBSD: gcc-3.4.2 Еще раз напомню, что gcc ветки 2.x больше не поддерживается. Хотел еще дождаться результатов сборки от мейнтейнеров ALTLinux, но не дождался Отправку сообщений с помощью КК тестировал из юникодной локали и из KOI8-R. Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубликовано: 2009-03-24 18:04:18 Share Опубликовано: 2009-03-24 18:04:18 GentooLinux2008_32bit, gcc version 4.1.2, expat-2.0.1, Kernel 2.6.24.7скомпилировалась и запустилась без проблем. Ссылка на сообщение Поделиться на других сайтах
Watson 0 Опубликовано: 2009-03-24 22:03:33 Share Опубликовано: 2009-03-24 22:03:33 2009-03-24 23:47:35 -- --------------------------------------------- 2009-03-24 23:51:13 -- Stg v. 2.406-rc1 2009-03-24 23:51:13 -- Message queue created successfully. msgKey=5555 msgID=360448 2009-03-24 23:51:13 -- Timer thread started successfully. 2009-03-24 23:51:13 -- Storage plugin: '' 2009-03-24 23:51:14 -- Queue removed successfully. 2009-03-24 23:51:14 -- StgTimer: Stop successfull. 2009-03-24 23:51:14 -- Stg stopped successfully. 2009-03-24 23:51:14 -- --------------------------------------------- Чет у меня не хочет стартовать, собралось нормально. ALT-server-2.6.18-32x64, queue. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-25 07:49:59 Автор Share Опубликовано: 2009-03-25 07:49:59 Какой StoreModule указан в конфиге? Смущает что у тебя он пустой. Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубликовано: 2009-03-25 09:31:53 Share Опубликовано: 2009-03-25 09:31:53 2009-03-24 23:47:35 -- ---------------------------------------------2009-03-24 23:51:13 -- Stg v. 2.406-rc1 2009-03-24 23:51:13 -- Message queue created successfully. msgKey=5555 msgID=360448 2009-03-24 23:51:13 -- Timer thread started successfully. 2009-03-24 23:51:13 -- Storage plugin: '' 2009-03-24 23:51:14 -- Queue removed successfully. 2009-03-24 23:51:14 -- StgTimer: Stop successfull. 2009-03-24 23:51:14 -- Stg stopped successfully. 2009-03-24 23:51:14 -- --------------------------------------------- Чет у меня не хочет стартовать, собралось нормально. ALT-server-2.6.18-32x64, queue. Такая же фигня была: не бери конфиг от старой системы, правь новый. Потом только меняешь /var/stargazer/users/, /var/stargazer/admins/, /etc/stargazer/OnConnect, /etc/stargazer/OnDisconnect - на старые и стартуй stargazer. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-25 09:40:40 Автор Share Опубликовано: 2009-03-25 09:40:40 Хм. Я не ломал конфиг. Кто покажет разницу между нерабочим и рабочим конфигом? Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубликовано: 2009-03-25 09:52:45 Share Опубликовано: 2009-03-25 09:52:45 Хез, но у меня выдавала такую же ошибку. Тогда я оставил каталоги прежнего СТГ на своих местах, установил новый СТГ поверх, стартанул его - он запустился, только ругнулся на отсутствующие интерфейсы (там в конфиге указаны - у меня их нет) - и завершил процесс. Тогда я подправил конфиг под себя - поменял порт авторизатора на 8888, оставил ИФ rl0, сменил права на файлы на 777, убрал лишние направления. Потом, как сказал выше - вернул /var/stargazer/users/, /var/stargazer/admins/, /etc/stargazer/OnConnect, /etc/stargazer/OnDisconnect - из резервной копии (установка точно меняет /var/stargazer/admins/ и скрипты /etc/stargazer/OnConnect, /etc/stargazer/OnDisconnect, а /var/stargazer/users/ я для верности восстановил), потом стартанул СТГ и вуаля. Щас вроде собрал sgconf. У кого он при старте бибилиотеку просит - её надо вытащить из дистибутива (каталог /lib/) и положить в /usr/lib/stg/. Ссылка на сообщение Поделиться на других сайтах
lalex 0 Опубликовано: 2009-03-25 10:12:09 Share Опубликовано: 2009-03-25 10:12:09 новая версия собралась и запустилась нормально. ждём дальнейших результатов работы. можно получить более подробное описание опции "executersnum"? по умолчанию этот параметр равен 1. в каком случае его нужно увеличить? в какой ситуации-случае? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-25 10:15:18 Автор Share Опубликовано: 2009-03-25 10:15:18 ExecutersNum отвечает за количество запущеных "выполнителей скриптов" - процессов stg-exec. Его можно увеличить если скорость отработки скриптов не удовлетворяет. Рекомендую увеличивать, если скрипты сами по себе тормозные. Ссылка на сообщение Поделиться на других сайтах
Kucher2 122 Опубликовано: 2009-03-25 10:20:40 Share Опубликовано: 2009-03-25 10:20:40 Нашёл бяку: если в stargazer.conf сделать это: RemoveBak = yes ReadBak = yes то при попытке запуска он вываливается с этой же ошибкой. У меня FreeBSD 6.2, файлы базы СТГ-шные. Ссылка на сообщение Поделиться на других сайтах
lalex 0 Опубликовано: 2009-03-25 10:22:29 Share Опубликовано: 2009-03-25 10:22:29 этот ответ я нашел и в официальной справке. если параметр выставить - 2 или 10? на что он повлияет? каким образом выяснить в каких случаях нужно менять этот параметр и что означает "тормознутый скрипт"? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-25 10:34:32 Автор Share Опубликовано: 2009-03-25 10:34:32 Исправил, перезалил архив. Кому лень вытягивать весь архив - вот патч: p3.patch Накладывать из корня так: $ patch -p0 < p3.patch Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-25 10:36:45 Автор Share Опубликовано: 2009-03-25 10:36:45 этот ответ я нашел и в официальной справке. если параметр выставить - 2 или 10? на что он повлияет? каким образом выяснить в каких случаях нужно менять этот параметр и что означает "тормознутый скрипт"? Если выставить 2 - запустится 2 процесса stg-exec и система сможет одновременно выполнять 2 скрипта. Если выставить 10 - 10, соответственно. Выставлять в случае если тебя не удовлетворяет скорость отработки скриптов (например, не сразу включается интернет пользователями когда происходит много одновременных авторизаций). Ссылка на сообщение Поделиться на других сайтах
Super 0 Опубликовано: 2009-03-25 10:59:00 Share Опубликовано: 2009-03-25 10:59:00 Если выставить 2 - запустится 2 процесса stg-exec и система сможет одновременно выполнять 2 скрипта. Если выставить 10 - 10, соответственно.Выставлять в случае если тебя не удовлетворяет скорость отработки скриптов (например, не сразу включается интернет пользователями когда происходит много одновременных авторизаций). При установке значения 2 и больше наблюдаются проблемы с одновременным выполнением скриптов - чего-то некоторые правила iptables вообще не отрабатывают. Особенно это сказывается при старте старгейзера - не всем alwaysOnline пользователям поднимались разрешающие правила. Так и не разобрался почему. Оставил значение 1. Ссылка на сообщение Поделиться на других сайтах
lalex 0 Опубликовано: 2009-03-25 13:41:36 Share Опубликовано: 2009-03-25 13:41:36 При установке значения 2 и больше наблюдаются проблемы с одновременным выполнением скриптов - чего-то некоторые правила iptables вообще не отрабатывают. Особенно это сказывается при старте старгейзера - не всем alwaysOnline пользователям поднимались разрешающие правила. Так и не разобрался почему. Оставил значение 1. это в какой версии наблюдалось? и на какой конфигурации ПС? Ссылка на сообщение Поделиться на других сайтах
Super 0 Опубликовано: 2009-03-26 06:47:18 Share Опубликовано: 2009-03-26 06:47:18 stg-2.405, SuSe 10.2, ядро 2.6.22 - база в текстовых файлах Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-26 10:45:08 Автор Share Опубликовано: 2009-03-26 10:45:08 Да нет, конфигурация тут не при чем. Возможно дело в скриптах. Может они не могут выполняться одновременно. Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубликовано: 2009-03-26 12:12:42 Share Опубликовано: 2009-03-26 12:12:42 Появилась проблема при старте страгайзера не образатываются OnConnect для пользователей всегда онлайн после старта в конфигураторе ставлю и убираю галочку "всегда онлайн" ставлю снова - инет появляется. В логах на этот счет ничего. Подскажите что можкт быть Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-26 12:15:03 Автор Share Опубликовано: 2009-03-26 12:15:03 Именно на этой версии появилась? Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубликовано: 2009-03-26 12:24:08 Share Опубликовано: 2009-03-26 12:24:08 было и на 2,405 Ссылка на сообщение Поделиться на других сайтах
Super 0 Опубликовано: 2009-03-26 13:41:00 Share Опубликовано: 2009-03-26 13:41:00 Появилась проблема при старте страгайзера не образатываются OnConnect для пользователей всегда онлайн после старта в конфигураторе ставлю и убираю галочку "всегда онлайн" ставлю снова - инет появляется. В логах на этот счет ничего. Подскажите что можкт быть Вот, и у меня такое было, и только на пользователях "всегда онлайн", и только если stg-exec>1 Оставил stg-exec=1 и в ус не дую Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубликовано: 2009-03-26 14:11:10 Автор Share Опубликовано: 2009-03-26 14:11:10 Можна примеры скриптов на faust@stg.dp.ua? Не получилось повторить у себя, в т.ч. на ExecutersNum=2 Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубликовано: 2009-03-26 15:00:19 Share Опубликовано: 2009-03-26 15:00:19 Примеры скриптов отправил ExecutersNum=1 Ссылка на сообщение Поделиться на других сайтах
lalex 0 Опубликовано: 2009-03-26 15:10:35 Share Опубликовано: 2009-03-26 15:10:35 Примеры скриптов отправил ExecutersNum=1 а сюда можно их предоставить? для сравнения... может отыщутся общие "глючные" нюансы. Ссылка на сообщение Поделиться на других сайтах
Slava 1 Опубликовано: 2009-03-26 17:09:42 Share Опубликовано: 2009-03-26 17:09:42 а сюда можно их предоставить? для сравнения... может отыщутся общие "глючные" нюансы. Вот собственно и скрипты буду рад если укажут на возможные ошибки #OnConnect #!/bin/bash # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 DIRS=$5 DinM=( 31 28 31 30 31 30 31 31 30 31 30 31 ) D=`date '+%Y-%m-%d %H-%M-%S'` Month=${D:5:2} Day=${D:8:2} D=`date '+%Y-%m-%d %H-%M-%S'` usersconf="/stargazer/bases/users/$LOGIN/conf" userstat="/stargazer/bases/users/$LOGIN/stat" tariffs="/stargazer/bases/tariffs" #NEW_IP="/stargazer/bases/Userdata0" #IFACE="/stargazer/bases/Userdata1" NM="NETMASK" BC="BRODKAST" GW="GW" realip_key="realip" k=kbit TariffName=`cat "$usersconf" | grep "Tariff=" | cut -d"=" -f2` IP_=`cat "$usersconf" | grep "IP=" | cut -d"=" -f2` CashN=`cat "$userstat" | grep "Cash=" | cut -d"=" -f2` NEW_IP=`cat "$usersconf" | grep "Userdata0=" | cut -d"=" -f2` IFACE=`cat "$usersconf" | grep "Userdata1=" | cut -d"=" -f2` echo IFACE=$IFACE New_IP=$NEW_IP if [ ! -e "$usersconf" ]; then echo "ERROR: User file '$usersconf' not found" >> $logfile exit fi TariffName=`cat "$usersconf" | grep "Tariff=" | cut -d"=" -f2` if [ "_${TariffName#$realip_key}" != "_${TariffName}" ]; then # #ДЛЯ ТАРИФОВ С РЕАЛЬНИКОМ ifconfig $IFACE $NEW_IP netmask $NM broadcast $BC route add $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE iptables -t nat -A PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ iptables -A FORWARD -i eth0 -d $IP_ -j QUEUE iptables -A FORWARD -i eth1 -d $IP_ -j QUEUE iptables -I FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -I FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -t nat -I POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -I POSTROUTING -d $NEW_IP -s 10.0.0.0/8 -j SNAT --to-source $IP_ else # ДЛЯ ТАРИФОВ БЕЗ РЕАЛЬНИКА inet=$DIRS inet2=${inet:1:1} # echo IP=$IP_ dirs=$DIRS inet=$inet2 >> /etc/stargazer/log if [ $inet2 != "0" ]; then iptables -I FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -I FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE fi games=$DIRS games2=${games:0:1} if [ $games2 != "0" ]; then iptables -I FORWARD -s $IP_ -d x.x.x.x/x -j QUEUE iptables -I FORWARD -d $IP_ -s x.x.x.x/x -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d x.x.x.x/x -j MASQUERADE iptables -I FORWARD -s $IP_ -d x.x.x.x -j QUEUE iptables -I FORWARD -d $IP_ -s x.x.x.x -j QUEUE iptables -t nat -I POSTROUTING 1 -s $IP_ -d x.x.x.x -j MASQUERADE fi fi #OnDisconnect #!/bin/bash #LOGIN="fssc" # Login LOGIN=$1 #user IP IP=$2 #cash CASH=$3 #user ID ID=$4 DinM=( 31 28 31 30 31 30 31 31 30 31 30 31 ) D=`date '+%Y-%m-%d %H-%M-%S'` Month=${D:5:2} Day=${D:8:2} D=`date '+%Y-%m-%d %H-%M-%S'` usersconf="/stargazer/bases/users/$LOGIN/conf" userstat="/stargazer/bases/users/$LOGIN/stat" tariffs="/stargazer/bases/tariffs" NM="NETMASK" BC="BRODKAST" GW="GW" realip_key="realip" k=kbit TariffName=`cat "$usersconf" | grep "Tariff=" | cut -d"=" -f2` IP_=`cat "$usersconf" | grep "IP=" | cut -d"=" -f2` CashN=`cat "$userstat" | grep "Cash=" | cut -d"=" -f2` NEW_IP=`cat "$usersconf" | grep "Userdata0=" | cut -d"=" -f2` IFACE=`cat "$usersconf" | grep "Userdata1=" | cut -d"=" -f2` echo $IP_ if [ ! -e "$usersconf" ]; then echo "ERROR: User file '$usersconf' not found" >> $logfile exit fi TariffName=`cat "$usersconf" | grep "Tariff=" | cut -d"=" -f2` if [ "_${TariffName#$realip_key}" != "_${TariffName}" ]; then # # ДЛЯ ТАРИФОВ С РЕАЛЬНИКОМ echo realIP iptables -D FORWARD -i eth0 -d $IP_ -j QUEUE iptables -t nat -D PREROUTING -p tcp -d $NEW_IP -j DNAT --to-destination $IP_ route del $NEW_IP gw $GW netmask 0.0.0.0 metric 1 dev $IFACE ifconfig $IFACE down iptables -D FORWARD -i eth0 -d $IP_ -j QUEUE iptables -D FORWARD -i eth1 -d $IP_ -j QUEUE iptables -D FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -D FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -D POSTROUTING -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -t nat -D POSTROUTING -s $IP_ -j SNAT --to-source $NEW_IP iptables -t nat -D POSTROUTING -d $NEW_IP -s 10.0.0.0/8 -j SNAT --to-source $IP_ else # ДЛЯ ТАРИФОВ БЕЗ РЕАЛЬНИКА iptables -D FORWARD -s $IP_ ! -d 10.0.0.0/8 -j QUEUE iptables -D FORWARD -d $IP_ ! -s 10.0.0.0/8 -j QUEUE iptables -t nat -D POSTROUTING -s $IP_ -d ! 10.0.0.0/8 -j MASQUERADE iptables -D FORWARD -s $IP_ -d x.x.x.x/x -j QUEUE iptables -D FORWARD -d $IP_ -s x.x.x.x/x -j QUEUE iptables -t nat -D POSTROUTING -s $IP_ -d x.x.x.x/x -j MASQUERADE iptables -D FORWARD -s $IP_ -d x.x.x.x -j QUEUE iptables -D FORWARD -d $IP_ -s x.x.x.x -j QUEUE iptables -t nat -D POSTROUTING -s $IP_ -d x.x.x.x -j MASQUERADE iptables -D FORWARD -s x.x.x.x -d $IP_ -j DROP iptables -D FORWARD -d x.x.x.x -s $IP_ -j DROP fi Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения