О локалке Граней Мира

Вначале краткий отчет о моих попытках сделать виндовые бинарники (“локалки”) Дримленда и Граней мира: не получилось.

Я консультировался с Руффиной и другими программистами этих миров, они ничем помочь мне не смогли. Большинство мад-серверов базируется на серверах с ОС Linux, чаще всего Ubuntu, и разработка идет под них, под их компиляторы, библиотеки, особенности сетевой архитектуры. Совместимость типа “этот код компилируется везде” бывает очень редко. А в случае Дрима и Граней у их команды есть свой метод, они берут обычный мад и оборачивают вокруг него обертку из своего кода со скриптовым языком Fenia. И вот эта обертка, написанная на С++ очень чувствительна к версии компилятора и у меня на Винде в cygwin не собирается или собирается с проблемами, не позволяющими маду запускаться. Кстати, метод Дрима чем-то похож на то, как из обычного (ванильного) сервера Майнкрафт делается сервер Forge или Fabric, только в случае Майнкрафта обертка делается не на уровне исходника, а на уровне бинарного кода, потому что Майн – закрытое проприетарное программное обеспечение. И если вернуться к мадам, еще существует встраивание в мад-сервер скриптового языка lua, тоже вроде по похожей схеме, как и в Дриме. Лично я как смиренный программист восьмидесятых скриптовые языки не люблю и у меня мад-сервера монолитные, и многие возможности я вношу на уровне кода ядра, то есть они hardcoded. Мне так проще, но с точки зрения правильного подхода к архитектуре это не совсем правильно.

VT-100

Как оказалось, протокол VT100 из знакомых мне клиентов реализован только в tintin++ (еще в zmud, cmud). Не реализован в tortilla, mudlet.

Для чего он может быть нужен? Ну, например для редкого мада Low Lands (Lola MUD), у которого есть оригинальный “тактический дисплей” сверху экрана и строка состояния снизу. Впрочем, при желании все это можно наверное сделать и на ANSI escape codes, позиционирование курсора есть и там.