И снова мад-клиенты под Андроид 6

Как я уже писал, Mukluk суровый клиент, но использовать можно.

LensDroid и bMudclient мне сразу не очень понравились.

А вот TMO Android MUD client, хоть и объявлен как альфа, но вполне симпатичный.

UPDATE. 03-Jun-2018. Его удалили из GooglePlay

Android 6

Я приобрел себе телефон Oukitel K10000 на Андроиде 6 версии и начал его осваивать. Для мада нашел первый в списке клиент mukluk. В целом пользоваться можно.

А еще я собрал под Android мад-сервер tbamud 😉 А чо, Линукс, он и в Андроиде Линукс!

Что я наделал

ВНЕЗАПНО сделал виндовую сборку свежей версии Виртустан мада

http://mud.kharkov.org/files/vmud-win/

Виндовс-32 рулит, под ней можно сделать 32-разрядную сборку, которая будет работать и в 32- и в 64-разрядной Винде. А под 64-разрядной не получилось. Впрочем, иногда и в 32-разрядной Windows7 и свежем cygwin не все получается, там иногда выскакивает странная ошибка цигвинаchild_info_fork::abort: *cygiconv-2.dll: Loaded to different address

Еще собрал и потестировал MudCore и chatbot из пакета libtelnet. Это два чатбота, под свободными лицензиями, при наличии достаточного времени, настроения и сил из них можно сделать мад

Статический мад

Большинство обычных пользователей сидят по Виндовс и не умеют программировать. Поэтому программы для Виндовс (в частности, мад-клиенты и мад-сервера) распространяются в виде бинарников. В Линуксе другой подход, там сборка (то есть компиляция) утилиты не исключение из правил, а вполне рутинная процедура. Поэтому мад-сервера обычно собираются на конкретном Линуксе из исходников. Но повышение популярности Линукса привело к тому, что в Линукс повалил ламер, для которого собрать что-то, это сложная и трудоемкая процедура. Да для них перейти в другой каталог командой cd это что-то из rocket science, они из экранной оболочки не выходят. Так вот, для таких нубов я сделал экспериментальную бинарную сборку своего мада, со статическими библиотеками естественно, так как откуда я знаю, какой у нуба Линукс. (Это Виндовс везде одинаковый, а Линуксы они разные).

proolmud-static.tgz

Исходники там приложены, см. Makefile. Пришлось добавить флаг -static и убрать iconv

И снова о Былинах

Исходники Былин очередной раз переехали. Теперь вот сюда – https://bitbucket.org/bylins/mud. Репозиторий живой и рабочий, последний коммит сделан примерно час назад

И чтобы два раза не вставать: роясь в файлопомойке, я нашел мудмаппер с уже готовыми картами (естественно, очень устаревшими, но общее представление дающими):

http://files.mud.kharkov.org/archive/byliny/mudmapper253.rar

UPDATE. Под Убунтой 16.10 x86_64 собралось легко. Под Центосом 7 x86_64 собрать не удалось.

UPDATE2. В среде Windows 7 x86_64 cygwin вроде собралось, но потом в очень хитру корку выпадает, причем на строке main (argc, argv). Фигня какая-то. Я погуглил про эту ошибку, ничего хорошего не нагуглил. Даже пишут, что это ошибка компилятора

Немного идей

Так как у меня крутится два мада на одном сервере, то я могу несложно реализовать межмадовское взаимодействие. Из одного мада можно смотреть список, кто в онлайне в другом маде, посылать туда сообщения (межмадовский чат, жалкое односерверное подобие протоколу intermudchat). Также можно получать еще какой-нибудь информационный сервис с моего сервера, например смотреть статистику русских мадов, которая собирается на этом же сервере

О скриптах

При помощи сервиса archive.org спас текст старой, но полезной статьи Горраха о триггерах (скриптах на языке DGScripts). Несколько лет назад я ее уже спасал, но потом потерял, и вот опять

http://mud.kharkov.org/files/articles/triggers-article.html

О русификации ROM

На выходных ВНЕЗАПНО решил поразвлекаться и русифицировать ROM. В качестве примера ROM’а взял rom24-quickmud:

https://github.com/prool/rom24-quickmud

Замечания к данному релизу:

1. В отличие от Circle, где вместо if (isprint() && isascii()) можно написать даже if (1) здесь такое не проходит, так как выскакивают команды протокола telnet, которые портят пароль и первую вводимую команду (смутно вспоминаю, что с первой испорченной командой я уже сталкивался ранее и вышел тогда тупо, выведя сообщение “нажмите энтэр два раза”). Я пока игнорирую коды FF, FD, FE, но это неправильно, так как могут теряться некоторые буквы некоторых кодировок, например “большой твердый знак” в koi8-r

Update. В последней ревизии на github обработка команд telnet сделана корректно