Tag: linux
Release 2.02.30 TinTin++
https://github.com/scandum/tintin/releases/tag/2.02.30
Мои результаты компиляции этой версии будут описаны в коментах
О локалке Граней Мира
Вначале краткий отчет о моих попытках сделать виндовые бинарники (“локалки”) Дримленда и Граней мира: не получилось.
Я консультировался с Руффиной и другими программистами этих миров, они ничем помочь мне не смогли. Большинство мад-серверов базируется на серверах с ОС Linux, чаще всего Ubuntu, и разработка идет под них, под их компиляторы, библиотеки, особенности сетевой архитектуры. Совместимость типа “этот код компилируется везде” бывает очень редко. А в случае Дрима и Граней у их команды есть свой метод, они берут обычный мад и оборачивают вокруг него обертку из своего кода со скриптовым языком Fenia. И вот эта обертка, написанная на С++ очень чувствительна к версии компилятора и у меня на Винде в cygwin не собирается или собирается с проблемами, не позволяющими маду запускаться. Кстати, метод Дрима чем-то похож на то, как из обычного (ванильного) сервера Майнкрафт делается сервер Forge или Fabric, только в случае Майнкрафта обертка делается не на уровне исходника, а на уровне бинарного кода, потому что Майн – закрытое проприетарное программное обеспечение. И если вернуться к мадам, еще существует встраивание в мад-сервер скриптового языка lua, тоже вроде по похожей схеме, как и в Дриме. Лично я как смиренный программист восьмидесятых скриптовые языки не люблю и у меня мад-сервера монолитные, и многие возможности я вношу на уровне кода ядра, то есть они hardcoded. Мне так проще, но с точки зрения правильного подхода к архитектуре это не совсем правильно.
Minecraft news
Пока в Украине идет война, в Швеции фирма Mojang, купленная Майкрософтом, работает и выпускает очередные версии Майнкрафта.
По этому поводу в тестовых целях я запустил у себя java версию Майнкрафта 1.19 и bedrock версию 1.18.33.02 (java версия сервера совместима с java версиями клиентов для Linux, Windows, macOS, а Bedrock это наименование клиента для мобильных платформ, таких как Android и Xbox. У них и нумерация версий немного другая, но bedrock сервер запускается на Linux VDS).
Адрес моего сервера: minecraft.kharkov.org
Откуда все это можно скачать:
Bedrock server: сообщение в Реддит, ссылка оттуда, скачанная копия
Bedrock клиент: скачанная копия, а скачано отсюда (там еще есть лаунчер TLauncher для платформы Андроид, но я его еще не тестировал. Ну и конечно есть Tlauncher в виде java версии, который является java клиентом для платформ Linux/Windows/macOS)
А java версии сервера разных версий можно скачивать с официального сайта Mojang, например вот
Статический мад
Большинство обычных пользователей сидят по Виндовс и не умеют программировать. Поэтому программы для Виндовс (в частности, мад-клиенты и мад-сервера) распространяются в виде бинарников. В Линуксе другой подход, там сборка (то есть компиляция) утилиты не исключение из правил, а вполне рутинная процедура. Поэтому мад-сервера обычно собираются на конкретном Линуксе из исходников. Но повышение популярности Линукса привело к тому, что в Линукс повалил ламер, для которого собрать что-то, это сложная и трудоемкая процедура. Да для них перейти в другой каталог командой cd это что-то из rocket science, они из экранной оболочки не выходят. Так вот, для таких нубов я сделал экспериментальную бинарную сборку своего мада, со статическими библиотеками естественно, так как откуда я знаю, какой у нуба Линукс. (Это Виндовс везде одинаковый, а Линуксы они разные).
Исходники там приложены, см. Makefile. Пришлось добавить флаг -static и убрать iconv
prool httpd
Изучая программирование сокетов в Linux (см. одно из предыдущих сообщений) ВНЕЗАПНО у меня анчал получаться свой простейший httpd (нечто типа Апача или nginx). Выложу на github чуть позже
Экспериментаторы могу в качестве эксперимента по изучению протокола http зайти при помощи любого мад-клиента (например, JMC) на любой веб-сайт, на порт 80 и дать команду
GET / HTTP/1.0
Или наоборот, зайдите на любой мад браузером, например так
или так
Программирование сокетов в Linux
И снова Былины номер ноль
Вчера я сделал новый релиз этого пакета, который нормально собирается как в Windows (cygwin), так и в Линуксах. И положил туда готовый .exe для тех, кто не умеет или не хочет сам собирать:
http://prool.kharkov.org/mud/byliny-0/
* * *
Собираем mmc под Linux
Путей из Былин пишет
проблематично чето собрать старый mmc, но нашелся форк допиленный
делал все на Mint
Linux version 3.2.0-23-generic (buildd@palmer) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu4) ) #36-Ubuntu SMP Tue Apr 10 20:41:14 UTC 2012sudo apt-get install git automake libperl-dev zlib1g-dev libncurses5-dev libncursesw5-dev
git clone https://github.com/olostan/mmc.git
cd /mmc/src
./configure
make
sudo make installмож кому поможет)
ну или расскажите как оригинальный собрать
У меня в Debian 6 получилось сразу, а в Ubuntu 12.04.4 LTS пришлось привести в чувство какую-то н.е.х. вводом команды aclocal перед make (иначе выскакивала какая-то непонятная ошибка про m4_regexp, я ее погуглил и нашел средство борьбы)
И все собралось
Текущее
Последнюю неделю-две у моего виртуального сервера (виртуализация KVM, OS Debian 6/i386), на котором был расположен муд, периодически пропадал пинг. (Ругался мониторинг от mudconnector.su, и от mudstats.com) Был бы это реальный сервер, я бы предположил, что дохнет сетевая карта. Я создал новый сервер на той же KVM-ноде, у нее с нетворкингом было всё нормально. И вот вчера, 3 сентября, примерно в 17:30 серверного (киевского) времени, я перенес работающий муд со старого виртуального сервера на новый. И все заработало стабильно! (Старый сервер чуть позже я совсем удалю, мудеры этого совсем не почувствуют).