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

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

http://mud.kharkov.org/files/proolmud-static/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 сделана корректно

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

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

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

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

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

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

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

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

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

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

Меня форкнули!

Буду краток.

Мой Virtustan MUD на Гитхабе форкнул молодой аккаунт по имени DikuMUDOmnibus, который, как я понял, собирает форки всех мадов, основанных на движке Diku. Посетив аккаунт DikuMUDOmnibus, я нашел аккаунт MUDOmnibus, который форкает вообще все мады.

Это скорее всего энтузиаст, который всё каталогизирует