
CobolCraft: Minecraft на COBOL
CobolCraft (meyfa/CobolCraft)
Minecraft сервер, написанный на COBOL
Задумывались, что нужно, чтобы построить Minecraft сервер с нуля на языке программирования 60-летней давности? CobolCraft делает именно это. Это полностью функциональный Minecraft сервер на COBOL, поддерживающий Minecraft 1.21.4, и, удивительно, это работает.
Что такое CobolCraft?
CobolCraft - результат реализации Minecraft сервера не на Go, Rust или Java, а на COBOL (Common Business Oriented Language). Это звучит абсурдно, но также и真正 впечатляет.
Этот проект не шутка. CobolCraft реализует реальные функции Minecraft сервера: бесконечная генерация террена, поддержка мультиплеера с настраиваемым лимитом игроков, сохранение мировых и игровых данных, крафт (2х2 и 3х3), сущности предметов, чат, команды, ущерб от падения и возрождение. Можно подключиться стандартным Minecraft клиентом и играть законно.
Проект имеет 690 звёзд на GitHub и лицензирован под MIT, что позволяет форкнуть, изучить или внести свой вклад. Разработчик явно вложил серьёзную работу, и тот факт, что сервер работает, говорит о его навыках и неожиданной способности COBOL обрабатывать сложные системы.
Зачем это нужно?
Вопрос, который задают все. Честный ответ: потому что смогли. Но есть больше, чем это.
COBOL часто отбрасывается как «динозавр язык», но он всё ещё управляет критическими банковскими и государственными системами. Он вербоз, да, и его синтаксис feels алиен современным разработчикам, но он также невероятно стабилен и проверен временем. CobolCraft - это доказательство концепции, что COBOL может справиться с незначительными программными вызовами, даже в 2026 году. Это отдача «COBOL умер» толпе.
Для большинства игроков? Это не замена вашему любимому мультиплеерному серверу. Это образовательная любопытность, техническое достижение и увлекательное исследование того, что возможно, когда вы игнорируете общепринятую мудрость и просто строите что-то странное.
Запуск CobolCraft
Если вы хотите попробовать, у вас два пути: родной Linux или Docker.
Настройка Linux
CobolCraft ориентирован на Linux на архитектурах x86_64 или arm64. Вам понадобится:
- GnuCOBOL 3.1.2 или новее (3.2+ рекомендуется для производительности)
- make, gcc, g++, и заголовочные файлы разработки zlib
- curl (для скачивания официального Minecraft серверного jar)
- Java 21 или новее (для извлечения игровых данных из jar)
На Debian или Ubuntu, всё это относительно просто:
sudo apt-get install gnucobol make gcc g++ zlib1g-dev curl default-jre-headlessЗатем клонируйте репозиторий и соберите его:
git clone https://github.com/meyfa/CobolCraft.git
cd CobolCraft
make --jobs=$(nproc)
make runПроцесс сборки скачивает официальный Minecraft серверный jar, извлекает данные блоков и рецептов, и компилирует всё. Первый запуск создаст файл `server.properties` с настройками по умолчанию. Сервер слушает localhost:25565 по умолчанию, что означает, вы можете подключаться только с вашей машины. Чтоб сделать его доступным извне (в вашей сети, через VPN или с арендованным сервером), вам нужно отредактировать свойства или настроить сетевую конфигурацию.
Путь через Docker
Предпочитаете контейнеры? Загрузите предварительно собранное изображение:
docker pull meyfa/cobolcraft:latest
docker run --rm --interactive --tty \ --publish 25565:25565 \ --volume "$(pwd)/server.properties:/app/server.properties" \ --volume "$(pwd)/whitelist.json:/app/whitelist.json" \ --volume "$(pwd)/world:/app/world" \
meyfa/cobolcraftЭто чище, если вы не хотите устанавливать GnuCOBOL и все его зависимости локально. Объёмы позволяют сохранять конфигурацию и данные мира между запусками контейнера.
Настройка и Работающие Функции
Файл `server.properties` CobolCraft управляет основами. Вы можете установить порт сервера, имя мира, максимальное количество игроков (до 100), сообщение дня, и включить белый список, если хотите ограничить доступ.
По стороне игрового процесса, вот что стабильно работает: генерация террена и загрузка чанков действительно работают. Вы можете добывать блоки, размещать блоки, разрушать блоки, и все это использует реальные таблицы добычи Minecraft. Крафт работает в обоих 2х2 инвентарных сетках и 3х3 мастерских. Вы можете общаться, выполнять команды, подбирать предметы, хранить их в инвентаре, и взаимодействовать с определёнными блоками, как двери и дверцы.
Некоторые блоки полностью реализованы: факелы, половины, ступеньки, повернутые логи и столбы, кнопки, двери, дверцы, кровати и таблички. Более сложные блоки с несколькими состояниями или специальными взаимодействиями ещё не реализованы. Красный камень? Нет. Пистоны? Не совсем. Некоторые блоки, зависящие от ориентации, частично работают, но не ожидайте полного совпадения с vanilla Minecraft.
Физика非常 базовая. Ущерб от падения и ущерб от пустоты работают, и вы возрождаетесь правильно. Но обнаружение столкновений упрощено, и вы не получите таких же плавных механик движения, как в Java Edition. Это достаточно, чтобы играть, но вы заметите разницу.
Если вы хотите построить что-то интересное, вы можете. Если вы ожидаете запустить сервер выживания для 50 человек, добывающих Нитерит, вы будете разочарованы. Но для небольшой группы, строящей с базовыми блоками и исследующей сгенерированный мир? Абсолютно возможно.
Реальная Обсуждение: Ограничения
CobolCraft работает, но это не Spigot или Paper. Блоки с сложным поведением требуют гор массивного специализированного кода на COBOL. Многие интерактивные функции отсутствуют. Производительность на больших сборках не тестируема в масштабе. Проект честен относительно того, что поддерживает и что нет, что является освежающей честностью.
Также стоит отметить: это построено с GnuCOBOL, который компилируется в C. Это означает зависимость от зрелости GnuCOBOL и производительности основного компилятора C. Рекомендуется версия 3.2+, поскольку более ранние версии имели проблемы с производительностью. Если вы запускаете на слабой машине или планируете хостить 100 одновременных игроков, ваш результат может варьироваться.
Белый список постоянный (хранится в JSON), что приятно. Настройка проста. Но если вы найдёте баг в логике сервера, вам нужно читать COBOL, чтобы исправить это. Это не идеально, если вы не знаете COBOL, что не актуально для большинства современных разработчиков.
Когда Вы Может Использовать Это
Гenuinely?Probably не для серьёзной игры. Это новелка, но хорошо выполненная.
Где оно сияет: образование. Если вы преподаете системное программирование, дизайн языков или распределённые системы, CobolCraft - идеальный кейс-стади. Это показывает, что возможно с нестандартными инструментами, и демонстрирует, что возраст языка не равен невозможности. Это также отлично для тех, кто учит COBOL и хочет реальный проект для изучения.
Также это просто весело сказать, что вы запускали Minecraft сервер на COBOL. Это стартовая тема для любого технического митапа.
Если вы строите Minecraft хаб или творческий мир с небольшой группой и хотите что-то необычное для хостинга, это может сработать. Только управляйте ожиданиями. Придерживайтесь базовых блоков, держите низкий лимит игроков, и избегайте попыток воссоздать сложные красно-каменные конструкции. И перед тем, как вложить время, возможно, прочитайте открытые вопросы проекта на GitHub, чтобы увидеть, что сейчас сломано или запланировано.
Для всего остального есть Paper, Spigot, или облачный хостинг-провайдер, запускающий vanilla Java Edition.
Получение Больше От Вашего Сервера
Как только вы запустили сервер CobolCraft и исследуете сгенерированный мир, вы, возможно, захотите улучшить ваш опыт Minecraft в других местах. Создатель Скин для Minecraft на Minecraft.How позволяет дизайнировать кастомные игровые скины перед входом в игру. И если вы интересуетесь конкретными блоками, которые добываете или размещаете, инструмент Поиск Блоков для Minecraft - быстрый способ посмотреть свойства и рецепты крафта.
Эти инструменты не специфичны для CobolCraft, но они полезны для любого игрока Minecraft.
Боттом лайн: CobolCraft - действительно впечатляющее техническое достижение, доказывающее, что COBOL не просто реликт. Это не заменит ваш любимый мультиплеерный сервер, но стоит понять как концепция. И если вы скучаете по обычным вариантам хостинга Minecraft, это дикое эксперимент для попытки.
Lead writer at minecraft.how. Long-time Minecraft player running a small SMP server, testing every build, mod, and seed before writing about it.
Комментарии
Пока нет комментариев. Станьте первым, кто поделится своим мнением!


