Український сервер Lineage 2

працює уже більше 2 місяців

Посилання

https://gamedev.dou.ua/forums/topic/43532/

https://l2ukraine.online/

Можливо і я знайду трохи часу згадати молодість, послухати музику, від якої колись тащився, побігати знайомими ландшафтами. А ви знаєте, що на південь від міста Хайне (Гейне) болота, ну зовсім як на березі Азовського моря по дорозі на Геничеськ (ну там Сиваш і усе таке інше). Зараз там кляті москалі. На честь Лінійки у моєму MUD є шлях на імення Death Pass, а ще бродять монстри на ім’я elpy. А ще у Лінійці є dire wolf, і у Грі престолів є direwolf. Як ви бачите, я колись грав на англомовному сервері, це були чи то 3, чи то 4, чи то 5 хроніки. Ах, молодість-молодість.

MMORPG минулого століття: як створювався перший київський MUD сервер

https://dou.ua/lenta/columns/mmorpg-server/

Та же история на русском https://habr.com/ru/articles/553700/

Поднятый автором сервер с адресом home.saboteur.com.ua 4001 сейчас не работает, но у меня работает свой шард mud.kharkov.org 8000

Ссылка на исходники https://github.com/prool/fdungeon

Снова про cygwin

Я уже неоднократно писал, что мне казалось, что я нашел “змеиное масло”, то есть универсальный способ коимпиляции GNU/Linux исходников для Винды – это cygwin. Это оказалось вовсе не так и в использовании cygwin есть куча тонкостей.

1. Компилятор cygwin делает Windows executable files, но чтобы они запустились не внутри cygwin, а в шелле Виндовс или скажем в FAR, им нужны всякие dll, например cygwin1.dll

2. Но при этом в процессе отладки надо помнить, если в каталоге с exe будет лежать dll, то из Винды это запустится, а из cygwin уже нет. Для отладочных экспериментов надо удалять dll из текущего каталога.

3. Если программа работает с файлами, надо помнить, что пути внутри cygwin указываются в UNIX-формате, например bin/circle, а для запуска из среды Windows надо перекомпилировать, меняя косую черту на обратную косую. С учетом экранирования путь будет выглядеть так
“bin\\circle.exe”

Но и на этом пути у меня бывали проблемы. Лучше (проще) вызывать исполнимый файл из текущего каталога и лучше использовать не системный вызов system(), а нечто типа execl (execv).

Новости Virtustan MUD

Последнее время муд стал падать со странными сообщениями

crash here: *** buffer overflow detected ***: terminated

Я погуглил, пишут что это ошибка в модуле EPOLL, я решил его выключить. Залез в код, а он выключен, причем очень давно, когда я добавлял в код поддержку нескольких портов. Тогда надо включить, может ошибка пропадет – по-ламерски подумал я. Стал пытаться включить, не компилируется, из-за моих изменений по многопортовости. Возился, возился, бросил, подумал, что это знак перейти на свежий код.

И Виртустан перешел на свежую версию кода Былин. В результате все мои новые команды и модификации пропали, но они сохранены в старой версии кода, постепенно я их внесу.

Но зато я сделал патч до внесению протокола MSSP в свежий код Былин.
Патч вот.

Приложения.

1. Почему эти ошибки стали возникать только в последнее время? Я постоянно обновляю свой сервер, это общие правила безопасности, без этого нельзя. Но с обновлениями приходят не только новые фичи, но и новые баги. Или как другая версия, мир изменился (я чувствую это в земле, я чувствую это в воде) и появился новый тип интернет-атак с длинным запросом. А атаки в интернете постоянно развиватся, например последние дни я начал замечать в логах nginx запросы на файлы типа backup.sql (к мудам это не имеет никакого отношения, но подобных запросов раньше не было)

2. Что такое EPOLL. Работа с периферийными устройствами может быть по прерыванию или по запросу. Муды обычно работают по запросу (httpd и Майнкрафт тоже). Но есть несколько версий библиотек для этого. Первая, это старый классический poll/select, вторая EPOLL, а есть еще EPOLL2. Код Былин может унаследовал от своего отца Circle два способа – poll и EPOLL (см. в коде операторы #ifdef EPOLL). В Линуксе можно и так и так, а в cygwin и macOS компилируется тольков варианте без EPOLL.

3. Поддержка доступа к маду по нескольким портам в самом маде необязательна. Ее можно сделать снаружи мада, например, средствами iptable. Но пока Виртустан работает только на порту 3000 (хост мой стандарный, mud.kharkov.org)

И снова сборки

Вот

http://mud.kharkov.org/files/towers_win64_v2.tgz

это бинарники для 64-разрядной Виндовс первой версии мада Towers of Aladon. Это 1997 год, по сути это очень частично русифицированный ROM. Игра имеет архивное и музейное значение, я думаю.

Updated 26 jan 2023

Цікаві досліди

14 января 2023 года, Харьков, в 15 ч 38 мин пропал свет из-за российского обстрела. Российская армия сейчас придерживается такой тактики: бить по электростанциям, чтобы украинцы вымерзли от холода.

Сейчас 18 ч 23 мин. Мобильного интернета почти нет, я экспериментировал с соединением смартфона (ОС Андроид) и Макбука (смартфон в режиме раздачи вайфай, то есть точки доступа).

На смартфоне в среде termux запустил tbamud, а с Макбука подключался к нему при помощи MUD клиента tintin++. Вначале не работало из-за тайм-аутов при соединении. Таймауты вызвались отсутствием интернета, то есть отсутствием доступа к DNS и таймаутами вызова gethostbyaddr. Оказалось, авторы MUDа о похожей ситуации уже позаботились и если в конфиге указать опцию nameserver slow, то всё заработает (для редактирования конфига команда cedit). То же самое происходит и при обратной ситуации: мад-сервер tbamud на Макбуке, а tt++ на смартфоне.

Похожий случай был у меня в конце февраля. Тогда мы сбежали из Харькова от обстрелов и пару недель жили в селе Ульяновка Харьковской области. Свет там был, но мобильного интернета практически не было. Я взял с собой два ноутбука и пытался наладить внукам возможность поиграть в Майнкрафт по сети. Еще из железа я взял обычный wi-fi роутер. Я включил роутер, он начал раздавать вайфай без интернета. Я подключил к нему оба ноутбука. Ноутбуки могли пингать друг друга. Запустил на обоих Майнкрафт, java версию. На одном создал локальный мир и расшарил мир по сети. Второй ноут увидел этот мир. Увидеть-то он его увидел, но соединиться не смог. Возможно, ситуация была связана с чем-то похожим на мои эксперименты с MUD. Скорее всего при старте майнкрафты что-то пытались резольвить или получить со своего сервера.

Свет починили к часу ночу 15 января.

Вообще, из-за российских обстрелов отключения света бывают у нас частенько, поэтому хочешь не хочешь, а приходится как-то занимать себя в темноте. У меня Макбук, относительно новый, по крайней мере аккумулятор держит заряд несколько часов, часов пять так точно. Можно программировать, можно читать заранее скачанные электронные книги, можно играть в локальный MUD. В локальный Майнкрафт или Майнтест тоже можно играть, но они сильно жрут энергию, особенно Майнкрафт, написанный на джаве. Майнтест это клон Майнкрафта, написан на С++ и более экономен. Надо, кстати, подучить теорию, почему процессор под нагрузкой тратит больше энергии. Ведь и когда компьютер ничего не считает, через микросхему процессора все равно идет ток, то есть он все равно потребляет энергию.

Еще одна тонкость: при авариях с электричеством почти сразу пропадет мобильная связь. Видимо, генераторы и аккумуляторы стоят не на всех сотах или их хватает очень ненадолго. Иногда в моей квартире авосеть не ловится, а если выйти с фонариком и пройтись в темноте в сторону торгово-развлекательного центра “Украина”, то там иногда можно найти места, где ловит. Почему в темноте, потому что зима, рано темнеет. Летом будет проще, будет длинный день и будет тепло и можно будет гулять вечерами, хотя хотелось бы, чтобы к лету мы победили.