Что я наделал

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

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. Это два чатбота, под свободными лицензиями, при наличии достаточного времени, настроения и сил из них можно сделать мад

github

Сегодня я обновил сводную страницу своих проектов на Гитхабе. Значительное число того, что я делаю, посвящено мад-тематике. Вот список всех моих репозиториев:

http://prool.github.io/

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

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

http://mud.kharkov.org/files/proolmud-static/proolmud-static.tgz

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

Вышла новая версия клиента tintin++ 2.01.4

сабж!

В моём Линуксе новая версия собралась без проблем

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

Исходники Былин очередной раз переехали. Теперь вот сюда — 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 сделана корректно

Новости статистики русских мадов

В маде Арда моего статистического бота по имени Пруль посадили в тюрьму. Из тюрьмы команда КТО не работает (показывает только меня)

UPDATE (через пару часов) А нет, из тюрьмы «кто» работает, я только что увидел список из 4 игроков, так что всё ок

Из России пишут

В России хотят ввести обязательную идентификацию игроков в онлайновых играх по номеру телефона. Это чтобы террористы и оппозиционеры не общались в игровых чатах.

По этому поводу я оставил на российском мад-форуме такой комент:

Ничто не мешает размещать игровые сервера за пределами страны. И ходить туда по VPN или даже не по VPN, а просто так.

Траффик мадов сниффится на раз, потому что он не шифрован. Я когда-то думал об этом, возможность добавить в мад-сервер и мад-клиенты ssl есть (примерно по тому же методу, что и mccp). Но я посчитал это сложным для себя и начал (и забросил) мад, работающий по ssh (я его назвал bbs-mud, исходники есть на моем Гитхабе)

Еще есть концепция простая до ужаса: на мад сервере делается логин mud с паролем mud. У пользователя mud в качестве командного интерпретатора указывается не sh, а консольный мад-клиент, например mmc или tintin++. Клиент надо обрезать так, чтобы он подключался только к одному маду — к localhost.

А если клиент не обрезать, это сервер можно еще использовать как мад-прокси для мультинга