C2ME — багатопотокова генерація чанків для Minecraft
C2ME — багатопотокова генерація чанків для Minecraft
Залежності:
Завантажувач: Fabric (для NeoForge — окрема версія C2ME)
Версія Minecraft: 1.17.1 – 1.21.x і новіші
C2ME (Concurrent Chunk Management Engine) прискорює генерацію, завантаження й запис чанків. Ванільний Minecraft виконує генерацію світу переважно в один потік, тож на багатоядерному процесорі більшість ядер простоює під час дослідження нових територій. C2ME розпаралелює цю роботу на всі доступні ядра. Основний виграш — під час генерації нових чанків: обльоту карти, роботи Chunky, старту сервера на свіжому світі.
Що прискорює C2ME
Мод переписує три ділянки роботи з чанками: генерацію (worldgen), завантаження з диска й запис на диск (I/O). Усі три виконуються паралельно на кількох потоках замість одного. Наочна метрика — chunks per second (cps), кількість згенерованих чанків за секунду. Ваніла впирається в стелю близько 13–14 cps незалежно від числа ядер, бо не масштабується; C2ME зростає майже лінійно з кількістю потоків.
Заміри автора на серверному Xeon Gold 5218R (обмежений 2 ГГц), генерація з датапаком Terralith:
Потоків | C2ME, cps | Paper, cps | Ваніла, cps |
|---|---|---|---|
1 | 11.6 | 8.0 | 7.4 |
4 | 45.0 | 32.5 | 12.1 |
8 | 91.6 | 60.2 | 12.8 |
16 | 183.8 | 77.4 | 13.7 |
На 16 потоках C2ME видає близько 184 cps проти 14 у ваніли — приблизно в 13 разів швидше. Paper теж багатопоточний, але масштабується гірше й на 16 потоках зупиняється близько 77 cps.


Збереження ванільної поведінки
C2ME не змінює саму логіку генерації світу заради швидкості — структури, біоми й руди генеруються так само, як у ваніли. Але через відому недетермінованість ванільної генерації (баг MC-55596) світи з тим самим сідом можуть відрізнятися між запусками — це поведінка самої гри, а не мода.
Перед установкою зроби бекап світу. C2ME глибоко втручається в роботу з чанками, і хоча він тримає ванільний паритет, на нестандартних складаннях можливі конфлікти. Мод містить перевірку CheckedThreadLocalRandom, яка ловить моди, що некоректно працюють з внутрішнім генератором випадкових чисел, і повідомляє про них.
Конфіг
Налаштування — у файлі c2me.toml у папці config. Ключовий параметр — globalExecutorParallelism: кількість потоків, які мод задіює під генерацію. За замовчуванням значення підбирається автоматично; для максимальної швидкості обльоту його виставляють у число ядер процесора.
Сумісність
Для найкращого результату автор рекомендує ставити C2ME разом з Lithium (оптимізація ігрової логіки) і ScalableLux (багатопотоковий рушій освітлення). Датапаки генерації, які працюють на ванілі, підтримуються повністю. Кастомні генератори світу з інших модів зазвичай працюють, але можуть конфліктувати, якщо автор мода спирався на однопотокову модель генерації.
Висновок
C2ME закриває багатопотокову генерацію чанків — те, чого не роблять Lithium (ігрова логіка) і Sodium (рендер). Найбільший виграш отримують сервери й одиночні світи на процесорах з великою кількістю ядер під час освоєння нових територій або передгенерації через Chunky. На вже згенерованому світі, де чанки лише завантажуються з диска, приріст менший. Обмеження: тільки Fabric (для NeoForge — окрема збірка), повноцінна підтримка лише останнього релізу й снапшота, а старі версії отримують тільки критичні виправлення. Перед установкою бекап світу обов'язковий.
Питання й відповіді
Що дає C2ME? Прискорює генерацію, завантаження й запис чанків за рахунок кількох ядер процесора. Найпомітніше під час генерації нових територій.
Чи прискорює C2ME вже згенерований світ? Меншою мірою. Основний виграш — на генерації нових чанків. На старому світі чанки просто читаються з диска, і приріст скромніший.
З якими модами ставити C2ME? Автор рекомендує Lithium і ScalableLux. Зони дії не перетинаються: C2ME — чанки, Lithium — логіка, ScalableLux — освітлення.
Чи міняє C2ME генерацію світу? Ні. Логіка worldgen лишається ванільною. Розбіжність світів з тим самим сідом — це недетермінованість самої гри (баг MC-55596), не мода.
На яких завантажувачах працює C2ME? Для Fabric — ця версія, для NeoForge — окрема збірка C2ME. Forge-версії немає.
Встановлення
Типове встановлення займає близько 5 хвилин. Порядок однаковий; відрізняються лише лоадер і відповідна збірка.
- 1Install a mod loader (Forge, Fabric or NeoForge) that matches your Minecraft version.
- 2Download the mod file (.jar) built for that same version.
- 3Place the .jar into your .minecraft/mods folder.
- 4Launch Minecraft with the modded profile and check the mod loads in-game.











