Онлайн игра Адамант Адан: Хроники Средиземья
Дискуссии => Обо всем => Тема начата: Туор от 11 Сен 2014 в 08:42
-
Totilla mud client (https://github.com/tmud/tortilla/releases)
-----------------------
Tortilla - это клиент для игры в текстовые многопользовательские онлайновые игры MUD (multi users dangeons, dimension or domains games).
Клиент готов полностью. Требуется тестирование и исправление недоработок. При необходимости будут вноситься исправления и дополнения в сам клиент, но весь базовый объем функциональности уже реализован. Дальнейшее расширение клиента будет происходить только за счет плагинов.
Клиент полностью на русском языке. Системные требования: Windows XP и выше, Linux (через Wine).
Основные возможности клиента (уже работает):
У клиента есть справка, в которой можно прочитать все необходимое.
Работа с протоколом:
- Кодировки клиента win и utf8.
- Протокол сжатия MCCP.
- 256 цветов.
- Поддержка курсива, подчеркивания и мигания. Правда вместо мигания, клиент обводит нужные буквы рамкой.
- Поддержка буквы я.
Работают все основные элементы, такие, как:
- Триггеры (actions)
- Макросы (aliases)
- Горячие клавиши (hotkeys)
- Замены (subs)
- Подсветки (highlights)
- Фильтры (gags)
- Антизамены (antisubs)
- Таймеры (timers)
- Группы (groups)
Большое количество системных команд клиента (в справке).
Поддержка буфера обмена Windows.
Можно копировать содежимое окна клиента и командной строки в буфер обмена.
Возможна вставка из буфера обмена в командную строку клиента.
Есть возможность записывать логи. Логи пишутся в формате HTML.
Командная строка с большим количеством возможностей:
- Два режима работы для командой строки - с автоочисткой и без.
- Очистка командной строки по кнопке Esc.
- История команд (последние введенные команды).
- Автоподстановка команд. Можно подключить к ней историю последних введенных команд.
Работа с окнами клиента, так называемые Output-окна.
Палитра для первых 16 цветов. Можно измененить шрифт.
Поддержка колеса мыши для всех окон.
Поддержка клавиш PgUp, PgDown для главного окна.
История мада (разделение главного окна на две части с историей и текущей информацией).
Система профилей. Позволяет удобно создавать профили под разные мады и управлять ими.
Поддержка плагинов
- Есть также поддержка модулей (библиотек, т.е. общих блоков кода) для плагинов.
- Плагины можно писать на С/С++ и Lua. В принципе доступны и Delphi и другие языки.
Уже написаны следующие плагины:
- prompt (механизм блокирования повторных строк Prompt, при использовании команды #drop).
- jmc3import (импорт игровых конфигов из Jaba Mud Client 3)
- mapper (карта, в разработке пока, доступна сборка из исходников).
- Документация по разработке плагинов.
Сайт разработки тут (https://github.com/tmud/tortilla).
-
Прикольно...
А кто автор?
В планах нет добавить поддержку адановского кастом протокола (карты, группа, лоры и пр.)?
-
Автор же на гитхабе указан вроде)
Он, планирует доделать маппер и возможно сделать плагин для лора вещей, потом заняться другим проектом.
Все остальные доработки могут делать все желающие, так как код в открытом доступе.
-
Вышла версия 0.94! (https://github.com/tmud/tortilla/releases/download/0.94/tortilla_0.94.zip)
Исправлены ошибки:
- Теперь перевод строк мада в клиенте работает правильно. Где нужно, текст начинается с новой строки. Это работает благодаря поддержке мад-серверами и клиентом IAC GA маркера. Чтобы перевод строки работал правильно, нужно включить в маде режим га (игровая команда 'реж га'). Если мад не поддерживает IAC GA, то нужно задать шаблон prompt-строки (см. справку).
- Ошибка неправильной отрисовки строк мада, если у них статус мигания (рамка) и они выделены для копирования в буфер обмена.
- Неудалялись кнопки плагинов с тулбара, при их выгрузке.
Улучшения:
Была убрана стандартная строка состояния, на нее переехала командная строка (экономия места).
Добавлен в api функционал, который позволяет работать с IAC GA плагинам.
Переделан плагин prompt. Теперь у него нет настроек, так как он работает через новое api клиента (IAC GA).
Переделано окно About на более информативное, с информацией о возможностях клиента (для популяризации клиента).
Теперь, только при первом запуске клиента, на компьютере будет отображаться окно About.
-
Всем здрасте.
Знаю что сервер адана шлет данные для работы карты в клиент AMC,
а я допиливаю свой маппер к черепахе.
Интересуюсь людьми, которые могут дать информацию по тому какие данные для
карты шлет сервер. Чтобы можно было подключиться к ним. Спасибо.
-
Всем здрасте.
Знаю что сервер адана шлет данные для работы карты в клиент AMC,
а я допиливаю свой маппер к черепахе.
Интересуюсь людьми, которые могут дать информацию по тому какие данные для
карты шлет сервер. Чтобы можно было подключиться к ним. Спасибо.
Как только ты переключаешься на новый режим работы, сервер шлет абсолютно всю новую информацию (группа/мобы/лоры/карта). Поэтому тебе придется либо реализовывать все сразу, либо откидывать остальную информацию. При этом, например, обычный лор сервер слать перестает.
-
Как только ты переключаешься на новый режим работы, сервер шлет абсолютно всю новую информацию (группа/мобы/лоры/карта).
Очень хорошо. Мне бы получить инфу о новом режиме работы.
-
Как только ты переключаешься на новый режим работы, сервер шлет абсолютно всю новую информацию (группа/мобы/лоры/карта).
Очень хорошо. Мне бы получить инфу о новом режиме работы.
1. При коннекте сервер посылает клиенту запрос на использование кастомного протокола. Этот запрос состоит из 3 последовательных байт : 0xFF(IAC), 0xFB(WILL), 0x57.
2. Клиент должен ответить, что он согласен использовать кастомный протокол следующей последовательностью 3 байт: 0xFF(IAC), 0xFD(DoCode), 0x57.
3. После этого клиент начинает посылать дополнительную информацию. Начало которой определяется последовательностью из 3 байт: 0xFF(IAC), 0xFA(SB), 0x57. 4-ый байт, следующий за этими тремя определяет код сообщения. Конец определяется последовательностью 2 байт: 0xFF(IAC), 0xF0(SBE).
4. На данный момент используются следующие коды сообщений: 14 - Map, 12 - Group, 13 - RoomMobs, 10 - Lore.
5. Каждое сообщение имеет формат xml с информацией о карте/группе и т.д. Подробнее о каждом сообщении можно узнать в плагинах к AMC (http://mudclient.codeplex.com/).
-
Вобщем ldrx почти все описал.
Используется стандартный механизм расширения протокола telnet. Такой же используется в MCCP сжатии.
После Negotiate шага (1 и 2) сервер автоматически выбирает кодировку 1251 и двойную букву 'я'. Так же включается сжатие.
И еще шлется ProtocolVersionMessage с текущей версией протокола (целое число).
Теперь по карте.
Сервер шлет только ID (VROOM) текущей комнаты и больше ничего.
На сайте по адресу: http://adan.ru/files/Maps.zip (http://adan.ru/files/Maps.zip) лежит файлик с картами (типа зашифрованными) всех зон. В файле опять же xml, в котором приведены VROOM комнаты, ее название, описание и VROOM'ы соседних комнат и еще координаты где рисовать клетку (ну чтоб Layout на клиенте не делать). Файл перегенерируется (полу)автоматически при выкладывании зон.
При старте клиент проверяет не изменился ли файл (http if-modified-since), если да, то закачивает к себе.
Ну и затем по пришедшему ID текущей комнаты находит нужный файлик и рисует карту...
-
Сжатие включается не автоматически, на него тоже надо согласится (шлется стандартно IAC, WILLCODE, COMPRESSCODE). Т.е. в теории можно отказаться от сжатия.
ProtocolVersionMessage шлется тоже только с использованием кастом протокола (IAC NEGOTIATION PROTOCOLCODE).
Сервер шлет ZONE_ID и ROOM_ID.
-
Спасибо за информацию.
Буду пробовать как только дойдут руки (как использовать эту информацию от сервера адана).
Надеюсь в последнем локальном сервере все это работает, как описано (http://forum.adan.ru/index.php?topic=321.0 (http://forum.adan.ru/index.php?topic=321.0))
-
В последнем публично доступном локальном сервере может и не работать. А в чем проблема коннектиться напрямую к adan.ru?
-
В последнем публично доступном локальном сервере может и не работать. А в чем проблема коннектиться напрямую к adan.ru?
Я могу и к публичному подключиться, но тестировать свой код на боевом сервере, помойму не безопасно.
Могу и сервер порушить, не желая этого, в процессе экспериментов.
-
В последнем публично доступном локальном сервере может и не работать. А в чем проблема коннектиться напрямую к adan.ru?
Я могу и к публичному подключиться, но тестировать свой код на боевом сервере, помойму не безопасно.
Могу и сервер порушить, не желая этого, в процессе экспериментов.
Порушить сервер через телнет не дурно, расскажешь потом как ты это сделал!
-
Вышла версия 0.96
https://github.com/tmud/tortilla/releases/download/0.96/tortilla_0.96.zip (https://github.com/tmud/tortilla/releases/download/0.96/tortilla_0.96.zip)
Исправлены ошибки:
- Решена проблема разрыва строк. Требуется режим га на сервере или настроеная prompt-строка мада. Клиент старается и без режима га работать правильно, но возможны иногда сбои (разрывы).
- Ошибка некорректной стыковки плавающего окна в нижней части окна клиента (под строку команд).
- Некорректное поведение клиента при повторных подключениях/отключениях, если идет установка соединения.
- Все другие найденные ошибки и неточности в работе клиента (например: неполное соответствие api функций клиента заявленным возможностям).
- Усовершенствован плагин импорта из Jmc3.
Новые возможности:
- Написаны новые плагины: Автоподключения при разрыве, подсветка команд, графические гистограммы для здоровья, маны, энергии и опыта.
- Добавлена возможность в клиенте создавать окна-панели (помимо плавающих окон). Они создаются определенного размера и они располагаются на одной из сторон клиента. Изменять сторону расположения и размер нельзя. В данную панель (как и в плавающее окно) можно подключить свое окно и делать что хочешь, а можно рисовать и писать тексты встроенными в клиент возможностями в Lua-скрипте. Данные панели могут использоватся для некоторых плагинов, где они будут более подходящим решением.
- Расширение и развитие api клиента для работы плагинов: — добавлены функции runCommand, loadTable, saveTable, createPanel, createPcre, log, terminate. — добавлены объекты/модули: подключена стандартная библиотека math, объект props - свойства мад клиента (цвета, подключение и т.д), viewdata.find - поиск строк по регулярке, pcre - работа с регулярками прямо в скриптах, render - рисование и тексты для визуализации простых плагинов на Lua.
- Новые методы-события для плагинов: connect, disconnect - информация о подлючении/обрыве. Методы before и after переделаны на получение данных в виде таблицы (команда + параметры), чтобы не разбирать команду в плагинах.
Скрин: (http://s020.radikal.ru/i708/1503/03/506844d422cc.png) (http://www.radikal.ru)
-
Вышла версия клиента 0.98beta2. Скачать можно тут: http://tmud.github.io/ (http://tmud.github.io/).
Новые возможности:
- Дописан плагин 'statusbar' (Полоски здоровья, энергии, маны и опыта). Теперь полоска опыта рисуется на основе информации об максимуме опыта на каждом из уровней игры (команда уровни в маде). Данные уровни опыта заданы в конфиг-файлах плагина. Это позволяет правильно рисовать опыт и дсу в игре.
- Добавлен режим плавного перемещения (скролла) текста в главном окне клиента (наподобие JMC3). Данный режим включается в Общих настройках.
- Доработан диалог при первом запуске клиента. Теперь он позволяет выбрать имя первому создаваемому профилю, а также открыть справку к клиенту.
- Перемещен пункт меню с менеджером плагинов из меню Файл в меню Плагины.
- Теперь можно создавать одинаковые триггеры, но в разных группах. Добавился параметр группы в команды #unalias, #unaction и т.д.
- Изменен механизм работы триггеров. Теперь команды триггера срабатывают сразу же после строки, на которую он сработал.
- В справку добавлен раздел FAQ и добавлены некоторые самые частые вопросы. Будет дополняться новыми вопросами.
- Изменился внешний вид отображения (другие скобки) триггеров, макросов и т.д., при использовании команд #alias, #action и т.д.
- При копировании текста в буфер обмена теперь помимо кнопки Shift (чтобы начать копирование) можно нажимать правую кнопку мыши. Это сделано для владельцев ноутбуков, использующих тачпад.
В нашей группе вконтакте http://vk.com/club92727293 (http://vk.com/club92727293) вы можете задавать свои вопросы по клиенту и там вам всегда помогут с настройкой вашего конфига.
-
Вышла версия 0.98beta6. Скачать можно тут: http://tmud.github.io/
Новое, по сравнению с beta2.
- Плагин игровой панели для игры мышкой.
- Плагин для воспроизведения звука в форматах mp3, ogg, wav. Плагин умеет писать звук с микрофона.
- Плагин синтезатора голосом ( читает текст вслух с помощью движков на базе SAPI5).
- Плагин для управления несколькими экземплярами клиента.
- Плагин доп.панели статусов (аналог панели из jmc3).
- Поддержка триггеров(в том числе многострочных) с обработкой в Lua.
- Поддержка регулярных выражений в триггерах + плагин - калькулятор регулярок для их тестирования.
- Плагин bell - для воспроизведения символа '0x7'. Написан по просьбе.
- Поддержка картинок в форматах png,jpg,ico,gif,bmp в плагинах.
- Увеличины размеры буферов истории команд, истории мада.
- Исправлены все найденные ошибки.
- Плагины можно писать на Lua.
остальное см. на сайте
-
А фреймов как у АМД группы и монстров в этом клиенте нет?
-
А фреймов как у АМД группы и монстров в этом клиенте нет?
Фреймов с группами и монстрами нет. Но их можно сделать. Для этого нужен
играющий человек, которые захочет сделать такой фрейм.
Если такой человек найдется, то помощь в этом будет оказана. Если человек
не найдется, то это будет отложено на потом (в списке задач по клиенту пока другой приоритет),
т.к. для написания, повторюсь, нужен играющий человек, который сможет его протестировать и по возможности сам дописать (код простой).
Как сделать - это написать плагин на Lua, который создаст фрейм и будет рисовать туда то что нужно, например картинки монстров или просто выводит список монстров текстом. Механизм сбора данных о мобах или группе - триггер(привычный для клиента), но с обработкой в Lua.
Таким подходом в одном плагине можно объединить несколько триггеров.
Единственная сложность - это получение здоровья моба (вроде в АМД есть полоска здоровья). Тут нужно будет разбираться с протоколом для АМД, т.е. первый вариант плагина будет без полосок. Но если будет играющий заинтересованный человек в этом вопросе, то можно заняться и этим вопросом.
-
Вышла версия 0.98
Из нового (относительно beta6):
- Сделана поддержка команды #N {команды}, где N - число (макс. 100). Это повтор команд N раз. Не стоит злоупотреблять, может влиять на скорость работы клиента.
- Сделана поддержка поиска текста в окнах мад клиента. Горячая клавиша Ctrl+F (или из меню Вид/Поиск). Поиск идет без учета регистра символов.
- Доработан отладчик decoda до более менее стабильного рабочего состояния. Он стыкуется с клиентом и позволяет отлаживать плагины и модули на Lua прямо в клиенте. Отладчик находится в SDK.
- Включена опция, которая поддерживает соединение, если игрок в афк. Это должно уменьшить количество обрывов и лагов после долгих пауз в игре. Это НЕ!!! влияет на сам мад сервер в вопросе отключения игрока, если он в афк. Опция относится к сети на уровне операционной системы.
- Написаны новые плагины: лор, аффекты на персонаже, инвентарь+экипировка. Для них нужны файлы настроек. А для этого нужны играющие люди. См. группу ВК для получения обновлений для плагинов и клиента.
- Новый плагин cmdfilter. Он позволяет фильтровать игровые и системные команды от попадания их в окно клиента. Остается только результат их работы. Удобно использовать для команд, которые часто вызываются, например в триггерах или в таймерах (#help cmdfilter).
- Теперь клиент поддерживает несколько различных разрешений. Позволяет играть с одного профиля на разных компьютерах. Для каждого разрешения запоминаются местоположения окон и работающие плагины.
Удобно, например, если клиент запускается на разных компьютерах с облачного диска.
- Изменена механика работы окон настроек для триггеров, макросов и т.д. Изменение группы не изменяет группу текущего триггера, а открывает кнопки Заменить, Добавить. Это позволяет создавать одинаковые триггеры в разных группах, а также переключаться между группами, без изменения текущего триггера.
- Расширены таймеры. Теперь максимальный предел таймера увеличен до 9999.9 секунд. Если идет отсчет таймера, то по команде #timer показывается отставшееся время до срабатывания.
- Триггеры теперь срабатывают на строки по команде #output, даже без наличия подключения к маду. Удобно использовать для тестирования триггеров.
И многое другое. См. группу ВК, changelog в клиенте. http://tmud.github.io
-
Новое в 0.99, по сравнению с 0.98.
- Исправлены все найденные ошибки и недоработки.
- Добавлена команда #uptimer для перезапуска отдельного таймера сначала.
- Добавлена команда #load для загрузки профилей из командной строки клиента.
- Сворачивание клиента в трей (опция в общих настройках).
- Можно выбирать любой шрифт, а не только пропорциональный.
- Улучшен плагин автореконнекта. Он обрывает связь для переподключения, если долго нет сетевой активности.
- Улучшен плагин автопереноса. Он теперь умеет склеивать описания комнат, чтобы не возникали рваные края,
а также использовалась вся ширина окна клиента.
- Улучшен плагин спидвоков. Можно указывать русские имена и задавать комментарии.
- Улучшен плагин лора. Умеет перезаписывать существующие предметы в базе.
- При подстановке параметров %0-%9 в триггерах теперь можно использовать их часть, т.е.
можно удалять окончания. см справку #help parameters.
- Улучшен плагин status. Он теперь умеет отсчитывать время между тиками.
- И много другое. Подробнее в списке changelog.txt в архиве с клиентом.
http://tmud.github.io/
-
Вышла версия 1.0
Большое количество изменений, рекомендуется для обновления.
Улучшена совместимость клиента с MacOS и Linux. Поправлены недочеты работы клиента в Wine.
Основные изменения по сравнению с версией 0.99:
- Сабы отрабытывают теперь перед триггерами и поддерживают цвет. Однако Lua-триггеры плагинов срабатывают как и прежде, до замен.
- Триггеры срабатывают на промпт-строку.
- В горячих клавишах и подсветках появился приоритет.
- В редакторе триггеров, макросов и др. теперь можно менять приоритет одновременно у нескольких элементов,
- Добавлена команда #stop. Она предназначена для работы с триггерами (actions). Команда отменяет все остальные триггеры для данной строки (как и команда #drop), однако строка попадает в окно клиента.
- Добавлена вкладка в окно с настройками с переменными (var).
- Окно компонентов позволяет включать/отключать отдельные блоки клиента. Удобно для поиска неправильно работающих триггеров.
- Можно сбросить содержимое окна в лог-файл, можно записывать логи до всяких триггеров (как приходит от сервера).
- Добавлены команды #wlock, #wunlock - для блокировки/разблокировки автоскролла дополнительных (output) окон.
- Сделана поддержка запуска клиента из командной строки с указанием профиля для игры.
- Сделана галочка при создании/загрузке профиля для создания ярлыка на рабочем столе с указанием, что нужно загружать именно этот профиль.
Список очень большой, полный список изменений в файле changelog.txt в архиве с клиентом.
http://tmud.github.io