CrazyLua Server Edition [плагин для сервера]

Здесь обсуждаются графические оболочки, боты, языковые файлы и другие дополнения к CommFort 4.
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

Yaroslav писал(а):После перезагрузки сервера нужно снова включать скрипты.
У меня сервер работает службой и подымается сам после аварий, но вот скрипты нужно включать вручную.
Сможешь поправить? Нужно, чтобы включенные скрипты включались после перезапуска плагина автоматически.
:shock: Пробовал, всё нормально сохраняется. А другие настройки плагина сохраняются?
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

CrazyVirus писал(а): :shock: Пробовал, всё нормально сохраняется. А другие настройки плагина сохраняются?
Другие настройки сохраняются. Возможно дело в том, что я ни разу не выключил его нормально после включения скрипта. Все выключения сервера если и случаются, то происходят аварийно из-за пропадания электричества.
Сейчас попробовал включить скрипт и выключить/включить плагин. Посмотрим что будет после следующей аварии.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

Yaroslav писал(а):Другие настройки сохраняются. Возможно дело в том, что я ни разу не выключил его нормально после включения скрипта. Все выключения сервера если и случаются, то происходят аварийно из-за пропадания электричества.
Сейчас попробовал включить скрипт и выключить/включить плагин. Посмотрим что будет после следующей аварии.
Запись в файл происходит сразу после запуска скрипта, т.е. от способа выключения сервера ничего не зависит.
Странно это всё. :)
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

CrazyVirus писал(а):Запись в файл происходит сразу после запуска скрипта, т.е. от способа выключения сервера ничего не зависит.
Странно это всё. :)
Проверил ещё раз — всё так же.

Как воспроизвести:

1) создать новый скрипт
2) пойти в настройки плагина и запустить его (загорится зелёный треугольник)
--- Можно пропустить шаги ---
а) остановить плагин
б) запустить плагин
--- Необязательные шаги закончились ---
3) пойти в диспетчер задач и убить процесс сервера чата (имитация аварийного отключения компьютера)

=== Проверка ===
Запустить сервер и пойти в настройки этого плагина на закладку скриптов — возле новго скрипта красный квадрат.

Сейчас сделал следующее:
Запустил скрипт и корректно остановил сервер чата.
После включения скрипт оказался запущенным.
Специально проверять не хочу, но при следующей аварии проверю. Думаю теперь будет нормально.

Выходит, что настройки сохраняются только при завершении работы сервера чата.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

Вообще, огромное спасибо за плагин. Очень полезен мне. Я теперь реализовываю плавно то, что давно хотел.

Скажи, а реально переписать интерактивные игры вроде снежков или викторины на базе плагина? Ты говорил, что какой-то затык с таймером. Я так понимаю, что если вставить sleep в одном скрипте, то пока он не проснётся остальные скрипты работать не будут? Проясни ситуацию, пожалуйста, получится ли сделать многопоточность?

И ещё очень хотелось бы какие-то настраиваемые пути, что ли. А-то я так намучился пока заставил его работать с MySQL, это просто ужас. И сейчас у меня библиотека луа лежит в папке плагина, рядом с собственно плагином, libmysql.dll лежит там, где исполняемый файл сервера (только там его определило). DBI скрипт враппера (тоже lua) лежит в папке скриптов, где, по сути, находиться не должен, так как становится возможным его запускать из интерфейса плагина, а это не нужно.
Всё это немного не логично и не прозрачно, кроме того :) а SQLite я так и не смог пока заставить работать. Он вообще выделывался как-то по-хитрому. Пытался искать файл lua51.dll в разных локациях. Скопированный в папку сервера и переименованный lua5.1.dll вроде его устроил, но там ещё были затыки какие-то :)

Посмотри на предмет таких настроек, если будет настроение.
И да, где они сохраняются вообще, эти настройки плагина?
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

Yaroslav писал(а):Проверил ещё раз — всё так же.

Как воспроизвести:

1) создать новый скрипт
2) пойти в настройки плагина и запустить его (загорится зелёный треугольник)
--- Можно пропустить шаги ---
а) остановить плагин
б) запустить плагин
--- Необязательные шаги закончились ---
3) пойти в диспетчер задач и убить процесс сервера чата (имитация аварийного отключения компьютера)

=== Проверка ===
Запустить сервер и пойти в настройки этого плагина на закладку скриптов — возле новго скрипта красный квадрат.

Сейчас сделал следующее:
Запустил скрипт и корректно остановил сервер чата.
После включения скрипт оказался запущенным.
Специально проверять не хочу, но при следующей аварии проверю. Думаю теперь будет нормально.
Воспроизвел - при следующем запуске скрипт запускается.
Yaroslav писал(а):Выходит, что настройки сохраняются только при завершении работы сервера чата.
Нет. :)
Yaroslav писал(а):Скажи, а реально переписать интерактивные игры вроде снежков или викторины на базе плагина? Ты говорил, что какой-то затык с таймером. Я так понимаю, что если вставить sleep в одном скрипте, то пока он не проснётся остальные скрипты работать не будут?
Да, пока выполняется вызов одного скрипта, другие стоят. А таймеры я не делал, может потом как-нибудь сделаю...
Yaroslav писал(а):Проясни ситуацию, пожалуйста, получится ли сделать многопоточность?
Сейчас нет...
Yaroslav писал(а):И ещё очень хотелось бы какие-то настраиваемые пути, что ли. А-то я так намучился пока заставил его работать с MySQL, это просто ужас. И сейчас у меня библиотека луа лежит в папке плагина, рядом с собственно плагином, libmysql.dll лежит там, где исполняемый файл сервера (только там его определило). DBI скрипт враппера (тоже lua) лежит в папке скриптов, где, по сути, находиться не должен, так как становится возможным его запускать из интерфейса плагина, а это не нужно.
Всё это немного не логично и не прозрачно, кроме того :) а SQLite я так и не смог пока заставить работать. Он вообще выделывался как-то по-хитрому. Пытался искать файл lua51.dll в разных локациях. Скопированный в папку сервера и переименованный lua5.1.dll вроде его устроил, но там ещё были затыки какие-то :)

Посмотри на предмет таких настроек, если будет настроение.
Посмотри package.path и package.cpath, и увидишь, где можно ложить. DLL`ки можно слаживать в папку clibs в корне сервера, .lua файлы можно в папку lua, и будет порядок. :)
Yaroslav писал(а):И да, где они сохраняются вообще, эти настройки плагина?
В общей папке Application Data\CommFort_server, т.е. там же где и настройки сервера.
MARVELtm
Сообщения: 134
Зарегистрирован: 14:14, 28.08.2008

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение MARVELtm »

от птохи подойдут скрипты ?
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

MARVELtm писал(а):от птохи подойдут скрипты ?
Частично да.
Логика подойдёт. Собыия надо переделывать. Без понимания LUA хотя бы базового ничего не выйдет.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

Ещё раз fail из-за пропадания электричества. Снова скрипт не запустился.
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

Yaroslav писал(а):Ещё раз fail из-за пропадания электричества. Снова скрипт не запустился.
Включи логирование в файл и в следующий раз посмотри, будет ли что-то в нем.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

CrazyVirus писал(а):Включи логирование в файл и в следующий раз посмотри, будет ли что-то в нем.
Удалось наконец-то проверить:

Код: Выделить всё

[29.07.2010 - 09:53:50] ошибка при загрузке скрипта UserStat.lua:

...:\serv\CommFort_server4\Plugins\Scripts\UserStat.lua:2: module 'DBI' not found:
	no field package.preload['DBI']
	no file '.\DBI.lua'
	no file 'C:\serv\CommFort_server4\lua\DBI.lua'
	no file 'C:\serv\CommFort_server4\lua\DBI\init.lua'
	no file 'C:\serv\CommFort_server4\DBI.lua'
	no file 'C:\serv\CommFort_server4\DBI\init.lua'
	no file '.\Plugins\Scripts\DBI.lua'
	no file '.\DBI.dll'
	no file '.\DBI51.dll'
	no file 'C:\serv\CommFort_server4\DBI.dll'
	no file 'C:\serv\CommFort_server4\DBI51.dll'
	no file 'C:\serv\CommFort_server4\clibs\DBI.dll'
	no file 'C:\serv\CommFort_server4\clibs\DBI51.dll'
	no file 'C:\serv\CommFort_server4\loadall.dll'
	no file 'C:\serv\CommFort_server4\clibs\loadall.dll'
	no file '.\Plugins\Scripts\DBI.dll'
	no file '.\Plugins\Scripts\clibs\DBI.dll'
	no file '.\Plugins\DBI.dll'
	no file '.\Plugins\clibs\DBI.dll'
При этом сервер стартует службой (после аварийной перезагрузки).
При запуске вручную всё работает нормально. Этот файл, на самом деле, лежит тут:

Код: Выделить всё

C:\serv\CommFort_server4\Plugins\Scripts\DBI.lua
Вызывается так:

Код: Выделить всё

require('DBI')
Полный путь вписывать ему не хотелось бы для того, чтобы не потерять гибкость. Но судя по всему в интерактивном режиме и в режиме службы система передаёт чату разный параметр «рабочая папка».
По идее один из этих должен был сработать:

Код: Выделить всё

	no file '.\Plugins\Scripts\DBI.lua'
	no file '.\DBI.lua'
Точнее срабатывает при интерактивном запуске. Но при запуске службой рабочая папка, наверное, передаётся что-то вроде %systemroot%, вместо папки, в которой установлен сервер.

Наверно проблема решится копированием файла DBI.lua в одну из тех папок, где он пытается его искать, но это всё таки костыль. Может есть идеи лучше?
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

В следующей версии сделаю добавление в package.path полного пути к папке Scripts.
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

CrazyVirus писал(а):В следующей версии сделаю добавление в package.path полного пути к папке Scripts.
А когда будет следующая версия? :)
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Аватара пользователя
CrazyVirus
Сообщения: 747
Зарегистрирован: 13:40, 26.05.2007

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение CrazyVirus »

Yaroslav писал(а):А когда будет следующая версия? :)
Возможно на днях. :)
Аватара пользователя
Yaroslav
Сообщения: 846
Зарегистрирован: 03:45, 15.12.2007
Контактная информация:

Re: CrazyLua Server Edition [плагин для сервера]

Сообщение Yaroslav »

CrazyVirus писал(а):А когда будет следующая версия? :)
Возможно на днях. :)[/quote]

Ок, буду ждать :)
Спасибо.

PS Дайош враппер для TCL! :roll:
Ну это так...
Web-интерфейс серверных логов ——> http://commfort.com/ru/forum/viewtopic.php?t=6618
Web-статистика посещаемости чата —> http://commfort.com/ru/forum/viewtopic.php?t=6546
Благодарности —> R753244967524 Z664725275810 U806184306803 ЯД:41001743355185
Закрыто