Новое Зеркало

28 апреля 2019 года начат проект Новое Зеркало,
пока с зонами от старого Зеркала, но со свежайшим кодом
Былин (с кодом за сегодня!!!)
Он запущен на новом сервере, его адрес
newzerkalo.virtustan.tk 4000
Сразу там читайте ПОМОЩЬ НОВОЕЗЕРКАЛО
и начинайте обживать новый дивный мир

Пруль

Зеркало и macOS

В рамках проекта «Всё, что шевелится, соберу под Андроидом и Эпплом» адаптировал код Зеркала к macOS

https://github.com/prool/zerkalomud

Это получилось не так просто, как у Виртустан мада, так как код Виртустана взят из более свежего релиза Былин и он адаптирован к 64-разрядной архитектуре. А код Зеркала стар и при 32 разрядах собирается и работает без проблем, а на 64 вылетает в корку на макросах флагов. Место, где вылетало, найдено и исправлено. Это макрос GET_FLAG. Эти проблемы еще частично связаны с тем, что в macOS родной компилятор не gcc, а «богомерзкий clang»

Карты, карты, карты

Когда-то я написал генератор карт мада, работающий со стороны сервера, то есть имеющий на входе мир (файлы .wld) и делающий из него картинку. И вот сегодня ВНЕЗАПНО я решил натравить его на мир Зеркала (то есть на «НВОшную локалку», то есть старые Былины). Результаты можно посмотреть здесь. Пояснение: я натравил рисовалку на каждую зону (файл .wld) в отдельности. Вначале белым цветом рисуется эта зона, а потом желтым все остальные комнаты, доступные из белой зоны. В случае ошибок геометрии типа наползания комнаты на комнату используется красный цвет.

Исходники картопостроителя присутствуют в репозитории Виртустан мада

Примечания.

1. План статичный, то есть неинтерактивный. Может, я соберусь и сделаю интерактив и можно будет нажимать.

2. План представляет собой вид сверху. Если из комнаты есть выход вверх, то рисуется кружок, если вниз, то крестик, если оба варианта — то кружок, а на нем крестик. Мнемоника проста: как я уже говорил, план это вид сверху. Направление выхода как бы обозначено стрелой. Представьте себе нарисованную в 3D металлическую стрелу с наконечником-конусом и двумя взаимно перпендикулярными треугольными стабилизаторами сзади. Если стрела показывает направление выхода снизу вверх, то глядя сверху вы видите «лицо «стрелы, то есть конус со стороны его острия, то есть круг. А если стрела направлена сверху вниз, вы видите ее хвостовое оперение, то есть крест. Это не я придумал, такие обозначения были на картах в каком-то старом маде, кажется в RMUD

И снова об оказуаливании Зеркала

Для облегчения игры в мад Зеркало сегодня сделал полезную команду

АКЦИОТРУП

По названию понятно, она призывает ваш труп (название взято из Гарри Поттера)

Пример использования: вы ходите, ходите по зонам мада и тут кто-то или что-то вас убило.
Вы респавнитесь (оживаете) голенький в комнате ренты без вещей и оружия, нажитых непосильным трудом. Всё это осталось в вашем трупе. Что делать? Бежать голым и невооруженным к трупу? Там
опять убьют. И вот появилась команда призыва трупа

И вообще, почитывайте тамошнее вече, я там пишу о мелких изменениях

Prool fool

Prool fool (англ.) — Пруль дурак

Фигня какая-то происходит с кодировкой UTF-8. После моих экспериментов она начала глючить, я откатил к последней версии кода Зеркала с Гитхаба, все равно глючит. Я проглядел какой-то фактор. (Остальные кодировки работают без проблем) Кстати, UTF глючила и когда я собирал Зеркало на сервере blind-games.ru.

Нам потребуются самые тщательные наблюдения! (И.Азимов, «Конец Вечности»)

* * *

Дальнейшие эксперименты: при обычном запуске Зеркала UTF работает. При запуске под отладчиком нет

В Виртустан-маде UTF нормально работает в обоих случаях!!!!!111111

Memory leak in Zerkalo MUD

Проверить, при аптайме в 20 дней Зеркало устраивает memory leak, жрет память и вылетает по segmentation. Может, это из-за того, что примерно в то же время памяти нажирается и squid, а свапа нет. А может, это не связано между собой

Пока я запустил Зеркало под отладчиком, посмотрим. Хотя под отладчиком оно ведет себя немного по другому, например, начинают глючить процедуры конвертации в utf8 (нормально работающие без отладчика и нормально работающие и с и без отладчика в Виртустан-маде, а также нормально работающие в Былинах). Где-то или неинициализированная переменная или еще большая фигня, например массив налазит на массив или на другие переменные

UPDATE. Оказалось, это была проблема сервера: у виртуальной машины не было свопа и спустя 20 дней работы всю память доедал Сквид, и начинал работать Out of memory killer и Зеркало глючило. Своп сделан и всё заработало нормально, максимальный аптайм пока 41 день, но это потому, что я перезагружаю сервер при обновлениях ядра, а ядро я обновляю, когда оно обновляется в дистрибутиве

Дух мада и сеты

Сегодня в игре Зеркало MUD (telnet zerkalo.kharkov.org 4000) сделал модификацию команды ДУХМАДА. Теперь дух мада выдает не только еду, питье и вещи начального уровня, но и наборы предметов (сеты) высокого уровня. Вообще сеты это редкие наборы, которые надо добывать неделями, а то и месяцами, но Зеркало — это неофициальный шард Былин, там почти никто по сути не играет и никто не будет месяцами дротить, нарабатывая уровни, реморты и сеты. И иногда забегающие туда задроты давно просили меня сделать выдачу сетов, чтобы погулять с комфортом по высокоуровневым зонам