1
Увлекательный мир Online IDE

В последние годы появилось довольно много online IDE, позволяющих создать свою среду разработки прямо в браузере.
Вот хорошая обзорная статья, с преимуществами и недостатками каждой системы: https://www.slant.co/topics/713/~best-cloud-ides

Идея заиметь такую среду и для дримленда мне очень понравилась. Для тех, кому лень возиться с исходниками на своей машине, поднимать виртуалку или настраивать docker — это неплохой способ быстро ознакомиться с проектом. Перебрав несколько IDE разной степени бесплатности, я остановилась на Goorm IDE. Главные преимущества, на мой взгляд:

* Редактор и IDE для C++ не лучше/не хуже чем у остальных. Полноценного online IDE для C++ с автоподсказками и рефакторингом мы вряд ли дождемся — никому это особо не надо.
* В бесплатном режиме предоставляется 1 контейнер с гигом оперативки: фактически свой мини-сервер с рутовым доступом, как из консоли браузера, так и по ssh.
* Контейнер ставится на паузу после двух часов бездействия (а не десяти минут, как в некоторых других системах).
* Хорошая интеграция с Github.
* Локальные порты (например, 9000) можно сделать доступными снаружи с помощью port forwarding, получив полноценный, доступный отовсюду муд-сервер.
* Одновременно могут работать 5 разработчиков и 3 наблюдателя, видя изменения друг друга в реальном времени.



Самым главным препятствием была, конечно же, KOI8-R кодировка у исходников. Отображались файлы верно, но любая попытка редактирования сохраняла их в UTF-8. Поэтому первым шагом был перевод исходников в UTF-8. Вместо тернистого пути перевода всей внутренней работы на новую кодировку, был выбран обходной путь: исходники хранятся в UTF-8, но компилятору задается специальный флаг, который компилирует их так, будто бы они в KOI8-R.
Опции для GCC: -finput-charset=UTF-8 -fexec-charset=KOI8-R. Для компилятора Visual C есть похожие флаги.

В остальном все оказалось довольно прямолинейно. С полной инструкцией можно ознакомиться на вики проекта: github.com/dreamland-mud/dreamland_code/wiki/Goorm-IDE

1
Требования к современному мад серверу.

Уже прошло более 20 лет после того, как первые мады увидели свет. Но на данный момент в технологическом плане они по прежнему все те же и кодовые базы по сути не менялись. За редким исключением (Сфера миров) кодовые базы — это наследники Циркуля и Rom-a, у которых в свою очередь общий наследник Diku. А кодовую базу Сферы авторы не раскрывают. Все что делалось в русском сегменте — это русификация и изменение игровой механики. Зачастую изменения делались людьми с небольшим опытом программирования, что в результате приводило к проблемам — падение сервера, пропажа игровых предметов и т. д.

Технологии ушли вперед, мады пока нет. Тут я хочу попробовать собрать требования к современному мад серверу, который хотелось бы иметь и попробовать объяснить почему.

Итак требования.

Читать дальше →